top of page

Fall 2023

IoTrash:
A Full-Stack IoT Project

My Full Stack IoT team selected smart bins as our project theme. After researching existing projects documented in literature reviews, we settled on a personal, domestic self-sorting bin with bin fullness indication. For hardware we utilized Ultrasonic Sensor, ESP-32 camera (along with 2 other ESP-32's to control the other components), machine learning model, LCD Display, motors for the conveyer belt, LEDs, and a lot of cardboard and duck tape. For software, we used React, Firebase, Python, and Arduino IDE. We noticed that a lot of smart bins don't use social forms of persuasion for recycling, like competition. There also isn't a lot of user interaction. Our smart bin incorporates a website where users can track their waste/recycling ratio and compete against their friends on a leadership board. 

The smart bin works by inserting trash into the middle space, onto the conveyer belt. The ultrasonic sensor in that section will signal to an ESP-32 to take a photo and send it to Firebase storage. It will also update the LCD display with a corresponding message. Once in storage, a CNN model is used to predict whether the trash is waste or recyclable, prompting the motor on the conveyer belt to move the trash into its respective bin. We also make use of the Firebase database to store user and smart bin information, passing it to different components when necessary. 

IMG_6707.jpg
What I Learned

This is my very first IoT class. It was exciting to learn about all the hardware and software that I can put together to create a valuable project. It was a struggle fiddling with a lot of the components, learning how to communicate between the microcontrollers effectively, linking a machine learning model to a website, and more. But in the end, our team pulled through and we had a very meaningful project to show.

image (3).png
What I Did
  • Collaborated in a four person team
     

  • Developed the CNN image classification model, from filtering and sorting the image datasets to training it with 96% accuracy in Google Colab.
     

  •  Set up the ESP-32 Camera feature, including its method of sending taken photos to Firebase storage.
     

  • Formed messages to display via the LCD display. This included querying data from the Firebase database, like the user's name. 
     

  • Developed many components of the UI, like the log-in/sign-up functionality and error messages. 
     

  • Participated in forming the structure of the Firebase database and storage. 

IMG_6708.jpg
Honorable Memory

The last day was marked by a presentation, where we demonstrated our project to the class. We showed the process of logging in, putting trash in the bin, capturing a photo, and classifying it correctly as recyclable material. 

Media and Links

See the website, sign up and mac registration process, insider to the Firebase database and storage, ESP32 image capture example, and images of the physical bin (captions included):

bottom of page