Automatic Litter Box - cloud solution in place
Progress on my automatic litter box: I fixed a mechanical issue in the gear system and moved recorded motor sequences from Arduino memory to cloud storage. Next up is designing and testing the litter sieve.
🐈 Automatic Litter Box – One Mechanical Fix and a Big Step Forward
I finally got some proper time with the automatic litter box again.
This update ended up being a mix of two completely different problems. One was mechanical and ridiculously simple once I found it. The other was something I have wanted working properly for quite a while.
The good news is that both are now solved.
The rotating mechanism no longer gets stuck on the screws, and the recorded motor sequence is no longer dependent on whatever happens to be stored in the Arduino's memory.
That second part especially feels like a pretty big step forward.
🔩 Why Did It Keep Stopping in the Same Place?
During testing I noticed something strange.
The litter box would rotate normally and then suddenly stop.
What made it even more suspicious was that it happened at almost exactly the same position every time.
My first thought was naturally the gear mechanism.
Maybe the gears were binding.
Maybe one of the printed parts had warped slightly.
Maybe my tolerances were simply wrong.
It turned out to be none of those things.
The Problem Was the Screws
The screws were slightly too long.
The heads were sticking out just far enough to enter the path of the rotating gear mechanism.
Eventually the gear would reach one of the screw heads and everything stopped.
The fix was fortunately much easier than finding the problem.
I went back into the model and made the screw holes deeper so the heads can sit further inside the printed part.

It is a tiny adjustment in the model, but mechanically it makes a huge difference.
This is also one of those things I probably never would have noticed by staring at the CAD model for another hour.
Sometimes the fastest way to find the problem is simply to print the part, assemble everything and see what actually happens.
💾 The Recording Sequence Is Finally Persistent
The part I am much happier about in this update is the motor sequence.
Until now, the recorded sequence was stored in memory on the Arduino Uno R4 WiFi.
That was perfectly fine while I was experimenting, but I never wanted the final system to work like that.
If the Arduino loses power, restarts, crashes or I flash new firmware, I do not want to worry about whether the cleaning sequence is still there.
So I moved the sequence out of the Arduino's temporary memory.
It is now stored in the cloud.
How It Works Now
The important part for me is that the Arduino is no longer the only place where the sequence exists.
If something goes wrong with the controller, I have not lost the movement.
I can restart it, reconnect, load the sequence again and continue.
That is much closer to how I want the finished litter box to behave.
🎥 First Proper Record, Store and Replay Test
This is the current test of the sequence:
The video itself probably does not look especially dramatic.
The mechanism moves, stops and moves again.
But what is happening behind that movement is much more important to me.
Before this I had several individual pieces that worked:
- I could control the motor.
- I could record movement.
- I could rotate the mechanism.
- I could replay what was still stored locally.
Now I have a movement that can actually be recorded, sent away from the Arduino, stored persistently, loaded again later and replayed.
That gives me something repeatable to build the actual cleaning mechanism around.
🧹 Now the Litter Box Actually Needs to Clean Something
Up until this point, most of my testing has really been about making the machine move correctly.
That changes now.
The next problem is probably going to be much messier:
separating clean cat litter from the waste.
For that I need to design a proper sieve mechanism.
The Basic Idea
The idea itself is simple.
The clean litter should fall through the sieve while the larger waste stays behind and continues toward the waste section.
Making that work reliably is probably going to be another story.
🕳️ Finding the Right Sieve Size
This is the part where I expect a lot of trial and error.
If the openings are too small, the clean litter will not pass through properly.
If they are too large, waste starts falling through as well and the entire mechanism becomes pointless.
Then there is the angle of the sieve.
The rotation speed.
How much litter is inside the drum.
How the litter moves when the drum changes direction.
And probably another five problems that I have not even discovered yet.
The First Few Attempts Will Probably Look Like This
- Design the first sieve.
- Print it.
- Test it with actual cat litter.
- Find out what is wrong.
- Change the model.
- Print another one.
- Repeat until it behaves properly.
That is pretty much how these projects usually go.
I would almost be suspicious if the first version worked perfectly.
🖨️ Back to Mechanical Prototyping
For a while I have spent quite a lot of time on the Arduino side of the project.
Now I can finally move some attention back to the mechanical design.
The nice thing is that I now have a repeatable motor sequence.
That means I can test different sieve designs using the same movement every time instead of constantly changing both the software and mechanics at once.
If one sieve works better than another, I will actually know that the improvement came from the mechanical design and not because I accidentally changed the cleaning movement at the same time.
That should make the next round of testing much easier.
🧪 Where the Project Actually Stands
Right now the project looks like this:
- Rotating mechanism
- Gear drive
- Screw interference fixed
- Motor movement recording
- Persistent sequence storage
- Loading the sequence during replay
- Sieve mechanism
- Real cat litter testing
- Waste separation
- Waste collection
- Complete automatic cleaning cycle
Looking at that list, this is finally starting to feel less like a motor experiment sitting on my desk and more like an actual automatic litter box.
🔜 Next Step: Put Cat Litter in It
That is the next real milestone.
Not another empty rotation test.
Not another motor test.
Actual cat litter.
Once the first sieve is printed, I can finally start seeing whether the mechanism can separate clean litter from waste while following the cleaning sequence I have already recorded.
I am expecting failed prints.
Probably several of them.
But that is also the part I have been waiting for.
The electronics and movement are finally far enough along that I can stop proving that the machine can rotate and start testing whether it can actually do the job I built it for.
My Bambu Lab P1S is probably going to be busy for a while.