I’m getting a new plotter – a Canon W8400 which is a large format inkjet printer. It has no ready available CISS kit, so if you wish to use non-original ink you have two routes: 1) disable ink check in the printer, that will cause the printer no to track ink usage (at least to the users knowledge), but will generate an annoying warning every time you print (and you need to confirm it on the printer), 2) buy one-time usage chips from china and swap chips every time you refill the ink tanks.
That looks like a challenge if I ever saw one.
Removing the chip from a used ink tank from a W6400 printer, I examined it and found the chip on it to be a well known MicroWire EEPROM – the 93S64. Searching for the datasheet and also for the Bus Pirate to read the chip yielded good results.
Again the Bus Pirate rules. Connect wires as follows:
Pin 1 – WHITE/CS
Pin 2 – PURPLE/CLK
Pin 3 – BLACK/MISO
Pin 4 – GRAY/MOSI
Pin 5 – BROWN/GND
Pin 6 – ORANGE/5V+ and connect GREEN/VPULLUP to same
3WIRE>m 1. HiZ 2. 1-WIRE 3. UART 4. I2C 5. SPI 6. 2WIRE 7. 3WIRE 8. LCD x. exit(without change) (1)>7 Set speed: 1. ~5KHz 2. ~50KHz 3. ~100KHz 4. ~400KHz (1)>1 CS: 1. CS 2. /CS *default (2)>1 Select output type: 1. Open drain (H=Hi-Z, L=GND) 2. Normal (H=3.3V, L=GND) (1)>1 Ready 3WIRE>W POWER SUPPLIES ON 3WIRE>P Pull-up resistors ON 3WIRE>[0b11000000 ^ r:128]0 CS ENABLED WRITE: 0xC0 CLOCK TICKS: 0x01 READ: 0x43 0x41 0x4E 0x4F 0x4E 0x20 0x49 0x4E 0x43 0x2E 0x14 0x31 0x50 0x4D 0x94 0x18 0x29 0x12 0x80 0x00 0x00 0x00 0x00 0x00 0x94 0x18 0x29 0x12 0x00 0x00 0x00 0x00 0x5F 0x94 0x00 0x01 0x98 0x53 0x30 0x00 0x00 0x01 0x2D 0xC1 0x00 0x00 0x5F 0x94 0x00 0x01 0x98 0x53 0x30 0x00 0x00 0x01 0x2D 0xC1 0x00 0x00 0x31 0x34 0x33 0x31 0x00 0x00 0x87 0x6D 0x00 0x01 0xF7 0xE8 0x00 0x00 0x5F 0x94 0x00 0x30 0x00 0x01 0x00 0x00 0xF5 0xE5 0x00 0x00 0x5F 0x94 0x00 0x30 0x00 0x01 0x00 0x00 0xF5 0xE5 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 CS DISABLED WRITE: 0x00 3WIRE>
That output converts to the following ASCII/DEC:
The cartridge is a PM (Photo Magenta) cart. It’s well used, and I do not know the manufacturing date or batch number.
Now I just need to figure out the rest 😉
This Post Has 10 Comments
You mentioned disabling the ink check on the w8400 – do you know how to do this? I’ve recently got hold of a W8400 and i’m really struggling to find useful information on the web. I need to disable the ink level check but i can’t find anything useful in the Main Menu or the Service Mode menu.
Can you help?
Have a Canon printer using the Canon BCI-1431 cartridges? Are you finding yourself asking, Here’s the deal… no chip resetting (auto, quick, or otherwise) instead you need to disable your printers ink status monitor to reset the cartridges after refilling. No worries, we’re here for you!
1>Once you see the message alerting you to the fact one or more cartridges are empty, you will click “OK” to continue.
2>Another message will appear saying something like, “an ink tank that was once empty is installed . Printing under this situation could damage the printer”. Click yes to continue.
3>The next message will say something similar to “Canon shall not be liable for any printer malfunction or damage caused by refilled ink tanks”. Again click yes to continue.
4>Finally, you will see a message similar to, “Press and hold the resume button for at least 5 seconds then release it. This operation will release the function for detecting the remaining level of the following ink…” Press & hold resume on the printer now.
That’s it!! Pretty much all you’re doing here is saying OK to the printer’s warnings, then press and hold the resume button.
Hope this information helps you.
I have decode the older 6-pin chips except one checksum 16-bit number that is based off the serial number/type/color. Otherwise the chip contains the cartridge picoliter left, used, picoliter initial usually 4-5 ml higher than capacity. Checksum based on 55aa – sum of record There are 2 byte sized variables I do not know but ones goes up one down from 0 to 5. Then my magenta died on the print head and gave up. There are 2 sets of duplicate records. I had a corrupt LC chip on a 1411 tank that might be my problem. But yea you can reprogram the chip to be 700ml or larger if you want, the EEPROM carries all the info for the tank.
All 16-bit words are little edian
text is ASCII and organized as 16-bit words
I will refer to everything in 16-bit words unless otherwise noted as the eeprom is read and written in 16-bit mode.
0-4 Vendor in ASCII
5 – HEX cartridge 1411, 1421, 1431, 1441, 1451
6 – Color as ASCII BK,LC,C,M,LM,Y (Single digit colors are followed by #0 not space)
7 – 8 Cartridge Serial #
9 – MSB maybe Pigment Bit $8000 = Pigment $0000 = Dye is my guess.
12 – 13 Serial # repeat
14 – 0000
15 – 16 Ink Remaining in Picoliters
17 – 18 Ink used (ink to paper)
19 MSB is a byte of Variable “A” LSB is 0
20 MSB is 0 LSB is Variable “B”
21 Checksum Words 15-20 $55aa – (Sum word 15-20)
22-28 repeat of 15-21
30-31 ASCII version of word 5 (cartridge type)
33 Checksum of Static data, it does not change, Must be correct or printer will reject. Vendor/Cartridge/Serial???
34-35 Cartridge Capacity (Decimal 330,000 $0005 $2C38 for 330ml tanks, 130,000 for 130ml 1431 tanks)
36-37 new set to Cartridge Capacity, used ink remaining
38 MSB is 0 LSB is Variable “A”
39 MSB is 0 LSB is Variable “B”
41 Checksum 36-40 ($55AA – Sum Word 36-40)
42-47 Repeat of 36-41
Remaining 16 Words are all 0000
Until someone figures out the one checksum changing the serial#, name, color of the chip cannot be created, gotta be copied. But you can refill and/or change the cartridge volume, fill and used amount with no issues. Ink Cartridge Monitoring appears to be setting the Ink Remaining to Zero, the Ink used will continue to increase even when monitoring is turned off. (You can get ink usage/yields from this) even though the old W8200 W6200 does not give you this info in the driver. I made a circuit board to replace the tank chips.. I could have just as easily replaced all the eeproms with a microcontroller, with a LCD with graph of ink available, usage per job.. etc.. with a web interface on it or LCD 🙂
From how the newer ipf’s functions.. I do not think there is going to be much change, though I am still trying to figure out what eeprom they are using.. 930 L087 is printed on the chip.. maybe that is 93c L087 I have not found a chip with those listings… but I’d be glad to figure it out, as I just got a ipf8000s to replace my W8200, and I am too poor to buy new cartridges/heads 🙂 so I need to reprogram!
I’m using a W8400 too and have BCI-1421 cartridges do I use the same instructions listed above to bypass the low ink level error? On the screen on the printer it says “Error E02523 Not enough ink”
Hi! Does anybody have a dump of all W8400 PG cartridges? I’d like to put the dumps on my used originals for reutilisation… Thx
Hi! What about the maintenance cartridge? How to reset it when it?
You can reset it from the printers service menu. Google it, I can’t remember the procedure.
I haven’t gotten around to that. I think you can enable “No ink limit check” in service menu, but I don’t know yet.
Has anyone figured out the checksum to change the serial number yet?