With the trend in pubs that brew beer to save on shipping and make the beer more environmentally friendly, why not make the beer at home and save on having to go to the pub? This controller will let you keep the beer at the right temperature during the fermentation process and let you adjust and monitor the current temperatures and logs from anywhere, so you can show your mates in the pub, if they're into that kind of thing.
I've had a go with one of the kits and not a bad first attempt. The display showed the control kept the temperature within the setpoints. The log was saved to groove streams and I could read the latest data on groovestreams. Part way through I found that the data coming out of groove streams also counted towards the 5Mb limit, so I lost a day or too of the log, probably to me refreshing the webpage too often to update the graphs. I've removed these graphs as I plan to post the data directly to the webserver.
The heaters I'm using are a little overkill (250w total) as they were barely on and have resulted in a sawtooth wave on the measured temperature. this was expected, as the control is a bang bang controller. My limits were quite wide 18-20 degrees, so I can reduce the effect a little that way too.
I've had another go since and captured the following logs:
A friend of mine is hosting this on his web server, running Apache2, this was developed on a Pi so can be run at home easily. The issue with grovestreams data limit has made me want to setup the web server to accept the POST requets and store the data in an SQL database.
I've implemented the circuit on some strip board with a couple of connectors to attached the temperature sensors. These have been encased in some copper pipe end caps and hot glue with wire to 3.5mm jacks. This could easily be replaced with a waterproof version of the sensor, I just didn't have any.
I've also created a simple laser cut case to house it all in, design in the files on the project page.
I've put together some code based on the Adafruit libraries with the grovestreams api to log the data to the internet and uploaded it ghithub. Sadly I forgot to remove my api key from the code and have had to change it. When I tried to change it the Particle libraries have been updated and the code no longer links due space available. I need to revisit it an see what can be removed or optimised. It's been written to handle two sensors and two heat and cool channels, so I may reduce this to only one channel as a temporary solution.
At my local Maker Space, a few of us have been attempting to make our own beer. When someone found a load of brew kits reduced and bought the lot, I decided to have a go and wanted a temperature control system to keep it at just the right temperature for fermentation. Another member had used a heat bath to keep the fermentation bin warm. I wanted to build on this to control the temperature and log all the data to help improve my brewing.
I had a rummage through my parts bin and found the bits and pieces in the components list and ended up with the following circuit: