Overkill AI Waste Classifier: Phase 1 - The Foundation

Since moving to Christchurch from a country where waste separation wasn’t practiced, we’ve come to really appreciate how thoughtfully waste is managed here. That inspired us to tackle a challenge we’d never even considered before (which may not have been a problem after all 😹): creating an AI Waste Classifier! Plus, what better way to get my 8-year-old interested in both environmental responsibility and technology? What happens when you combine a Raspberry Pi, some LEDs, and a passion for solving real-world problems? Let me take you on a journey through building an overkill AI-powered waste classification system!
The Challenge That Started It All
We've all been there - standing in front of multiple bins, holding a piece of waste, wondering, "Does this go in recycling or general waste?" What if technology could help us make better environmental choices in real-time? I'm also doing this along with my 8 yo son, who still needs to be exposed to many things to build his interest, even though he still prefers biking and swimming.
That's exactly what inspired this project: creating an intelligent waste classification system using a Raspberry Pi that can identify whether an item belongs in:
- 🔴 Rubbish (general waste)
- 🟡 Recyclable materials
- 🟢 Organics (compost)
- 🔵 EcoDrop (special disposal)
Phase 1: Building the Foundation
Every great AI project starts with solid hardware foundations. Here's what went into creating our "smart eye" for waste classification:
The Hardware Setup
- Raspberry Pi 5
- Standard camera module
- Two tactile push buttons for interaction
- Four color-coded LEDs (Red, Yellow, Green, Blue) - because who doesn't love instant visual feedback?
- One ST7789 LCD display (320x240 pixels) for real-time camera feed

The Technical Setup
I picked the Raspberry Pi instead of ESP ESP-based board just because it's the only thing I have at the moment. The amount of GPIO is quite plentiful, also helping us use plenty of components here. We configured to get all of these components into these pins (sorry, got no time in making a diagram for the wiring, as long as it's documented!):
ST7789 LCD (SPI Interface) → GPIO pins 8, 10, 11, 23, 24, 25
LED Array → GPIO pins 6, 17, 22, 27
Control Buttons → GPIO pins 16, 26
Camera Module → Camera Port 0
What Makes This Special?
This isn't just another "blink an LED" Raspberry Pi project, but this is an overkill "blink an LED" project!. Not sure if this is useful, but we hope it could genuinely impact how people interact with waste disposal.
- Real-world application - Addresses actual environmental challenges
- Scalable design - Foundation for more complex AI features
- Educational value - Great learning project for computer vision and IoT
- Community impact - Could help improve recycling rates
- Next-generation inspiration - Showing kids that technology can solve real problems
The Development Experience
Building hardware prototypes teaches you patience, precision, and the art of troubleshooting. There's something deeply satisfying about seeing LEDs light up exactly as planned and watching a camera capture its first image. But the real learning happened when I brought my son into the project...
Working on this project with my son has been eye-opening in ways I didn't expect. Kids see technology as pure magic - they don't get bogged down by implementation details or worry about "best practices." After I show him how the LED, LCD screen, resistor, button, servo, and many other thing works. He just goes straight to big ideas like "Can we make an electric bus using this?" "Can we make a Transformers with these?". Suddenly, you need to explain how the computer works in the simplest way that we could. These simplified explanations often reveal gaps in your own understanding and force you to think about the fundamental purpose of what you're building. I just hope to make a good core memory for him in the future.
What's Next?
The script on the github repo here handles the core functionality - camera initialization, image capture, and LED control. Simple in concept, but the foundation for everything that comes next.
This is just Phase 1 of a multi-phase journey. Coming up:
- Phase 2: Connecting to Vision LLM services for intelligent image-based classification
- Phase 3: Implementing RAG (Retrieval-Augmented Generation) for enhanced accuracy
- Phase 4: Not sure what's next, maybe putting this in the cloud? Or fine-tuning models for specific waste types?
This is part of an ongoing series documenting the development of an AI waste classification system. Follow along for more updates!