After more than a year and several dozen kilos of 3D printer filament, WALL-E is finally (almost!) ready for his debut performance! All of the planned functionality has been implemented and tested, and everything works.
One of the problems I’ve been running into during programming is accidentally jamming up the cheap-o $5 servos I used, and burning out the motors. After disassembling and reassembling some of the more challenging WALL-E limbs and body parts to replace servos, I finally decided to invest in some higher grade, programmable AGFRC servos. These can be programmed to limit the servo’s throw, torque, and set over-current protection.
Currently WALL-E is controlled by a Raspberry Pi 4, although I’m hoping to upgrade to a RPI 5 shortly. It is running the 64 bit flavor of Debian “bullseye” – the reason being is that my favorite Java IDE (eclipse) is only available for arm64 architectures. This gave me all kinds of problems trying to get some of the libraries I needed installed and working, because the de-facto RPI 4 OS is 32 bit Debian and many of these were not available in 64 bit versions.
To control all of the servos, motors, beepers, lights, etc. for WALL-E, I have been developing a Web Service for Raspberry Pi (WS4Pi). This project is being developed as open-source on github. The project website (what you’re reading currently) also runs on the same RPI and uses this web service to interface with all of WALL-E’s hardware devices.
I’ve also been able to get a streaming video server running on the RPI to stream live camera feed to this website, so I’m pretty happy with how well this has turned out. If you would like to take WALL-E for a test drive, send me an email to request access to the Test Drive WALL-E page and I’ll get you set up with a login.
At some point I’ll need to document all this hardware and software stuff so I can refer to it a year from now – stay tuned for future blog posts!