The project

This project follows on from the excellent work by ScotSEA and his Arduino reset program (see http://www.instructables.com/id/CatGenie-Resetting-a-SaniSolution-Cartridge/ ).  I had never taken my Catgenie apart as Scott did, but had built a small contact board instead.  I had previous updated Scott's program to so that it output some debugging output to the computer during the reset, as the process had never been very smooth.

Today I got round to testing some more permanent solutions.  I tried :
 - Making the Arduino pretend to be a cartridge .  This didn't work for some reason - the controller never seems to receive any I2C commands from the Catgenie.
 - Replacing the cartridge with a 24LC00 EEPROM .  While I could read from and write to the chip using the Arduino, the Catgenie didn't like it.

The solution I ended up with is a modified SaniSolution cartridge that contains an Arduino, some indicator LEDs and a button to reset the cartridge.  It is powered by the Catgenie and so is fully self contained.

Required materials

You will need :
  - An Arduino board.  I am using the Duemilanove, but the newer Uno or one of the smaller cheaper boards should be fine
  - 2 x LEDs (eg. one red, one green)
  - 1 x press switch/button
  - 1 x 10k resistor
  - A small piece of stripboard to wire up the LEDs and button
  - Some terminal pins
  - A soldering iron and solder
  - Some thin wire (I used some un-twisted Cat-5)
  - A very small drill bit (I used 1.0mm), and a drill

Step 1: Preparing the cartridge


The Catgenie communicates with the chip on the cartridge through the exposed contacts.  For the more technical minded, the Catgenie acts as an I2C bus master (providing a clock signal), and the cartridge acts as a slave.  We will add our Arduino as a second slave on that same bus.

To facilitate this, we will solder some wires to the contacts, and feed these inside the cartridge to be connected to our circuit.

Drilling holes

It may help to remove the cartridge label as shown in the picture above.  There are four I/O connections on the cartridge, each exposed through two of the connector terminals.  Counting from the top :
   Terminal              Usage
    1 and 2                  +5V
    3                              No connection
    4 and 5                  Ground
    6                             No connection
    7 and 8                  SCL (the I2C Clock line)
    9                              No connection
    10 and 11             SDA (the I2C Data line)

Drill 4 holes in the plastic part of the cartridge (be careful not to drill the circuit board), between terminals 1/2, 4/5, 7/8 and 10/11.

Connecting the wires

Find two piece of twisted-pair cable and strip a few millimetres of insulator from the ends.

Push the stripped conductors of one pair through the top two holes, from the inside side of the cartridge.  Do the same with the second pair and the bottom two holes.  Lay the conductors flat on the terminals, and then solder them to the terminals, as shown in the pictures.

Hopefully you can do better than my child-like attempt at soldering!

Make a note

Write down the colours of the wires that you soldered to each connector - you'll need this later in the process.

<p>I am looking for some one who can make me one of these things. i have 2 extra cartridges. the instructions are great its just me....i dont get this sort of thing at all. can i please buy one of these devices? gene32@comcast.net</p>
<p>Just a simple but fundamental question: does this project work with the CatGenie 120 or its only for the old CG60?</p><p>Thanx for the answer.</p>
<p>I would bet by know you have gotten your answer, but in case you haven't this only works for the CG60. CG corporate got wise to this and changed to a RFID chip. Spoiled everyone's fun. </p>
<p>I am just overwhelmed reading this! Could someone just make one for my cat genie 120 and I can pay through paypal?</p>
<p>I would bet by now you have your answer, but in case you haven't this only works for the CG60. CG corporate got wise to this and changed to an RFID chip. Spoiled everyone's fun. </p>
<p>I NEED HELP, PLEASE! Lol, man oh man, Ive been trying code after code in my Arduino, and trying different setups. Can I exchange emails with someone and get some help finishing this project?</p><p>Thank you!</p><p>AdventureJohnson at gmail.com</p>
I spent a few hours troubleshooting my cartridge using this tutorial. No matter what I did, as soon as I pressed the button, both LEDs would light up and stay solid. No debugging info in the console. I verified that it was failing on the Wire.endTransmission(); line. After banging my head against the wall, I finally noticed that the contacts on the cartridge chip are labeled differently in the very first picture of the tutorial and the &quot;soldered&quot; picture. In the soldered picture, the contacts are labeled with +5 volt at the top, then GND, then SCL, and SDA at the bottom. In the first picture, the labels are reversed, with +5 volt at the bottom, then GND, then SCL, and SDA at the top. When I rewired the insides according to the labels in the first picture, the cartridge worked like a charm. The correct debugging info showed up in the console and the LEDs worked correctly. So if anyone is having the same problems I had, change the wiring according to the labels in the first picture.
Great stuff man. I was already a user of the previous resetting system. I adapted your proposal to my previous settings. Now, &Atilde; have an arduino on the side of my catgenie. It is directly linked to the cartridge holder connectors. I also modified your script in order for the arduino to reset automatically the cartridge frequently (no more button). Indeed, it is easy to notice when your cartridge is empty ... it smells lot more and no bubble during washing process :) Thus, solution is (as far as the cartridge is not really empty) dispensed and no more beeps ... love it ! <br> <br>Thx again for this great tuto
I was thinking of the same thing. I was going to change the program to emmulate a button push when it got down to 1. Can you post your sketch that you used?
Looks wonderful. Do you have a solution to the Cat Genie 120? I understand they have some new type of chip in it to prevent this type of re-setter from working. <br /> <br />By the way I have stopped refilling the cartridges because I found that just using a spray bottle with some Simple Green or other favorite cleaner during the cleaning cycle is much easier than filling the cartridge. Even running it with no cleaning solution is far better than my old dirty litter box.
i have the cg 60 can any one please help me i needa reset i lost my job please help im in need heidi
I have been resetting my cartridges externally for awhile now and want to use a built in design like this. Using the other design I had the 5+, ground, clock, and data lines reversed on the cartridge. Basically the same as this one but going from bottom to top. Can I get some clarification? (Just making sure before I start)

About This Instructable


9 favorites


More by The Snake: CatGenie: A smart, resettable SaniSolution cartridge
Add instructable to: