Hello internet void! It has been around 7 months since I last posted a blog update. When I first started this I wanted to use this blog to keep myself accountable and make some updates regularly on a monthly basis. But I definitely started slacking (oops). With that being said I actually have made some progress and got some amazing help from community members. With that being said, this blog will go through some of those updates and why I started to slack. Follow along for some lessons learned and some project updates ๐.
Learning to Not Be a Perfectionist ๐ค
One of the main reasons I havenโt been posting is because I felt that I was spreading myself a bit too thin if I focus on outreach and writing blogs. From this I decided I really wanted to dedicate working on making a reliable Waste Watcher Module, and once the project was in a โgoodโ state I would focus more on sharing the project. However, from the obligatory New Yearโs self-reflection period, I learned that was maybe not the best idea. I decided that I was maybe being too much of a perfectionist and that the idea of what the โgoodโ state was, would never be completed. And thatโs kind of what happened ๐ .
Taking a step back I realize that Waste Watcher isnโt really that important when it comes to the goals of helping people/communities reach a 85% waste diversion rate and reducing the average per person disposal rate (1,704 lbs per year in the US) by 66% (see about page). As a quick recap, Waste Watcher only collects photos of the waste and the fullness of the bin. If you look into what metrics are being used to measure these goals, itโs weight! Not fullness or photos. Thus, I realize that focusing on a sensor module that collects weight is more important (more on that later ๐).
Recap on lessons learned:
- Donโt be a perfectionist
- Evaluate goals to not get lost in perfecting small things
- Have a well defined โgoodโ state to avoid a never ending cycle of trying to improve something
Waste Watcher using Adafruit IO is Released! ๐คฉ
What was I trying to perfect? Iโve been working on Waste Watcher using Adafruit IO! I actually worked on a previous waste watcher, but after a while, I realized it might have been a bit complicated to setup for novices. The reason being is that users would have to set up an entire LAMP (Linux, Apache, MySQL, and Python) tech stack with zbce api.
Therefore, I started to look into easier Internet of Things (IoT) solutions and found Adafruit IO, an off-the-shelf IoT platform. For now, Adafruit IO is a great addition to this project and helps in the following ways:
- ๐ค Helps makes the project more user-friendly (no need to setup your own server, ready to use APIs, Dashboard feature)
- ๐ Free to use F O R E V E R โฐ(ยฐโฝยฐ)โฏ (according to their website)
- ๐ค Great community on Discord willing to help people out
- ๐ Data is never sold
After months of developing this and getting help from Patrick and Primal (contributions mentioned in the readme), I was able to get it working to some degree. However, I will mention that sending photo telemetry can be sort of flaky at times, but I felt ready to release it for now, otherwise Iโm always going to be stuck trying to improve it and it will never be released ๐.
With that being, said Waste Watcher Adafruit IO is out, please check it out and give it a star โญ.
Why MQTT ๐คทโโ๏ธ
MQTT is a communication protocol that is popular across IoT applications to send telemetry to a desired location. The old waste watcher uses HTTP to send telemetry, but does not measure up to MQTT when it comes to the requirements of the projects.
Solely basing it off of this one FlesPi Blog for specific data for now, but based on my previous research into MQTT I also see these advantages from other sources.
- MQTT gets/receives data faster (measured by time)
- MQTT is faster when publishing data (measured in bytes transmitted over time)
- MQTT uses less energy (measured by power consumption)
Waste Waiter ๐ฝ
As mentioned in the previous section, measuring the weight of waste is an important metric when it comes to the goals of the project. With this, I started working on Waste Waiter, which will use a ESP8266-NodeMCU and some load cells to measure the weight of the bin in real-time. It will also use Adafruit IO when it comes to managing the weight telemetry stream. I am still working on the preliminary work, but Iโm hoping it will be much easier than Waste Watcher Adafruit IO
Call to Actions
I started listening to How to Save a Planet and love how they put a Call to Action section after each podcast. Taking inspiration from that, I decided to come up with my own call to actions after each blog. I will also categorize it by levels in order of easy tasks to hard tasks.
- Lvl 1 - Share your thoughts about the blog in Discord in the
#๐ฌ-general
channel. - Lvl 2 - Checkout Katie Patrickโs Podcast Episode High Tech Trash & Urban Legibility with professor Dietmar Offenhuber PhD
- Lvl 3 - Become a tester for setting up a Waste Watcher by assigning yourself the issue. All materials can be provided (just ask on Discord)