Tuesday, March 22, 2022

Overengineering Coffee Bean Storage #MagTag #eInk @denschub

There are three types of people who consume Coffees: those who drink it for the caffeine, those who drink it for the taste, and those who make coffee their hobby. Dennis Schubert is in the latter category.

One thing that always feels more complicated than it should be is the logistics around handling coffee beans. Buying and consuming those super dark roasts from the shelves of your local supermarket is easy. Things become a lot more complicated as soon as you buy fresh, lightly roasted specialty coffee beans.

You want your coffee to be fresh, but it’s actually possible for beans to be too fresh to consume. During roasting, a lot of CO2 builds up inside the beans, so you want to give them two to four weeks to degas after roasting.

However, after that, you want to consume the beans within a month or so, or they’ll lose a lot of their finer flavors. You can prolong the life of your beans significantly by freezing them after the degassing period, but then you somehow have to keep track of what beans are currently inside your freezer, when they went into the freezer, …

… My plan was to develop both software and hardware to solve this: an application that allows me to keep track of all the beans I ever consume, and a nice solution for using that data to have my storage containers labeled.

The solution was an iPad showing the web-application with the bean inventory, as well as a single storage unit (pictured above).

I originally planned on designing my own hardware for the display unit from scratch. Designing my own hardware would have been months of work, and sourcing and testing parts is always a bit of a pain. Luckily for me, The folks at Adafruit came up with the product I need: The Adafruit MagTag. This is a small board designed around an ESP32-S2 (if you don’t know that chip: that’s basically a microcontroller with embedded WiFi), as well as a 2.9-inch E-Ink display.

It is always amazing how good Adafruit’s software support is, and this results in you having a lot of choices in how to program this unit: You can go as high-level as using CircuitPython to build your firmware, but you can also use ESP-IDF if you want to go deep and write C code. It’s a lot of fun working with their boards. However, as this is designed as a general-purpose development board, there’s also a lot of hardware on it that I simply don’t need: RGB LEDs, buttons, an accelerometer, expansion slots, … all of that results in the unit being a bit larger than it needs to be. However, that’s still better than designing my own hardware, and to be fair, the price is amazing.

Check out all the details in the post here.

No comments:

Post a Comment