BrewMonitor: the Arduino-powered, cloud-based homebrewing controller


Demo: http://dev.thebedroomlaboratory.com/~martin/brewmonitor/

Github: https://github.com/thebedroomlaboratory/BrewMonitor

I recently started brewing beer at home with a group of friends and one of the things that quickly came to light, is that maintaining a steady fermention temperature can be the key to a good brew. We have a stick on thermometer on our fermenter buckets which we can use for reading the temperature of the beer, locally, but I was wondering if there was a system I could hook up, so that all of us could check in on the beer via the web. Lo and behold, there are a few systems available for monitoring/controlling the temperature of a batch of homebrew beer as it ferments. But most of them require expensive equipment and the ones that don’t are still based on the Arduino-sensor and Raspberry Pi-gateway model, which will set you back the bones of €80, if you make it yourself. As well as that, the webserver for the BrewPi system (most popular as far as I could see) runs on the Raspberry Pi in your home network. This means you have to configure port forwarding and something like dyndns to access it from outside the house, making the system configuration a bit of a chore.

BrewMonitor-SiteWith that in mind, have a gander at this: http://dev.thebedroomlaboratory.com/~martin/brewmonitor/ It’s just a basic site, based on this Scotch.io tutorial, which is currently plotting the temperature in my sitting room. It’s got a PHP backend (Laravel framework with RESTful API), MySQL database and an AngularJS frontend with (n3-chart/d3 for the graph). In the house, I’ve whacked together a quick breadboard circuit which comprises of an Arduino clone, a DS18B20 Temperature Sensor (with resistor for the i2c connection) and an ESP8266 module. Every minute, this wireless sensor POSTs the temperature to our REST API. This value is saved in the database and will appear in the graph whenever the page is opened. To hook it up to a fermenter, the sensor would just be placed in a thermowell in the fermenter bucket so we can see the beer temperature over time.

It will be easy to add extra functionality to this basic system as time goes on (i.e. user accounts on the cloud, authentication, a screen for the Arduino, OTA firmware updates for the Arduino, relay control of a fridge/heater, etc.). The real beauty of this system, however, is that everything is saved to the Cloud and we don’t need an extra gateway device (Raspberry Pi) to get it there. This reduces the cost and complexity of the installation of the system immensely! The parts for the above circuit only set me back €17.20 (DS18B20, ESP8266 and 12v Adapter from ebay and Funduino from dx.com), and these costs could be reduced again by single boarding everything, instead of using the Arduino clone (we have done this for some of our other projects already)… Potential crowd-funding campaign possibly? I’ll keep you in the loop.