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.

  1. MQTT gets/receives data faster (measured by time)
  2. MQTT is faster when publishing data (measured in bytes transmitted over time)
  3. 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.