11. Applications and Implications

This week I worked on defining my final project idea and started to getting used to the documentation process.

More informations can be found on my final project page here.

Research

I’m a petrolhead so I’m always working on projects around cars, but this time I’ll make something different.

A enhanced self cleaning litter!

I’ve cats at home and 10 years ago I’ve bought a very useful object: a self cleaning litter called “Litter-Robot”.

In 10 years, I’ve changed many parts to keep it working but the controller is not reliable, I have to change it every 2 years. Finally, last year when controller die again, I change for the new version “Litter Robot Open Air”. I haven’t problem at this time but i’m not very confident…

Litter-Robot II Classic Black

More details can be found here : https://www.litter-robot.com/the-litter-robot-ii-classic.html

A movie from youtube of how it works normally (not mine because my litter doesn’t work anymore) :

How ?

I’ve kept my old litter and try to find which component always failed but it’s a long work to reverse engineering this card so I’ve decided to make a useful project, create an open source version of this litter.

I will keep the structure and motor (I’ve changed it 2 years ago) because it’s still functional. There’s also sensor to detect cats (load sensor, anti pinch, hall effect for the rotation) I will reuse if they still work after testing.

I will create a new electronic board, a new control panel and had some fun/useful stuffs like online alerting when waste drawer is full.

My old litter robot :

my old litter

Old useless controllers :

oldElectronic

Project diagram

The first version of my project diagram.

Reverse engineering

I made the reverse engineering by unmounting the liter, reading the user manual and finding patents.

How it works from factory?

image-20200413200331417

The litter have 2 main parts :

  • upper part : the globe
  • lower part : the base (include the control panel and dump tray)

The main function is to rotate the globe on the base : the cat enter in the litter, he does what he have to do (or not if he’s just curious ^^), after a few minute, the globe turn and come back to it’s initial position.

By rotating, litter robot separate the clean and used litter and eject used litter in the dump tray.

It’s magic? No, it’s science!

First, we have to use clumping cat litter.

When the globe rotate CCW (counterclockwise) , all inside rotate with obviously (nooo, not the cat) and the sieve separates clean litter from waste solid. At the end of the first rotation, all the rest that not pass through sieve fall in the dump tray. Then globe rotate CW (clockwise) go back to initial position.

To find where is the globe, there is 2 magnets molded in the plastic of the globe. One for the dump position, one for the home position. The “bipolar hall sensor” is in fact composed of 2 hall sensor assembled together in inverted position, I assume they are plugged in digital way so one pull up when in front of the corresponding magnet (with my tests on week10, when using a hall sensor in analog, with only one I can detect both north and south pole).

The front panel contains 3 buttons and 3 LED.

  • “Cycle” Button Pressing the “Cycle” button starts the Litter-Robot cleaning cycle. To stop the cycle, press any button on the Control Panel. Press “Cycle” once again to resume the cleaning cycle. If you stopped the Globe during the cleaning cycle, pressing “Fill” or “Empty” will return the Globe to the home position.
  • “Fill” Button Pressing the “Fill” button on the Control Panel starts a counter-clockwise rotation of the Globe to bring the waste ports to the top. This position is convenient for filling the Litter-Robot with litter. (Personally I never use this and add liter by the front hole)
  • “Empty” Button The “Empty” cycle removes most litter from the Globe, bypassing the sifting screen. This cycle is convenient for removing the old litter prior to cleaning the interior of the Globe.
  • Green Light (“OK/Waiting”) This light indicates that the unit is OK and that the Litter-Robot is ready for your cat.
  • Yellow Light (“Cycling/In Use”) The Litter-Robot is cycling (Cleaning cycle, Fill cycle, or Empty cycle).
  • Red Light (“Sensor/Timing”) The red light indicates that the Cat Sensor has been activated and the Litter-Robot is going through the seven minute count-down before starting the cleaning cycle. If the red light is flashing, an error has occurred, please see the Troubleshooting section for steps to take to solve this problem.

There is also a control panel lockout feature that can be activated/deactivated by pressing any button for ten seconds.

The user manual says the cat is detected by a “cat sensor”. Without unmounting, it can be a load sensor but after I see it’s a very simply and smart way. It’s a NC-NO switch activated by a spring-loaded leg

