Respect Ur Trash (Smart Trash Bin)

Created and Demoed at UTS Hacks 2017, a 12-hour high-school hackathon at the University of Toronto School. Received the Best Pitch award.


The theme of UTSHacks 2017 was about the environment. So I started thinking what is mostly related to us in the theme of environment. I kind of run out of ideas, until I see people throwing the wrong type of garbage into categorized trash bins. Those little details really impact the attitude and respect we have towards environment. Fixing those problem will build us a good habit and respect to mother earth.

Purpose of this hack

To educate students about the environment and waste sorting through everyday actions of throwing trash in a fun way. The slogan of this hack: If you don't respect trash, not even trash will respect you.

How to use this/What does it do?

  1. Put the trash on the platform of the trash bin. Infrared sensor would be activated and system starts running.
  2. Camera from the phone on top of the trash bin will start an IP camera. The camera would stream video to a server.
  3. Server would use OpenCV to take screenshots and segments of videos. Those footages would be analyzed through Clairfai API to identify the type of trash that was threw in.
  4. Clairfai API gave a list of possibilities of the item. An algorithms sorts the results into different waste categories.
  5. If the category of waste matches the category of the trash bin, the platform would flip and the waste would go down. Otherwise, the platform would rise up and return the trash back to the user.

How it works


The entire project is really environmental-friendly. The entire project is more like an add on a trash bin. All systems are based on a lid, so people are able to take out the trash inside and clean it. The lid body is made of cardboard collected from the hallway, coffee stir sticks from Starbucks, and lots of glue sticks. Servos and sensors were connected to the cardboard with glue gun and tape. The hardware system is controlled by an Arduino. A 9V battery is used for all the processing and servo power. 2 servos are installed to flip the platform to let the trash go down. An inferred/motion sensor is also installed at the platform to detect motion and start the session. Two sets of lifting system (made of a DC Motor powering a Lego linear actuator) are installed on the bottom sides of the lid. A xiaomi Mi3 phone is installed at the top of the trash bin with its back camera facing downwards. A OLED screen and two LEDs (Red and Green) are also installed to show user more information.


The processing of object analysis is done in Python 2.7. When infrared sensor on the platform is triggered, the xiaomi phone would start an IP camera that connects to a local servo. Using OpenCV, I am able to pull streamed video from IP camera and create segments and screenshots. Those footages would be sent through Clairfai API and thus analyze the object being threw in. I process the results and find out the most possible kind of category this item belongs to: recycle, trash, or composite. Then Arduino would order servos with different motions with the corresponding situation. It also sends information to show on the OLED display and LED lights in the front of the trash bin.


I received mentorship from Fupan Yao. He helped me set up Python OpenCV for live streaming and solved many software problems I met. He was a great mentor.

What's Next

Respect Ur Trash is more like a concept rather than an actual product. The reason I did this rather than a self-sorting trash bin is to educate students to care and learn about environment rather than creating something that does the job for them. Respect Ur Trash is easy to make and easy to be implemented as it is only a lid to a regular trash bin. School can even implement student card reward system with it. Students can tap their student card and receive extra credits/cents for meal plan to encourage them to throw the right trash in the right bin.

Share this project: