Inspiration
Often, the environment plays a big part in our unhealthy lifestyles, with trash polluting our soil, water, air—and ultimately, us. Recognizing that it's easy to overlook the nearest trashcan or to track when they're full, we decided to do something about it. We didn't just create an app to monitor trashcans around you; we went a step further. Our solution is a smarter trashcan that not only detects how full it is but also compresses its contents to save space. This way, we’re making it easier and more efficient to keep our environment clean.
What it does
We’ve developed a trashcan that not only detects when it’s full and compresses the waste but also updates its status and location through our web application. Through the app, you can view nearby trashcans and, with a simple click, access detailed information about the trash's status and the can's location. Our innovative trashcan makes it possible to keep track of waste management efficiently, demonstrating our commitment to smarter environmental solutions.
How we built it
Hardware To mimic our version of the smart trashcan we used an Arduino Uno to incrementally check if there was trash in the bin using a sonar sensor. If there is trash inside the bin above the threshold for a certain amount of time, the compressor is activated. Due to hardware constraints we were forced to use a stepper motor with low output. This made the process much harder and we had to pivot from using a gear based compression system to a pulley based one within the last couple hours. After the compressor finishes the sonar checks once again if the can is full and will send a signal to our website based on if the trash is still above the threshold or not.
- Arduino, Stepper Motor, Sonar Sensor
Software Our application leverages TypeScript, NextJS, Python, and Firebase to create a robust environment. For the front end, we've utilized libraries such as MaterialUI for design components and the MapBox API for displaying interactive maps of trashcans in the area. This setup allows our front end to communicate seamlessly with Firebase, enabling us to retrieve and display real-time information on the status and location of all trashcans. In the backend we have C++ to write the Arduino code, as well as Python to monitor the signals coming from the Arduino to update our database.
Challenges we ran into
For many of us, diving into this project meant stepping into unknown territories—whether it was the frontend, backend, or hardware side of things. The learning curve was steep, especially since we had just 24 hours to apply our knowledge. One major hurdle was the frontend environment; none of us had ever worked with NextJS before, so just setting up the basics like routing, components, and the UI was a bit of a scramble. We also hit a big snag with MapBox’s documentation—it was pretty lacking and ended up eating a huge chunk of our time as we tried to figure out how to adjust the maps and place the trash markers accurately. But the real challenge came with the hardware. Most of us hadn’t even touched hardware before, so trying to connect the Arduino with NextJS was a whole other level of tough. Even after learning how to use the hardware, the weak stepper motor continued to plague our build. Plus, even though we had a clear idea for our smart trashcan, we eventually realized we were missing some key materials to truly showcase what our hardware could do.
Accomplishments that we're proud of
After a sleepless night, we're proud of how much we achieved with this project, especially since each of us tackled something completely new. Our biggest challenge was establishing a reliable connection between our smart trashcan and the web application. Despite the initial hurdles, we managed to devise a system that kickstarted our concept. In the end, we successfully developed the application we had envisioned and integrated it with our self-built trashcan. While we didn't execute the smart trashcan prototype exactly as we had hoped, we're confident that with more time and better resources, we could refine our prototype significantly. Nonetheless, this project was a profound learning experience, proving that our ideas could indeed transform into reality, even when faced with daunting challenges.
What we learned
For all of us, this was our first experience blending software with hardware, which turned out to be a huge learning curve. On the software front, none of us had ever worked with NextJS or the MapBox API before, so we had to dive in and figure out how to set everything up from scratch. On the other hand, for the hardware we needed to learn how to code an Arduino and understand how it interacts with sensors and motors. By the end of it, we all came away with valuable skills and applied knowledge that we hadn't had before.
What's next for Compakt
We believe our software product would be incredibly valuable in various settings, including busy campus restaurants, large public areas, and major events. It would not only help sanitation workers manage waste more effectively in these challenging environments but also provide valuable data on the status of trashcans. By understanding where and when trashcans fill up most frequently, we can strategically use this information to improve waste management at these busy spots, ensuring cleaner and more efficient operations.
Log in or sign up for Devpost to join the conversation.