Because, it used by animals, there is also safety features :

  • Cat Re-Entry Protection Mode Remember don’t turn the cat! If the Cat Sensor detects that your cat is trying to enter the Litter-Robot during a cleaning cycle the Globe will stop rotating. The Litter-Robot then waits for 15 seconds before attempting to resume the clean cycle.
  • Anti-Pinch Safety Feature The Litter-Robot comes equipped with an anti-pinch feature to make the Litter-Robot extra safe for your cat. If a potential pinch condition is detected, the Globe automatically stops and then reverses direction for approximately 2 seconds.

One time again, anti pinch line work is a clever way with just a NC-NO switch !

  • Automatic Shut-Off If the Globe becomes jammed, the motor will stop and all three lights on the Control Panel will start blinking at a rate of twice per second.

I also have to integrate error management of the original system :

  • If the Globe cannot find the home position, all three lights on the Control Panel will blink at a rate of once per second.
  • If the Cat Sensor is continuously interrupted for more than two minutes the globe will remain stationary and the Red light will start flashing (may be caused by cats or excess of litter)
  • If the Globe becomes jammed or if the rotation of the Globe has become obstructed or interrupted several times, the motor will stop and all three lights on the Control Panel will blink at a rate of twice per second.

What I want to change / add ?

I want to make another board and have a better lifetime of the circuit board.

I also want to add self-diagnosis functionality to check which part I have to change because local repair service just says change this, change that, etc. and you often change parts that still work and don’t resolve problem or you have to send all the base for a check but it’s expensive just for the diagnosis when warranty is expired.

I also want add some monitoring :

  • how often the litter is used
  • which cat & when
  • detect if a cat is sick
  • night mode
  • online connectivity by sending notifications (at least if there is a problem, or realtime when a cat use it and maybe some fun stuff like twitter) and/or app/webpage/domotic system integration (Calaos, Domoticz, Jeedom, Home assitant, OpenHAB… I don’t have chosen yet which I will use at home) to check status.
  • maybe dump tray level sensor (but it needs to open base and make holes, ok for mine but not for a retrofit kit)

Parts

On week 10 (input devices), I work deeper on sensors inside.

What I reuse (after testing) :

The base including :

  • NO-NC switch of security line
  • NO-NC switch of cat sensor (spring loaded leg with switch)
  • I don’t know yet if I reuse the 2 hall sensors, just one of them or a new one. Because of the use of 2 inverted sensors, I think they are used in digital mode. In my testing, I see that a hall sensor can detect polarity if I use it in analog way.
  • DC motor with gear assembly (already replaced 2 years ago), rated to 12V
  • DC power supply (replaced 3 years ago)
  • female power plug
  • power button

All the upper globe :

  • 2 inverted magnets inside the globe (molded inside plastic)

I want to make a retrofit kit so I try to keep as many parts as possible to avoid user to remove too much parts inside (To change the front panel is easy and don’t need tools, unmount all the base may be difficult for some people.)

New parts :

(Note : all this parts are just idea when I did this week, working on next weeks help me to validate or not my choices, by example I replace SAMD11C with SAMD21E because I absolutely want a touchscreen (much more scalable and pretty than buttons) and SAMD11C can’t handle it because of lack of memory. For final choices on my projet, go on my final project page to find final BoM )

  • 2.54 male pin headers for my board (for directly replug factory wires without soldering or change connectors)
  • (optional) 620-1402-1-ND / SENSOR LINEAR ANALOG SOT23W (if factory ones doesn’t work as wanted)
  • ATSAMD11C14A-SSUTCT-ND microcontroller because I already use it and love it !
  • resistors, IC regulator
  • ESP32cam
  • new 3D printed front panel
  • PMMA lasercutted gate (for wiring the coil for tag reader)
  • FDX-B reader (it’s derived from RFID but not the same frequency)
  • LED (one RGB? or many simple color LED?) and/or screen (may be a touchscreen)
  • button (and/or touchscreen)
  • CNC milled enclosure / cabinet in wood to hide the litter

The idea in picture

What already exist? Technological watch

Obviously the litter itself ! There’s a newer version, called the Litter Robot 3 or Litter Robot Open Air, I have one at home.

