One of the most important things in brewing beer is temperature control. Matter of fact, one of my fellow club members is very fond of saying, “Come back and talk to me about brewing great beer after you have temperature control in place, because If you don’t have temperature control, there is no way you can brew great beer.” And I have to agree he is right, temperature control plays an important part of the entire brewing process. Not only do you need temperature control during the mashing process, you also need it during the fermentation, lagering and storage processes.
As part of building my Electric Brew System I’m going to need to control the temperature of my mash and I want to be able to program a mash profile and let the system notify me of significant steps in the process. To manage temperature you have to monitor it, so I started out building my controller with baby steps.
First I wrote the simple things like the control interface and services and then I broke the various parts of the automation control into separate circuits that could be built and tested by themselves.
I started off with the temperature monitoring circuit. What I wanted to be able to do, was set the interval that the microcontroller would read the temperature sensor and then log that to a file on a SD Card that I could then use to display a graph of the temperature over time. The DIY Brewery Temperature Logger project is the result of that first phase of development. It is a Netduino Plus Project that provides a web-based temperature monitor.
This project has several parts:
CodingSmackdown.ControlInterface – A jQuery based website that is hosted on the Netduino Plus’ SD Card and served using the NeonMika.NETMF.Webserver. It provides a self updating view of the temperature history as well as a settings tab that allows you to change the logger’s settings as well as the Netduino’s Network settings.
CodingSmackdown.Services – A C# .NETMF Library that contains the various threading libraries to handle the NETBIOS Name Resolution, NTP Time Client and Temperature Logging. It also includes classes to handle accessing the various GPIO and Analog pins on the Netduino and other various base and support classes used by the project.
CodingSmackdown.TemperatureMonitor – A C# .NETMF Application that is responsible for loading up the various services at start time and provides classes that are used by the NeonMika.NETMF.Webserver to process jQuery requests sent by the web client.
JSONLib – A C# .NETMF Library used to format the various responses in JSON format for use by the web client. The original code was written by Wouter Huysentruit and can be found over at http://code.tinyclr.com
NeonMika.NETMF.Webserver – A C# .NETMF Library that provides the entire web server for the project. The original code was taken from the NeonMika.NETMF.Webserver project here on codeplex over at http://neonmikawebserver.codeplex.com This version was paired down specifically for this project and to meet the memory constraints of the Netduino platform. For the latest version please reference the original project.
Below are pictures of the user interface and schematics of the temperature sensor circuit, so you can build it yourself.
The main page retrieved by navigating to http://netduinoplus/index.html
The Settings Tab that can be used to change the Temperature Logger’s behavior and network settings
The breadboard layout of the temperature sensor circuit
The schematic of the temperature sensor circuit
Images of the prototype Netduino Shield that holds the temperature sensor circuitry
You can find the source code and updates to the project at http://diybrewerytemplogger.codeplex.com/
Till next time, stay sanitized and keep an eye on those fermentation temps and I’ll catch you for a pint around the keg.
Jim Lavin – Otaku Brewer