Inspiration

We were looking at the Columbia trash cans, and we realized that the current system is trash! People don't know what's recycling and what's trash, and there's no systematic way to view whether a trash can is full or not, leading to overflowing bins. So, we're making trash better by making it.... untrash?

What it does

Our SmartTrash™ bins are equipped with 1080p cameras that use Computer Vision to precisely classify objects as recycle or trash, so that the user doesn't even need to think about whether their aluminum can is recyclable or their half-eaten Panda Express box would be trash; we do all of that for you with our 90% accurate sensor system. Additionally, our bins send "full" notifications to waste managers so that custodians and facilities can easily track when and where to clean up trash, making the waste management process frictionless.

How we built it

We built our system using the newest Raspberry Pi 5 module, with advanced CPUs and GPUs, optimal for complex computer vision models trained on a pretrained ResNet model that we fed our own image data into. We used the Arducam 5MP Camera, which captures 1080p frames at 30 fps, making the classification highly accurate. We use the 2000 Series Dual Mode servo, which spins the item into its appropriate category. Our IR break beam sensors constantly monitor the top of the bin, sending notifications to waste management whenever a bin is full. Our cloud backend and PostgreSQL database is powered with Vultr, which handles our deployment and our API that we call from our Pi. Vultr helps us achieve scale and low-latency with their 30+ locations around the world, helping us deliver our waste management solution to customers around the globe. We integrate Vultr metrics into our application and display it on a clean GUI that waste managers can access anytime, anywhere. By deploying our website public with Vultr, users are able to access and control the bins in their system and get an analysis of their waste. DigitalOcean’s Gradient AI provided us with extremely accurate model weights that we integrated into our model, allowing our inference to land over 90% of the time.

Challenges we ran into

We ran into a few challenges during the event. For all of us, this is the first hardware hack, so it was difficult getting used to the technology. Establishing a connection with the WiFi network from the Raspberry Pi was a struggle—we had to work with limited resources to start remote access via SSH and connect to the WiFi in the Linux command line. Furthermore, it was difficult tuning the parameters of the model to fit the data. At first, the model overfit the training data and performed poorly on the real world data. We realized that the training data highly favored recycling and it rarely classified objects as trash. So, we took random samples of the recycling data and retrained the model with a larger batch size so that it generalized better. Moreover, we had trouble communicating with the API. The post requests didn’t go through due to authorization issues, so we debugged our requests using Postman, which helped us figure out the request body structure and Headers that let us successfully send post requests to our Vultr server. Lastly, we had issues tuning our parameters so that the bin is fully compatible with all kinds of trash, from banana peels to solo cups and snack wrappers.

Accomplishments that we're proud of

We’re proud of making a product that efficiently sorts trash and has potential to change the way waste management is done. We’re also proud of the teamwork that we did to complete this project, with each of us working on a separate component of the project that made work much more efficient. We’re proud of all of the new technologies that we learned and the insights that we gained from the organizers and sponsors.

What we learned

We learned how to use Raspberry Pi 5, Vultr, how to work with laser cutters, how to prototype, how to wire things, how to work with GPIO pins, and much more.

What's next for SmartTrash

SmartTrash is not over. Soon, we’ll improve our LCD so that it displays the nearest trash can that isn’t full, in the event that the trash can the user is at is full. The interface will be improved, and we plan to release an attachable product that can be added to a traditional bin, turning it into a SmartTrash™ bin.

Share this project:

Updates