The cat sensor is different and it’s now at the back instead of front… bad idea. There’s a dump tray level sensor (with infrared emitter & receiver), a light inside (off, always on or bright detector), night mode (litter don’t make cycles during 8 hours) and repeat the 8-hour period every 24h, wait time between cat detection and cycle can now be modified.

They also made a few months ago a litter robot 3 connect. It add wifi and online functionality like IOS/Android app with notifications, statistics and some settings. It also have compliant with IFTTT.

No retrofit kit exists for the litter robot 2.

Connect functions are good but it works only if you have one cat. If you have many cats, you can’t know which cat goes in.

Cat need to be identified by tatoo or tag. Tags reader are used by veterinary to check the pet. It’s also can be use by pet door or pet feeder. Why not use same system on a litter?

With the cam, you can also check the cat poop and see if a cat is sick.

Standard for pet tag is FDX-B.

My work

3D scan

On week 06 (3d scan & printing), I’ve worked on 3D scan, I need to modify the front panel of the litter to replace electronic.

Here a scan of the inner side of the front panel in week 06.

After the first time, I think I have to scan the outer side and mix all in a 3D software but with COVID-19 and the shutdown, I take 3D scanner back to home. I spend time to improve scan technique. In week 06, I’ve already see that the structured light scanner (Einscan pro+) work better with clear color surfaces, so I use talk powder on my black object to improve scan. After many hours of testing, I finally got a good result.

On the software, I scan in various position, I add some DIY support (here a back box or clothespins) to change point of view. The einscan software can mix sub 3d scan in a global scan (automatically when there are enough details and enough superposition between scans, of I can also set it manually by placing reference points between sub scan when it failed) and at the end reconstruct all the object.

I don’t know why (surely false positive on 3d scan software) but I have holes in my model. So I use meshmixer to repair the object. I think in some scans, the software think I have put reference points on physical object.

These 3d model will be a base for my custom cover, I don’t have to lost time to rebuild shape that surrounding the base of litter, I will remove button and led parts and modify to add enclosure for my project.

I clean mesh and filling holes with meshlab.

Electronic

I draw my own multi purpose SAMD11C board for testing

Here’s it’s the first version, when wiring I’ve found error on paths, because of coronavirus I can’t mill new board with corrected paths so I correct manually on board.

Because all pins are wired and I have squeezed pins dedicated to first flash bootloader (after USB is used to flash program), I’ve made my own cable to flash the SAMD11C microcontroller.

FDX-B reader

I’ve made many research about reading ID chips inside my cats. ISO 11784 and ISO 11785 are international standards that regulate the radio-frequency identification (RFID) of animals. You can find informations at https://www.icar.org/.

To resume it’s like RFID but the frequency it’s 134.2khz VS 125khz for most classical RFID chip & reader.

After many researches , I found a FDX-B reader. There are 3-4 designs sold but this one is supposed to have the best range. I’ve bought one from aliexpress with an antenna. It’s not very cheap (~35€). It work in serial with 2 wires.

image-20200423181330608

edit : I finally received my reader 2 weeks before final presentation, after quick test in real situation (directly with my cats) I decide to put this part on next spiral because range wasn’t very good (only 5cm with the tag inside a cat). It need many work on the board itself (main problem : vendor can’t provide useful documentation on it), may be also on antenna design, also on integration on cabinet because if I make a small entry to be sure cat was close enough to the reader, cats never go into the litter (seems like a trap for them!)

What I will finally do ?

To answer some questions, I resume what I have finally done for my final project :

  • CNC : I mill a pressfit with secret tenon fingers cabinet in plywood for hiding the litter (You can see it in week 8, due to COVID I finish my week 8 after week 11, so this idea wasn’t on this page)
  • Electronic : reverse engineering factory board and design boards with SAMD21E & motor driver, I drive a ILI9341 2.4” TFT with XPT2046 touchscreen
  • 3D scan : it’s another part of my reverse engineering, I have to create a new front panel with new electronic & touchscreen in it. I scan the factory from panel to have shapes
  • 3D design : starting from 3D scan, I redesign a new front panel with fusion360
  • 3D printing : I print the new front panel previously designed
  • coding : I write code to handle touchscreen & also use inputs & output of the factory litter

See this page as a v1 idea (many questions and possibilities are answered on next weeks), you can check my final project - step by step page for see all works on what I see more like a v2 of the first spiral of my final project.