Ship
Pending review
What did you make?
SmartBin is a sorting head that drops into an ordinary trash can and puts recyclables on the right side by itself.
You drop an item on a small pan. A load cell feels the weight change and a Pi Camera photographs the item. A small neural network running on a Raspberry Pi Zero W decides what it is. A servo then tilts the pan so the item slides into the recycling side or the trash side. If the network isn’t confident, the item goes to trash.
I also designed a custom HAT PCB for the Pi (HX711 load cell front end, battery sense ADC, isolated servo rail) and a 3D-printed mechanism: pan, hub, servo mount and a 608 bearing block.
What was challenging?
- No ML runtime on the Pi Zero W. It is ARMv6 with no accelerator and no TFLite or ONNX wheels. I wrote the classifier as plain NumPy and trained a small depthwise-separable CNN for it, distilled from a larger MobileNetV3 teacher.
- Servo jitter. Software PWM made the servo shake. I moved it to the Pi’s hardware PWM channel and added calibration and eased motion.
- The mechanism. The pan has to hold on a single pivot axis. I had to fit the servo, hub and bearing so it tilts cleanly.
What are you proud of?
- The whole thing works end to end on a Pi Zero W, with no cloud and no accelerator.
- The distilled model is small enough to run in NumPy on the Zero W, and it keeps most of the accuracy.
- The system fails safe. A low-confidence result goes to trash, and a false trigger leaves the pan level.
What should people know so they can test your project?
Demo video: https://www.youtube.com/shorts/8E3T3RMJy3o
- 6 devlogs
- 3h build
