3 Simple Ways to
Share What You Make

With Instructables you can share what you make with the world — and tap into an ever-growing community of creative experts.

PhotosPhotos

Share one or more photos of a project, recipe, or whatever you've made, quickly and easily.

Step by StepStep-By-Step

Share your step-by-step photos with text instructions of what you made so others can do it too!

VideoVideo

Share your how-to video. You'll need your embed code from a video site such as YouTube.

CatGenie: Resetting a SaniSolution Cartridge

CatGenie: Resetting a SaniSolution Cartridge
Some Background:
I have two CatGenies, both of which take a proprietary cartridge that are good for sixty cycles. The CatGenie will not run without a non-empty cartridge installed. In my home, each unit runs four times a day (I have six cats), so a cartridge lasts only fifteen days. Each cartridge is about fifteen bucks. For those of you following along without benefit of a calculator, that totals sixty bucks a month in cartridges.

Environmentally, four cartridges per month equals a lot of foil, plastic and little circuit boards in the landfill - and I really don't see how CatGenie could sell refills without totally redesigning the cartridge.

Proposed Solution:
Adding new solution to an empty cartridge is not that complicated (see my other instructable), but it isn't really helpful because the cartridge has a microchip on it that acts as a counter. When the counter reaches zero, the cartridge is trash. This instructable will demonstrate how to reset the counter on the cartridge to "full" - allowing you to drop it back into the unit and rock on.

NOTE:
This instructable does cover resetting but does not cover refilling the solution in the cartridge; it assumes you have done so already. If you need help with the refilling process, please see my other instructable.
 
Remove these adsRemove these ads by Signing Up
 

Step 1Disclaimers, Warnings, Materials And Safety

Disclaimer:
It should be noted that I am in no way affiliated with CatGenie or PetNovations LTD. This instructable is (obviously) not approved or endorsed by PetNovations LTD. CatGenie is a registered trademark of PetNovations LTD.

Should you break or damage your CatGenie, your CatGenie SaniSolution cartridge, an Arduino, your computer, sprain your thumb get divorced or whatever - you follow these instructions at your own risk and I assume no liability for what you do or what happens to you. You're a big person. Caveat Emptor.

Warning:
By following this instructable you may in some way void your CatGenie warranty... but as long as you don't send back the cartridge with non-CatGenie cleanser in it, I don't see how they would know.

Safety:
There really aren't any safety concerns I can think of beyond common sense. If common sense is an uncommon virtue for you, maybe you should find someone to help you. :-) If not, then rock on!

Materials:
  • an Arduino microprocessor (or clone thereof)**
  • some breadboarding wires and an LED (any color)
  • a computer with which to program said Arduino
  • a "dead" SaniSolution cartridge
  • a CatGenie you're willing to disassemble and put back together.***

