Although the printer prices have fallen hard in recent years, the average cost per page has not really changed. The most expensive parts on these modern printers are the replacement cartridges. Just a few month ago our color laser printer indicated low toner on 3 of 4 cartridges. I've heard a lot about resetting chips and so I could not resist to try it. Because these cartridges have to be as cheap as possible to manufacture they have to use "of the shelf" parts. So after disassembling one of these PCBs' from one of the cartridges I researched the part number (yes the marking wasn't removed :) ) and after checking power pins I was almost entirely sure that they use a BR24Lxxx-W IIC EEProm. Because these ICs are eeproms I should be able to rewrite them indicating full. Furthermore they use the standard I2C interface so it should be pretty easy to write some software on a 8bit µC to reset the cartridges.
With that in mind I simply wrote a small piece of software to scan all standard addresses and wait for a reply by the chip. Unfortunately I got no response at all. A quick check was made to verify the cartridge was still working... Thankfully it was. So maybe I was simply to fast for the IC while sweeping across the addresses. So I slowed it down really hard but still got nothing. Changing the pullup also hasn't affected the result in any way. So I thought maybe these ICs don't use the standard address space. And I was right after increasing the search radius I finally got a response on 0xA7. Nice! Next thing was reading back the eeprom. I really wasn't sure my code was working properly because the result was just a huge mess. But after reading a fresh cartridge back I got a different but consistent result. So last thing to do was writing to it. This was not as easy as spoken but after slowing down the writing speed I finally was able to write and read back successfully. With that done I copied the data from a fresh full cartridge to a "empty" one inserted it into the printer and a huge smile took hold. It WORKS!
Last thing I plan for the future is to make it standalone and portable. Also finishing it up with a nice 3d printed case would really be cool.
While searching for the datasheet to link it into this blog, I found this page where someone else already covered reverse engineering these cartridges. So please refer to his blog he really has described it well better than I ever could. He has got the same speed and address issues as I got so I assume my setup wasn't the limiting factor. Sometimes I really should research a lot more on the web before trying to reverse engineer something but I can't help myself... It's just way to much fun!
If you have any further questins don't hesitate to ask.
The following Link guides you to all the files I still have from the Project. This also contains a zip file with code that has been given to me from someone who has written the code in Arduino. You use this all at your own risk!
LINKIf you have any further questins don't hesitate to ask.
Chip dimensions |
Arduino clone as a cheap development platform |
Serial output from the µC |
Leider gibt es die Verlinkte Seite nicht mehr, würde mich über eine Email mit Infos freuen.
AntwortenLöschenreiner.emkes@googlemail.com
Hallo Reiner! Danke für den Hinweis. Ich sende dir gleich eine Mail mit den Sachen die ich von dem Projekt noch habe.
LöschenLG Stefan
Hi Stefan, can you share more info on how to build one of these chip reset like in the youtube video? Thanks.
AntwortenLöschenIf you know how to compile and flash code to a uC I can supply you with the source files.
LöschenYes please send me the source files to my email: lacphong03@gmail.com
LöschenAlso, it would be awesome if you can tell me what microcontroller IC or board you're using, and it will be very helpful if you can share a sketch of the circuit too. I'm still new to uC stuff. Thank you very much in advance. (I'm the Unknown user above, I just signed up for an account on the blog).
I'll send you the files soon. As far as the circuit goes: I've used a Arduino pro mini clone from china, because I had it at hand. The code however is written in plain C. Also the code is really hacked together. So you need at least some understanding of what is going on (I never got around to clean it up). The circuit uses the standard I2C pins with a 10k (4,7k would be a better choice but it's working fine with 10k) pullup on both SDA and SCL. So pretty much standard I2C. The pinout of the cartridge was if I remember correct: GND VCC SDA SCL but I'll check that on Tuesday, when I get back home. I'll also post it on my Blog because the other reference from the ESDBLOG seems to be permanently down...
LöschenHi. Could you please post teh Arduino code and the dump file for the empty toners. Thanks.
Löschen@Elekes Krisztian I can supply you with the Code (dump is in code too). Give me your Email address and I'll send you a link to the files.
LöschenI unfortunatly haven't had the time till now to verify the pinout as I'm not home but I'll do this as fast as possible I promise.
The other reference from the ESD Blog seems to be back again! Please refere to his Page for now.
Löschenhello can you send me the code please
Löschenabdelrazekazab@gmail.com
Please send me the code to the elekeskrisztian@freemail.hu e-mail address. Thanks.
AntwortenLöschenhello can you send me the code please : engmohamedsaa3d@gmail.com
AntwortenLöschenHi, I'll send you the code soon.
LöschenHi Stefan, would you mind sending me the code please? paul.bartlett@btopenworld.com
AntwortenLöschenKind Regards
Paul
Hi Paul! I've just sent you the files.
LöschenStefan
Let sent you file to nutpojan@hotmail.com
AntwortenLöschenHi, I've just sent you the mail.
LöschenStefan
Hi Stephen, I really enjoyed reading your blog. I would be most grateful if you could send me the code as well. What a great thing to play with. maybe someday we could exchange some info to get rich about as well?
AntwortenLöschenThank you. My Email is tzthewiz@gmail.com.
Thanks for the kind words! You'll receive a Email soon ;)
AntwortenLöschenStefan
Stefan thanks for the post. I'm wanting to try this out can you send me a the files? Mwong@uno.edu
AntwortenLöschenThanks
Michael
Hi Michael! I'll send you the files soon.
AntwortenLöschenStefan
Hi Stefan. Pretty cool. Does this work on all 4 cartridges? Would you be interested in selling one? I no longer have the equipment or time to build one.
AntwortenLöschenDavid
Hi David! Yes it does work on all 4 cardriges. I usually don't sell these. If you really want one send me your E-Mail and I'll contact you
LöschenHallo Sefan, I too would love to snag one from you. Willing to pay a premium. Please email me erkme73 at gmail.
LöschenThanks Stefan. My email is david2go@blueskygrowth.com
AntwortenLöschenHello Stefan,
AntwortenLöschenThis stuff is very creative! I was about to replace the existing toners with brand new cartridges, that is until I saw your video. I would be interested in getting this solution. Please contact me newtrades@outlook.com Thank you!
Hello Stefan,
AntwortenLöschenI would like to purchase the resetter that you made (the one seen in the youtube video) Could you please email me @ ulynxfan@gmail.com Thanks!
Hello Stefan,
AntwortenLöschenRead your creative idea about reseting toner. Beautiful job here. Do you mind sharing the code with me? zw.zhangwenjun@gmail.com. Thank you very much!
Hi, I will send you a mail soon!
LöschenDieser Kommentar wurde vom Autor entfernt.
AntwortenLöschenI would like to get a copy of your code too please. My email is maclaren at tulane dot edu
AntwortenLöschenHey Stefan, I'd be happy to have a look into the code as well. e23 at boun dot cr
AntwortenLöschenHello, Ed here in Columbus, OH. I was wondering if there was a youtube video available for this project, as I recently spent a lot of cash for brand new toner cartridges. Would like to refile and reflash as you have done. Thanks very much. e.newbold@protonmail.com
AntwortenLöschenHello Edward, as Fedup already wrote, I have built a few devices for other people. I can do this for you as well, or provide you the sources, so that you can build your own.
LöschenThanks
Stefan
I just wanted to report back that I Stephan shipped a unit to me in the US a couple of months ago. I was able to reset the black toner immediately (printer was indicating low toner). I held the unit up to the toner, and immediately it showed full again. I printed at least another 300 pages before the black actually started to show signs of being low. I've since added black toner (bought a 50USD kit from Amazon with all four colors) and flashed it again.
AntwortenLöschenThis thing is so impressively effective, I actually bought a second C250DN from Adorama when it went on sale (100USD) just in case this printer gets discontinued and my only one breaks.
A HUGE thank you to Stephan.
Hi stefan,
AntwortenLöschenHow can I buy a ship reset?
Patricio
Hi Patricio yes you can. Please send me a E-Mail to: svoigt15.sv@gmail.com
LöschenStefan
Hi Ricoh,
AntwortenLöschenI've just sent you an email about buying a chip reset :)
Thanks,
JC
Hi Stefan,
AntwortenLöschenPlease let me know if you sell this? My email nhvv3n@gmail.com
Thank you,
VN
Hi Stefan,
AntwortenLöschenVery Creative! Can you please send me the code as well. My email is asheem.dubey@live.com
Hi Stefan,
AntwortenLöschenI would love to buy the chip reset from you as well. My email is asheem.dubey@live.com.
Thanks,
Ash
If anybody is interested, I made my own version, that's automatically rewriting the eeprom in-place: https://photos.app.goo.gl/Z884w5TjiDb1dn1j7
AntwortenLöschenContact me: k.nikulski@gmail.com
Hallo, könntest du den Arduino-Code an diese email schicken: dasurmele@gmail.com. Vielen lieben Dank !
AntwortenLöschenBiete meinen Resetter hier an: https://cults3d.com/en/3d-model/tool/automatic-ricoh-fm24c02b-printer-toner-chip-resetter
AntwortenLöschenI'm so happy Stefan, thank you for sharing. I've dumped my new cartridges eeproms just in case. I have a Ricoh P C301w.
AntwortenLöschenHey Mariano,
Löschennice that it did work out for you as well! If you like, drop me an e-mail with the dump and i'll add them to the other stuff
Hi, I was hoping to buy one from you. Do you ship to the Philippines?
AntwortenLöschenmy email is joshyisles@gmail.com
Hi Stefan. Ich habe den Drucker Ricoh SP C250 sf. Dort dürfte das doch bestimmt auch mit deinem Code klappen. Kannst du mir ebenfalls dazu Informationen zukommen lassen? Meine Email lautet oink.2@gmx.net . Alternativ könnte man sich ja auch treffen, falls die Wege nicht zu weit sind. Ich komme etwa von 50km südlich Stuttgart.
AntwortenLöschenSorry, die Email lautet oink.2@gmx.de
LöschenHallo Riggie,
Löschenich schicke dir die Daten gegen Abend oder spätestens am Wochenende. Ich bin momentan in HH unterwegs von daher wird ein Treffen eher schwierig.
VG Stefan