There’s nothing like spilling your favorite drink all over the floor. But before you let the disappointment wash over you, consider the accident another glorious opportunity for a fun microelectronics project! At least, that’s what The Fedmog Challenge did when they created this awesome self-balancing tray project. It’s powered by an Arduino Nano and automatically detects when the serving tray is at an angle then makes adjustments to keep the surface level.
The project was created totally from scratch from the housing to the code used to program the system. The unit consists of quite a few 3D-printed components, including four arms that are used to stabilize the upper plate. Each arm has three joints with ball bearings in each one for smooth rotations.
The idea was to create a stable unit to carry drinks on top of to prevent them from spilling. According to The Fedmog Challenge, it doesn’t work exactly as planned as some improvements could be made but, in general, the concept is there and the system does make corrections to stabilize the top plate.
The Arduino Nano takes advantage of an MPU 6050 module to measure the angle of the top plate so it can send the proper stabilization commands. It also requires a step down converter and some terminals along with a battery so the device can be portable. The major electronics are mounted to the bottom of the bottom plate.
As far as improvements go, The Fedmog Challenge suggested first approaching the response speed. It would be greatly improved with a faster correction time for tilt adjustments. Also, because the unit is 3D-printed, the arms are somewhat flimsy and not very stiff. This makes the unit very susceptible to vibrations and other minor movements which make it hard to correct with accuracy. The Fedmog Challenge was nice enough to make the project open source and assures that all of the STL files and code created for the project would be provided to anyone who requests it.