**actually, any microprocessor that communicates via I2C (aka "Two Wire) protocol will suffice, but the Arduino is what I have available and one with which I am familiar. Programming a PIC controller or whatever is on you.

***unless you're willing to fabricate your own cartridge holder. You're on your own there.
« Previous StepDownload PDFView All StepsNext Step »
119 comments
1-40 of 119next »
Apr 6, 2011. 2:04 PMpolemos says:
Does it work with CatGenie 120 cartridges?
Sep 5, 2011. 9:34 AMweddlerr says:
Its called the "Cartridge Genius"
Sep 5, 2011. 9:31 AMweddlerr says:
There is a device on the market that works with the 120 now. Here is a link to the forum that its posted on. http://www.litterbox-central.com/litter-box/catgenie/topic3601.html#p20848
Aug 5, 2011. 3:48 PMcd11 says:
In one of the previous strings someone mentioned that you could get the cartridge 're-setter' already made but the people selling them had to go underground due to law suit threats by Cat Genie. How does a person find someone selling these? I read the string about how to do it yourself and it is waaaaaaay beyond me. If someone has information I can provide my email. thank you.
Jun 11, 2011. 12:32 PMJayefuu says:
Nice ible! Your humour in your writing kept me reading all the way to the end :D A cute picture of cats prowling around the CatGenie (after cleaning not before!) would probably make this front page worthy! It's very well written and probably something a lot of people would thank you for!
May 25, 2011. 9:54 AMdrugrecognition says:
Idid it! I did it! I am not a computer geek at all but I can follow instructions. Bought the board, hooked up as described and it worked. Thank you all!! Especially the author of this thread.
May 10, 2011. 4:46 PMThe Snake says:
Hi I've just uploaded a new Instructable that builds on this one. Take a look at http://www.instructables.com/id/CatGenie-A-smart-resettable-SaniSolution-cartrid/. There's a new version of the code and some other enhancements.
May 8, 2011. 8:33 PMExpressZero says:
Use the below code when programming your Arduino. Upon powering up, the LED will remain lit. When you apply your board to the contacts on the cartridge, it will flash on and off several times, and you know it will have worked.

#include
#define CG (B1010000)
boolean resetSuccess = false;
int isReset = 13;
int byteArray []= {01, 01, 01, 60, 60, 60, 60, 60, 60, 8, 8, 8, 33, 33, 33, 255};
void setup()
{
pinMode(isReset, OUTPUT);
digitalWrite(isReset, LOW);
if (isReset == HIGH)
isReset = LOW;
Wire.begin(); // join i2c bus (address optional for master)
}
void loop()
{
if (resetSuccess)
{
delay (2000); // our work is done - pause for a while
resetSuccess = false;
} else {
resetCartridge();
resetSuccess = verifyCartridge();
digitalWrite(isReset, resetSuccess);
}
}
void resetCartridge()
{
for (int i=3; i < sizeof(byteArray)/2; i++)
{
Wire.beginTransmission(CG);
Wire.send(i);
Wire.send(byteArray[i]);
Wire.endTransmission();
delay(4);
}
}
void movePointerTo(int deviceAddr, int memoryAddr)
{
Wire.beginTransmission(deviceAddr);
Wire.send(memoryAddr);
Wire.endTransmission();
}
boolean verifyCartridge()
{
boolean success = true;
movePointerTo(CG, 3);
Wire.requestFrom(CG, 3);
while (Wire.available())
{
if (Wire.receive() == 60 && success == true)
{
digitalWrite(isReset, HIGH); // sets the LED on
delay(50); // waits for a second
digitalWrite(isReset, LOW); // sets the LED off
delay(50); // waits for a second
digitalWrite(isReset, HIGH); // sets the LED on
delay(50); // waits for a second
digitalWrite(isReset, LOW); // sets the LED off
delay(50); // waits for a second
digitalWrite(isReset, HIGH); // sets the LED on
delay(50); // waits for a second
digitalWrite(isReset, LOW); // sets the LED off
delay(50); // waits for a second
digitalWrite(isReset, HIGH); // sets the LED on
delay(50); // waits for a second
digitalWrite(isReset, LOW); // sets the LED off
delay(50); // waits for a second

// looking good so far
} else {
success = false;
}
}
return success;
}
Jan 14, 2011. 7:16 PMsonar1971 says:
I keep getting this when i try uploading the sketch:
undefined reference to setup.

Anyone have any ideas??
Jan 13, 2011. 4:40 PMsagus says:
Okay, I'm about to put my head through a wall with this one. :(

I'm using the modified code posted in the first comment, and everything LOOKS like it's going to go through fine, but when I put a catridge in... nothing. No light, nada. I know other people have mentioned the same result but the reset worked... however, when I go and plop the cartridge into my catgenie, the reset never went through. Tried it with 3 carts, all to the same result.

I'm using a Mega2560, but the code looks pretty standard, and all the pins are right where they belong. This is just baffling to me, but I will be damned if I have to shell out money for more of those damned cartridges. :) Any idea what my issue may be?
Dec 2, 2010. 12:02 PMcandyann says:
I would pay for one of these as I have no hacker smarts. Please email candyann@telus.net
Thanks.
Sep 17, 2010. 8:40 PMcatbox120 says:
The 120 Cartridge (clear) do not work within the original CatGenie, which only uses the 60 Cartridge (green) The 60 Cartridge do not work within the CatGenie 120.
Nov 25, 2008. 10:27 PMDoctorhash says:
After reading through allot of the blogs it sounds like to me that the cartridge is using a RC charge timer to disable the cartridge. They do this in the auto industry to tell the computer the engine is still in its break time. After so many hours of charging the cap through a resistor the computer triggers on a set voltage setting a bit in the computer and then computer allows the engine to run at full power and acceleration limits. I read in one of the blogs that a gentleman shorted the two center contacts on the cat genie and he could constantly refill the cartridges. While another Gentleman tried this after the cartridge had been disabled and it would not work. I think what happened is the gentleman it worked for did this while the cartridge was new, shorting the blue contact to ground never gives the capacitor a chance to charge. But if you do it after the cartridge reaches 60 cycles you have to reset the EEprom which gets set when the cat genie reaches 60 cycles. So what I am saying is if you short the two contact pins (4 pins) in the center before the cartridge is disabled the cat genie never triggers on the RC time constant voltage and the EEprom never gets set. What keyed me in on this is you are using the analog voltage pins, why the analog voltage pins. If the cat genie is also using analog voltage I/O pins which are different from Digital I/O pins then there has to be a reason. Let me know what you think. I have a cat genie with about 8 wash cycles on it and a new cartridge. I am going to measure the voltage on those pins with a DMM to see if there is a difference between the two cartridges. If there is I will get back to you and let you know.
Jun 23, 2010. 12:22 AMnelu57 says:
Hello. Who is gentleman. Write address of bloog where he said that he had made changes to reset. Thanks.
Jan 14, 2009. 3:22 PMsteve3rj says:
Hey doc, hope you get back soon. Since there are 11 pins on the cartridge and four on the unit is it easier to short the unit pins or the cartridge? If on the cartridge which of the 11 should be shorted together? Do not want to cause harm to the unit by shorting all of the wrong pins as my GF would NOT be happy with me and of course I would end up paying for a new board!!! Thanks, Steve
Jan 15, 2009. 7:34 PMDoctorhash says:
Steve, The pins maybe reversed from right to left rather than the way I stated left to right. Just follow Scotts instructions and you will be OK.
Jan 15, 2009. 7:19 PMDoctorhash says:
Hi, well the contacts are as follows from left to right 11,10(Skip 9) 8,7 (Skip 6) 5,4 (Skip 3) 2,1. The two pin line up like (1,2) are the same signal, why they used an 8 pin format for a two wire communications set up is anyones guess? (4 wire actually including +3.3v and Gnd) Probably did it to try and confuse everyone and make it look harder to mod than it really is. I don't suggest Shorting them on the cartridge as it may interfere with the mechanical fit or damage the contacts. Actually I'm pretty sure the pins on the cartridge are already shorted internally so all you really need to do is make contact with one of the contacts in each of the paired up sets. I used contacts from a AA wall type battery charger (Non spring type), the contacts on it were just the right width to contact both pins and long enough to glue to my home made sleeve. The skipped pins (9,6 and 3)are not connected to anything so if one of your contacts touches it and the adjacent pin does not your in the clear. At worst you ruin the cartridge or burn out the analog ports on the arduino processor board. Thats half the fun of it though, then you get to try again. Just follow Scotts instruction to the letter and you will be ok. Also the program does need a mod, that "While wire available" statement needs to be taken out. If the cartridge is removed the while sequence can't run and the light can never be turned off. The program is ok the way it is now, it will work just turn it on and press the reset button while connected to the cartridge. Have fun?
Jan 11, 2009. 8:35 PMjace26 says:
Hey doc, any luck with shorting the cap?
Jan 14, 2009. 6:10 PMDoctorhash says:
No it did not work. Theb arduino does the job well though. I don't know what the guy who did this had but he claimed it worked. Definitely was not configured like the current cat genie what ever he had or even if it ever really worked? No capacitor.
Apr 19, 2010. 11:56 AMcompmrklein says:
Has anyone found the hack for the new 120? or a way to by pass or send new firmware to unit ?

or better yet is there a way to make the old 60 do what the new 120 does?

thanks
Aug 11, 2009. 4:13 PMThe Snake says:
Great work!

I've made a few mods to the code which :
- Flash the LED on for 5 seconds at startup, to show the program is working
- Correctly lights and blanks the LED on a successful cartridge reset. Previously it was always on.

You should remove the cartridge during the time that the "reset OK" light is on (2 seconds).

This worked well on my Duemilanove.

For some reason they don't allow code to be pasted into comments - new code is available at http://www.poptart.org/catgenie.pde
Apr 16, 2010. 5:12 PMcompmrklein says:
is there any way to make this unit set for 255 cycles? if so what do i need to change on the program
thanks
Apr 17, 2010. 4:14 AMThe Snake says:
It is byteArray[3] that holds the number of uses to be written to the cartridge, so that's the 4th number in the array.

You can try changing that to a higher number, though beware that the CatGenie might not like it (haven't tried myself as I like to be reminded when the carts are getting empty).

If it doesn't work, just change it back to 60 and re-flash.


J>

Sep 16, 2009. 4:24 PMtmamayek says:
Every time I do this, the light continually blinks after I put the cartridge in the holder.
Sep 4, 2009. 11:25 PMwozzwinkl says:
Maybe I'm doing this wrong- When I use your program on my Duemilanove, it loads fine and when I reset the board it turns the light on for 5 seconds, then shuts it off. That's it until I reset it again. If I connect the cartridge after the light goes out, still nothing. I don't get the "reset OK" light, at all. And none of this seems to reset the cartridges, regardless of the LED lighting or not. Is the proper sequence turn on board, wait for light to go out, connect cartridge, wait for "reset OK" light, remove cartridge while light is on? How important is it that this all be done exactly right? I have successfully reset all 5 of my cartridges twice before, with the older version of the resetting program. However, I have had some weird issues lately with my cartridges not wanting to work after resetting, or working sporadically. The CG was complaining that the cartridge was empty (it was full), so I reset it and the CG ran a cycle, then started complaining again... Is it possible that I have damaged the chips on the cartridges? I'm just having a really hard time knowing what is going wrong, and I'd like to be sure I'm doing as many things right as possible. Thanks!
Sep 12, 2009. 12:07 PMwozzwinkl says:
UPDATE- I bought new cartridges, and they fixed it. I think I definitely managed to "pop" my chips somehow... I'm still interested in the proper sequence, etc, though. Please, help me not pop my cartridges again!
Aug 22, 2009. 11:45 AMDMBillies says:
That link to the program appears to be broken (for me at least). Can you re-post a new one please?
Aug 24, 2009. 2:10 AMThe Snake says:
Hi... think there was a network problem at the time. Can you try again now? Seems OK for me.
Aug 24, 2009. 9:25 AMDMBillies says:
Yes, it must have been a network problem because it is working fine now. Thanks a lot for the work on the updated code!
Aug 15, 2009. 6:23 PMkji716 says:
WORKS FINE...! thanks!
Mar 1, 2010. 9:31 AMmamalang says:
 Hey, I got the first step down!  Just want to thank xxy123 for the new code link...worked like a charm!
Mar 1, 2010. 9:07 AMmamalang says:
 Help!  I am a total novice at this, but hate paying out the wazoo for these cartridges.  I couldn't find the Diecimila, but bought the Duemilenove.  I encountered a problem on the first step (probably 'cause I have no idea what I'm doing): loading the sketch into my Arduino.  I copied and pasted, but it said "error compiling" and gave some details which I don't understand.  Can anyone help me?


Aug 4, 2009. 12:29 PMhandysmurf says:
Yes!! it worked. (Smurfy hugs Scott)(relax I'm a girl ;P) Thanks so much Scott. Folks this does work. I made a "dock" out of um ... one of those proprietary DVD mailers. It is a little more difficult to get a good connection that way but just keep trying. Also, follow the directions for installing the Arduino ... If you do not install the arduino it will not upload the sketch. Yes if all else fails ... follow the directions, which I just learned again the hard way. I was unable to find the diecimila ... I used the Duemilanove. I too ended up with a stuck on LED. I would love to have it light up like planned to indicate success. I did insert the other posters code to get the light to go off, now it flashes when loading the program. I will be looking into building a dock out of acrylic and using real contacts instead of just bent wire. Will update on that. I just reaaaaaaly don't like the idea of dismantling the CG ... even though I'm confident I can do it with no I'll effects. Gotta be easier than replacing head gaskets or a transmission.
Feb 1, 2010. 7:11 AMsharla95 says:
I absolutely love the fact you did this on your own.  I also own a CG and very disgusted in the price of new cartridges.  With cut backs I have to do something to improvise.  I have Sphynx cats and they can't stand "dirty".  I am a very mechanically minded person and love new projects, but when it comes to certain "electonical" projects I feel inadequate.  I can tear  downand rebuild a computer-no problem......but an arduino-  back to the dictionary for me.  What is the most important thing I need to know before getting into this project? or to make an "arduino"  you can e-mail me directly.  sharla8@cox.net  I live in Fredericksburg, VA--thanks.


Feb 27, 2010. 1:19 AMmonsoon60 says:
sharla95,
It isn't too hard. First you can order an Arduino Duemilanove from several places, already built. I got the Chineese copy and it worked great from eBay. In the folds of this instructable are different script codes that you can pick from. Then upload one to the Arduino via free software. I initially used CAT5 wire and taped it in place on the cartridge then held it down with my thumb. I believe that some folks are still providing a reset device but they had to go underground because CG threatened them with law suits. In these times we all need to find ways to make life affordable. Keep in mind this only works for the CG 60. The 120 is a different animal. Good luck.
Cheers,
M-

PS I am using Simple Green full strength in the cartridge and it is doing a great jog so far.


Jan 3, 2010. 12:05 AMmonsoon60 says:
Hey Handysmurf (shouldn't that be Handysmurfet?)
Could you post a picture of the "widget" for us? It helps to have a picture of how yours came out. I'm leaning toward leads electrical tape and my index finger but that's not very high tech. :-)
Thanks
Aug 9, 2009. 6:46 PMdig60 says:
are you designing a unit that will work with the 120 catgenie
Dec 8, 2009. 5:40 PMPrez1 says:
Does this work with the new 120 cartridges??
Jan 14, 2010. 10:15 PMmonsoon60 says:
Prez1 - it doesn't look like anyone has respnded and you probably already know that the CG120 uses a different set up, so no this doesn't work for the new CG120.
Feb 26, 2010. 8:00 PMkutch2001 says:
The new cartridges use RFID technology.  There is currently an effort underway to make an OpenGenie and some good progress seems to be underway, but only time will tell if it will actually yield any results.  Not sure if the person who wrote this instructable is involved with the OpenGenie.

On a related note ScottSEA, great work on this!!  Been meaning to comment but only signed up recently.  Been using this for a year, and it has been working great.  I modified it slightly for my purposes (added blinking light just so know it was active).  Integrating this with an automatic cat feeder and a motion sensor for the catgenie so it turns on/off automatically.

Thanks again ScottSEA.  Double thumbs UP!!! :)
1-40 of 119next »

Pro

Get More Out of Instructables

Already have an Account?

close

All Steps Viewing
View all steps of an Instructable on the same page when you're a Pro Member.

Upgrade to Pro today!
21
Followers
7
Author:ScottSEA