After a new head install some of our brand new cartridges were reporting low ink and long runtime in the service report.
This got me wondering how they stored the data.
Taking the chip out I saw an EEPROM chip, and looked to read the data off it.
Its uses the DS2431 which has a great Arduino library. https://docs.arduino.cc/libraries/ds2431/
Wiring diagrams are attached.
I used the example sketch (removing the write functions) to read out 128bytes although it only uses 32.
This was the result:
49,1,F,3,0,0,1,B8
2A,3,31,0,0,7,8E,CE
0,AD,18,EE,0,C,0,0
0,0,0,0,0,0,FB,6A
49,1,F,3,0,0,1,B8
I wasn't able to work out all the encoding
-49,1,F appears to be Ink type, but I don't have more data to compare
-2A,3,31 appears to be LotNo, as this matched on ink of the same LotNo
-FB,6A may be expiry or manufacture date
All the data I was able to work out is in the sketch and prints it out in a readable manner (Consumption may need adjusting for low values)
I haven't included any write functions to prevent our engineer friends getting calls from people with hacked cartridges, but if you've followed this far you can figure it out pretty easily.
I also noticed Smoke_Jaguar has done similar work recently with the Mimaki DS2430 and had some of it removed, so hopefully this doesn't upset anyone.
I'm not a machine engineer or programmer, just someone who likes a puzzle.
This got me wondering how they stored the data.
Taking the chip out I saw an EEPROM chip, and looked to read the data off it.
Its uses the DS2431 which has a great Arduino library. https://docs.arduino.cc/libraries/ds2431/
Wiring diagrams are attached.
I used the example sketch (removing the write functions) to read out 128bytes although it only uses 32.
This was the result:
49,1,F,3,0,0,1,B8
2A,3,31,0,0,7,8E,CE
0,AD,18,EE,0,C,0,0
0,0,0,0,0,0,FB,6A
49,1,F,3,0,0,1,B8
I wasn't able to work out all the encoding
-49,1,F appears to be Ink type, but I don't have more data to compare
-2A,3,31 appears to be LotNo, as this matched on ink of the same LotNo
-FB,6A may be expiry or manufacture date
All the data I was able to work out is in the sketch and prints it out in a readable manner (Consumption may need adjusting for low values)
I haven't included any write functions to prevent our engineer friends getting calls from people with hacked cartridges, but if you've followed this far you can figure it out pretty easily.
I also noticed Smoke_Jaguar has done similar work recently with the Mimaki DS2430 and had some of it removed, so hopefully this doesn't upset anyone.
I'm not a machine engineer or programmer, just someone who likes a puzzle.