Eddie's Ink Chip Hack
Eddie's Ink Chip Hack
Eddie's Ink Chip Hack
Please note � This page was written before chip resetters were available
for the (then) modern printers
<http://ago.mo.gov/ConsumerCorner/encyclopedia/online-shopping.htm>.
Almost everyone visiting this site will be better off buying a resetter
than trying to build one. Many people can simply use the free SSC
service utility (see �Software only solutions� below). The rare
exceptions are people who simply want to do it for fun, people who want
to see or modify the chip data and people living in countries where
resetters don't exist due to a trade embargo. I have considered pulling
these page to stop the emails coming. After a few thousand �help me�
messages I'm quite sick of them. I have other things to do - if you
don't believe me look around the rest of the site <http://www.eddiem.com/>.
I'm still getting too many emails from novices asking for help. If you
don't know basic electronics
<http://www.overstock.com/Electronics/2/store.html> find someone to help
you. I do not have time to diagnose faults by email. There is also a new
site (it is not one of mine) that may be of help.
http://www.ampoule.ru/epson/en/index.html
In part one I used a micro controller to analyze the chip signals and
reset the ink chip. Building that sort of circuit is beyond most people.
Programming the code into the micro requires a programmer (a device not
a human) and some specialist knowledge. If I were building a commercial
<http://www.consumerreports.org/cro/electronics-computers/resource-center/where-to-
buy-electronics-12-06/overview/1206_buy_ov.htm>
chip reseter (which I'm not) a micro is definitely the way to go.
But for the less technically able I've come up with this circuit.
Someone with basic soldering skills should be able to knock it together.
For printer ports with 5 volt levels the circuit looks like this.
Some chips may tolerate 5 volt and not need this, in particular 3'rd
party chip.
Bit 6 7 and 8 supply power to the inkchip, this is the upper group of
resisters and top zener.
The plug pins which are soldered together are ground.
The odd vertical resistor routes the chip data line to the +select input.
The pins in the strip on the right are
Note that the DB25 pads are not at 0.1 inch spacing and the strips on
the veriboard are - so only 4 pads are soldered and offending bit of
strips are removed.
For printer ports with 3 volts levels things are even easier.
The interface come down to one resistor. A few extra resistor could be
added to protect the port from short circuits.
Note that all solder connections are on the upper row EXPECT black which
is on the bottom.
You can see my home brew chip socket here also.
The wires are
orange = sync
white = clock
blue = data
Black = ground
Red = power.
The program...
First - copy Fred Bulback's io.dll into the directory you put my program in.
See:http://geekhideout.com/downloads/io.dll
There is lots of stuff in the debug menu to help you test the port etc �
be careful with it when a chip is attached.
If you are contemplating this project � start by running this program.
Disconnect anything you have on the printer port and run
�Debug/make clock�, this should produce a 10,000 cycle 1K clock and show
you a message when it is done. If this work it shows your computer timer
is compatible with my program (which uses queryperformancefrequency and
QueryPerformanceCounter).
There is a danger that leaving some port lines high and attaching a chip
will do bad things. I will add a reset-port command soon.
The chips have a 3 bit address/id. During the Read and Reset chip
procedures my code tries all 8 possible addresses and displays the
contents as seen in the graphic above. The first byte is the ink level,
it is zeroed to make the chip �full� ie zero ink used. Someone with time
to spare may wish to decode the rest.
That's is for now, have fun and don't let the smoke out of the components.
The bad is I've blown up several ink chips. I think the reason may be
bad contacts in the improvised chip socket I'm using or from running
them under voltage.
The good news is my printer port uses 3.3 volts signals. I first thought
is was faulty but my notebook uses 3.3V as well. This means the above
circuit is not needed and a minimalist interface consists of one
resistor (R7). I've done it and it works.
I think I've worked out the protocol for some of the other chips. The
ones I used are from a 1290. These chips have the 2 centre pins on the
row of 4 shorted out. I believe 870/875 etc also use them.
I have run the chip at 5 volts without smoke and also on my 3.3 printer
port interface.
7600/9600 chips.
I can read them but haven't tried to reset them yet, the ink level
appears to be stored in a different place to the other chip (I'm
guessing 2'nd byte).
Epson numbering is
2 4 6
1 3 5 7
The you can read and write them using the 1290 menu but don't use reset.
I am aware of quite a few programs for resetting the ink levels. Some
are free and some are not. The program
athttp://www.ssclg.com/epson.shtml should be of interest to many
visitors. I have no connection with SSC Service Utility� don't send
report files (testrep.txt) to me.
There are also problems resetting completely empty carts on some
printers. This type of software can only work because epson have left
�back doors� or service modes in the printer firmware. There is no
guarantee future printers (even future manufacturing runs of current
models) will be able to work with such software. As well as being able
to reset ink levels the above program offer manual control of the
cleaning cycles � this is something I really want to have.
December 2003,
I had hoped SSC would make this page obsolete but sadly it does not work
with my printer and several people have written to me reporting the
same. Some of the features which worked on the version 2.91 are now
broken on V3.1 � epson may well have closed the door to this type of
solution.
My program.
Beta 1.5 is online now
<http://www.eddiem.com/photo/printer/chipreset/ppchipreset.zip>
The project source code is here
<http://www.eddiem.com/photo/printer/chipreset/ppinkchipsrc.zip> - This
is written in Delphi-5.
Eddie.M.