Arduino Yun Automated Brewery

Homebrew Talk - Beer, Wine, Mead, & Cider Brewing Discussion Forum

Help Support Homebrew Talk - Beer, Wine, Mead, & Cider Brewing Discussion Forum:

This site may earn a commission from merchant affiliate links, including eBay, Amazon, and others.

ebstauffer

Well-Known Member
Joined
Nov 3, 2011
Messages
279
Reaction score
39
Location
Indianapolis
I started out with a traditional discrete component control panel for my 3-vessel brewery. About a year ago I switched to a single vessel BIAB configuration and so gutted much of the panel. End of last year I was hired to develop implement automation at a distillery Indy. I thought no better way that to conduct a proof-of-concept project for my small, 1 BBL, home brewery. What I settled on is a Arduino Yun which is a hybrid arduino/linux system -- there are two processors on the board which are able communicate via a serial link. Cutting to the chase... I've written the skeleton of the control software, you can see it here:

http://mashfermentdistill.com

An example of the page for strike water is below:

strike.png


I gotta say, Im really impressed with this piece of hardware: openWrt linux stack, ATmega32u4 chip on the arduino side with an Atheros AR9331 for linux. Both wired & wireless ethernet, microSD slot, REST library. Really nice. Big bonus is that you can run full blown PHP apps on the linux side. Although the above-linked site is running on my dev linux system, I can run that exact web app directly from the board with absolutely no other hardware required. My design does depend on a connection to the internet in order to pull a few libraries to the client (dojo, fontawesome, google web fonts) and to send acquired sensor data to an AWS RDS instance via curl.

The card is fairly small:

card.jpg


That's the Yun with about a dozen DS18B20 temp sensors. On the downside, you still need all of the SSRs, contactors, heat sinks, fans, enclosure, ferrules, etc that you need for a discrete component solution -- you'll see no money savings there. But the ability to tweak functionality (read: fix bugs) in software is compelling.

At this point I have about 8 hours into the project with a long way to go. I've written the core web and including a small PHP class that provides functionality such as:

PHP:
$objDigitalPin = new digital_pin();
$objDigitalPin->setHigh(13);

which will do nothing more than turn on onboard LED. You can see how it will be similarly simply to turn on a pump or an element.

My dev stack is:
PHP5 (this is precompiled for openwrt)
SQLite3
Dojo 1.11

Suffice it to say it will depend on CSS3 and HTML5; I'm done supporting the IE6s of the world. The UI is a bit wonky on mobile devices especially the pump switches and boil power slider -- that will eventually be fixed.

More than happy to share any / all code with the community and would appreciate any thoughts on the project.
 
Back
Top