HOW TO VIEW DEMO

To use link, log in with the following credentials: Email: demo@binsight.ca Password: demo123

Inspiration

When deciding on a problem to tackle, one our friends brought up their crazy neighbor. He was a garbage factory, and every time garbage day came around, he consistently had the biggest, stinkiest payload. What caught our attention though, was when our friend mentioned that even their recycling was nasty because he never sorted his waste. After we dove a little deeper, we found that waste management is a major fault of Canadians. Canada routinely ranks at the bottom of the barrel among OECD developed countries in waste management scores, and as little as 18-30% of Canadians sort their waste properly at public bins. We knew we had a problem on our hands.

What it does

BiNSIGHT helps Canadians sort their waste easily and accurately at any bin using a multi-part setup. A camera system anonymously and locally processes the user's trash and references municipal waste-sorting regulations to tell the user where it belongs. All you have to do is show the camera what you want to throw away.

The user receives immediate guidance through a nearby poster which turns on in response to human presence. LEDs corresponding to the correct bin will light up when the camera system tells it where the trash item belongs.

Supervisors can then compile and analyze long term trends and shortcomings on our website which tracks every item thrown into every bin connected to BiNSIGHT.

How we built it

To get this to work, we needed to connect multiple different systems together and have them communicate effectively.

To begin, we built the camera system. This was a raspberry-pi, a pi-cam, and a digital display all connected together and housed in a 3d-printed case. The raspberry-pi was essential for its WiFi-connection to pass data to the other components of our product. It also was necessary for its processing power for running our model fully locally to ensure privacy and to only pass the data we needed.

The second piece was an example poster (definitely not made from a paper plate) that we connected to the camera system using an ESP-8266. This is hooked to LEDs that easily signal to users which bin their trash belongs in with nearly no overhead or delay. This poster also includes sensors to detect human presence to conserve energy when nobody is nearby.

Lastly, to tie it all together and deliver a meaningful impact even beyond the user, our website also ingests the data from the camera system and compiles it all into a meaningful dashboard that quantitatively gives results and trends. We also implemented Gemini API to give an even more digestible overview of the data, as well as to offer next steps in terms of training and maintenance.

Shoutout to Google Antigravity for their amazing developer environment and AI tools. Antigravity streamlined our working process at every step along the way, speeding up our work and allowing us to focus on the real stuff. Our favorite features include the integrated browser agent, the agent-focused workflow, and the easily navigable UI.

Challenges we ran into

One of the most demanding challenges we faced was building accuracy on our AI model to recognize objects in a variety of conditions and environments. Building a more dependable model meant we had to be more intentional with our training data, and constant iteration brought us to a final product we could be proud of.

Another challenge we faced was with deciding how to implement the sensors on our poster. We knew we wanted to include some way of only turning the poster on when someone was actually using it, but we didn't want to invade individual privacy by pointing the pi-cam directly at the users (in our final product, it faces straight down and only captures the user's arm). Instead, we took the analog approach, and combined two sensors: an ultrasonic and a passive infrared, which detect distance and human presence respectively. Together, they deliver a comparable experience without any unnecessary processing.

Accomplishments that we're proud of

  1. Connecting multiple hardware systems to a unified backend
  2. Training an AI model to detect multiple objects with a high level of confidence
  3. Jerry rigging our poster design instead of 3d-printing it

What we learned

  • How to effectively train a specialized model and implement it (and how long the whole process takes)
  • How to use, tune, and build around PIR and ultrasonic sensors
  • How to not sleep and become vampires

What's next for BiNSIGHT

  • Adding more training data to our model to allow for a wider range of trash detection
  • Adding complexity for multi-step recycling and separation of different materials
  • Adding support for more bin types

Built With

  • arduino
  • c++
  • cloudfirestore
  • esp8266
  • esp8266webserver
  • esp8266wifi
  • firebaseauth
  • firebasecli
  • firebasecloudfunctions
  • firebasestorage
  • hatchling
  • json-schema-to-typescript
  • jsonschema
  • just
  • mediapipe
  • node.js20
  • numpy
  • picam
  • pillow
  • pir
  • platformio
  • pnpm
  • pytest
  • python
  • raspberry-pi
  • react19
  • tensorflow
  • typescript
  • typescript5.8
  • ultrasonic
  • uv
  • vite6.2
Share this project:

Updates