Arduino instead of BCS or Brewtroller

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.

OEHokie

Well-Known Member
Joined
Jan 8, 2010
Messages
89
Reaction score
0
Location
Arlington, VA
Anyone have any projects going on using an arduino board to control their brewery? I currently use a BCS-460 but a) want to mess with arduino and b) want more control/need more outputs.

My goal:
-Control 4 solenoid valves (up to a total of 7 later)
-Control 3 heating elements
-Control 1 pump (maybe 2 pumps)
-Maybe some other gadgets as I find them
-ipad interface
-wifi / networked interface

I think my dream would be to repurpose my old ipad as the sole controller for the brewery and have it docked and controlling everything.

Anyone try any aspect of this? Thanks
 
I've got a few arduinios running various aspects of my pipeline. One acts as a dual stage controller for my fermentation chamber, and another acts as a PID for my RIMS set up. I've seen ads for serial-to-iDevice interfaces, but I've never actually used one myself. The alternative, of course, would be to use the arduino to serve a webpage and then to control the page from the iPad's browser.

Keep us posted! :mug:
 
I, too, am curious. I'd like to use it for an E-brewery most likely an e-Herms.

Mind sharing your build a bit more, Rockytoptim?
 
Yeah, that uberfridge post looks like a great resource, I'll have to check it out. The biggest thing I was worried about was the web interface stuff.

This will also be nice experimentation for me with arduino because I plan on making a kegbot as well.
 
The biggest thing I was worried about was the web interface stuff.

You could easily cut out the bit with the web interface! There are tons of articles on using LCD displays and simple controls with an Arduino.
 
You could easily cut out the bit with the web interface! There are tons of articles on using LCD displays and simple controls with an Arduino.

Ha, I didn't mean it like that. I meant the setup of it. The uberfridge page linked from that other thread made it seem easy. I definitely want a web interface. I want to be able to check the status from my couch like I can do now with the BCS system.
 
I apologize for the clutter but I have been making some adjustments to my brew stand but took some pics to night as requested.

My HERMS brew stand. I have Blichmann 20 gal MLT. HERMS vessel is a 2 gal igloo cooler with Copper Coil in it. I have temps sensors on the heat exchanger in and out and temp sensor in my MLT. The heat exchanger out is what my arduino PID controls the set point to. I only vary the output to the heating element. I don't control the output to the pump. BK is Keggle.





Here is my simple control box. Its not pretty but it works for me.
I got the box at home depot. I believe its 8 x 8 x 4.

The round plug on the left is for connecting my 3500 watt HERMS heating element.

The switch is to select to manually use the pump or control via the PC interface.

The regular electrical socket is used to power laptop and the air pump that mixes my HERM vessel.

The blue, yellow, orange wires are for the temp sensors.
IMAG0122.jpg



I used mini XLR connectors to connect temp sensors to the control box

IMAG0123.jpg




Temp sensors are DS18S20.



Here is the assembled temp sensor and thermowell.




Here is pic of my PC interface. Processing is on the left. The two graphs are plotted via LiveGraph and is updated real time from logged data file that processing writes from the the data it recieves from the arduino.

The top graph is the temp sensor for mash temp, heat exchanger in & out.

The lower graph is showing PWM of the HERMS element and state of the pump on or off.

I run all this on Ubuntu and use a script to start the processing sketch, and the two live graph windows so its just a double click of a icon when I start everything up.

Feel free to ask me any questions.


 
Thanks man. This is a pretty sweet setup you've got. I will probably end up modeling my new build very similarly to yours. How was the arduino programing? Does it handle everything alright? What model are you using?

Thanks!!
 
The programming is easy to pick up. I had done very minimal code before I started with the arduino. The PID library was made by someone else. I will post location later today.

I use the arduino uno.
 
I am currently working on a project to control my brewery with an arduino (as funds become available). The arduino really opens some options for advanced automated brewing systems that out of the box controllers just wont provide.
 
I am currently working on a project to control my brewery with an arduino (as funds become available). The arduino really opens some options for advanced automated brewing systems that out of the box controllers just dot provide.

Yeah, that's why I'm looking to try it out. What are you using for your project, if you dont mind me asking?
 
I'm working on a similar project now. I've got the LCD and temp sensors hooked up and reading. I need some relays and various other parts to get any furthur. I currently have a full RIMs setup based on Kal's electric brewery. Mine is currently running on a BCS-460. I have a degree in Electrical Engineering .. and I like playing with circuits. I've played a little with pic microcontrollers in the past but not much. This is the first time I've played with an arduino.
 
Yeah, that's why I'm looking to try it out. What are you using for your project, if you dont mind me asking?

My project, eventually will include:
2 vessel system with "on demand Hot liquor"
RIMS controlled with fuzzy logic (using info like the mash volume, MT outlet and RIMS outlet temps)
Recipes (including mash and boil profiles) read from SD card, based on Beer XML
Idiot prof reminders of things that need to be done
Log of all sensor inputs (back on the SD card)
Control of runoff, boil time and boil power to hit gravity numbers
automatic hop additions
automated CIP cycle (CIP is your friend, it makes brewing WAY more fun)
plus a few literal bells and whistles, and flashing lights

While it is a bit enthusiastic, at-least it will keep me busy.
 
Good luck with the project, expect to spend a bit more time with programming than you would expect if you are trying for touch interface and real time variable access. I have a gas powered system with more robust interface hardware and industry standard sensors and control devices, that is controlled by an .Net application that uses MySql tables for data storage. What I found was a need to access recipe tables, PID tuning and other functions during run time which meant creating various screens and tables to make that happen, which take time to build and test. Working from the older Java application, it still consumed around 800-1000 hours of programming time to convert, build new screens, and test by simulated system operation, to reach a point where recipe build will enable automatic operation by doing all the control calculations and setpoint values, then hit one icon to start. Almost all the bells and whistles are built in from recipe build to water profile and PH calculations, with voice synthesized annunciation for alarms and manual hop additions.
The sad part is I have an automated system that I am never home long enough any more to use, system time is limited to once a month R&R visits and live testing and PID tuning.
 
Why reinvent? The Brewtroller is Arduino based. You could use their hardware and write your own code or even use their code as a base and modify it for your own use.

I chose BCS because I wanted to spend more time brewing than coding. :)
 
I have an EE and like playing with electronics. I also enjoy the DIY aspect of brewing almost more than brewing or drinking the beer. I built my control panel and the rest of my brewery, so why not build the controller too. It's more about self accomplishment than anything else for me, as well as combining two hobbies. I also spend WAY too much time in hotels for work travel, so I have plent of time to work on it. PS: I already have a BCS460 .. building my controller is a side project.
 
The programming is easy to pick up. I had done very minimal code before I started with the arduino. The PID library was made by someone else. I will post location later today.

I use the arduino uno.


Here is the PID library that I used. Also the processing front end as well if your interested.

Arduino playground - PIDLibrary
 
how did you build those thermowells and where did you buy the xlr connectors? I just bought a netdurino (audurino except it runs DotNet micro framework) and cant wait to get started.
 
how did you build those thermowells and where did you buy the xlr connectors? I just bought a netdurino (audurino except it runs DotNet micro framework) and cant wait to get started.

No I didn't build the thermowells. I got them from Brewers Hardware. I have bought many form them and they work great. Temp Thermowells.

I got the female mini xlr connectors from amazon mini xlr connector

I got the panel mount male mini xlr connectors off ebay.
 
Last edited by a moderator:
cool beans thanks for the links. What did you use to fill the gap between the sensor and the probe wall? JB Weld? something else?
 
I am curious as to what the appeal is for the Arduino platform, it seems to be very limited in what it could do versus the expectations that I see put forward. Other platforms are out there with much greater capability that I am curious why all the time is spent trying to make such a limited platform into a brew controller that ends up having reliability and software issues. With other platforms and interface boards out there that are capable of supporting higher level programming languages and operating systems, I wonder why the Arduino platform is used.
With an ARM 9 platform, I2C interface boards, and Java for the programming language you could build a much more advanced controller with the same time investment, and have something that can be expanded.
 
I think it's the open source bit that has caused it to be the go-to platform for hobbyists.

Also, personally I don't think having a high level language like java is necessarily a desirable feature in an embedded system, although I come from days when memory limitations meant that even assembly language code had to be optimized well to fit into the available space.

I think in java (or C#, or any garbage-collected language with a large standard library) it is too easy to code up some nice brewing software that runs out of memory.
 
kladue said:
I am curious as to what the appeal is for the Arduino platform, it seems to be very limited in what it could do versus the expectations that I see put forward. Other platforms are out there with much greater capability that I am curious why all the time is spent trying to make such a limited platform into a brew controller that ends up having reliability and software issues. With other platforms and interface boards out there that are capable of supporting higher level programming languages and operating systems, I wonder why the Arduino platform is used.
With an ARM 9 platform, I2C interface boards, and Java for the programming language you could build a much more advanced controller with the same time investment, and have something that can be expanded.

There are certainly more powerful platforms, but not everyone wants to spend 800-1000 hours programming like you describe. Arduino is cheap, easy, and quick. It has a wealth of tutorials to help people just getting into microcontrollers, and it's possible to have a functioning first system in an hour or two.

I don't know what you mean by reliability issues, as I've got arduinos that have maintained continuous uptime for months and months.
 
IMHO the arduino seems to be so limited, you can put a lot of effort into building a brew controller that functions at a very basic level, but when you need to do more the limits of the platform force you to move those functions to a more capable platform with the hardware relegated to IO duties. It just seemed to make more sense to start with a more capable platform and IO boards, and add function through programming as you go in increments, than start with too small a platform and end up with software on a more capable platform when you need more function than it can support.
The Brewtroller serves a need for combined time and temperature control for the basic brewing systems, but there seems to be no next step up in controllers when you need more functions.
 
you can run higher level languages (C#) in the netdurino. Sure you can probably write crap code on it that runs out of memory but if you know what you're doing, and don't try to do things that probably should be done on a microcontroller than I dont see an issue. That being said i haven't received my netdurino yet and I could be totaly wrong.
 
IMHO the arduino seems to be so limited, you can put a lot of effort into building a brew controller that functions at a very basic level, but when you need to do more the limits of the platform force you to move those functions to a more capable platform with the hardware relegated to IO duties. It just seemed to make more sense to start with a more capable platform and IO boards, and add function through programming as you go in increments, than start with too small a platform and end up with software on a more capable platform when you need more function than it can support.
The Brewtroller serves a need for combined time and temperature control for the basic brewing systems, but there seems to be no next step up in controllers when you need more functions.

Could you give an example of a more advanced system we could piece together?

I'm not sure about the reliability issues with arduinos (never used them) but I enjoy programming and don't get to do it with my job. Plus, I only brew once a month, so there's a lot of downtime where I could be tweaking my brewery. That's the allure to me at least (and arduinos are relatively cheap).

I'm thinking about picking up an Arduino mega board (Arduino Mega 2560 (Atmega2560 - assembled) [Mega!] ID: 191 - $65.00 : Adafruit Industries, Unique & fun DIY electronics and kits) for the future expandability aspects (probably way more ports than I would need). I'm also going to try and use the uberfridge post (UberFridge | ElcoJacobs.com) as a resource and connect the arduino board to an old router for the web interface/remote programability.
 
kladue said:
IMHO the arduino seems to be so limited, you can put a lot of effort into building a brew controller that functions at a very basic level, but when you need to do more the limits of the platform force you to move those functions to a more capable platform with the hardware relegated to IO duties. It just seemed to make more sense to start with a more capable platform and IO boards, and add function through programming as you go in increments, than start with too small a platform and end up with software on a more capable platform when you need more function than it can support.
The Brewtroller serves a need for combined time and temperature control for the basic brewing systems, but there seems to be no next step up in controllers when you need more functions.

But limited for what?

I actually don't really use Arduinos much any more, favoring instead a custom built board. But, my brother (with no more experience than a year of high school compsci) built a two stage fermentation controller in an afternoon. I've never seen another board system that's so easy to get started with.
 
Here is an I2C analog board with outputs: low cost version I2C 12-Bit, 8-CH Analog-to-Digital Converter
Better choice BiPOM Electronics - DAQ-2543-DA-1 Peripheral Board
Here is an Digital board: low cost version I2C 16-bit GPIO Expander
Better choice BiPOM Electronics - DIO-1 Peripheral Board
And for PWM here is a board JeeLabs Dimmer Plug | Modern Device
There are various sources for these style boards, and various states of finish, to interface with USB Devantec USB to I2C, SPI and Serial interface - RobotShop
The interface choices cover most sensor types, and the ability to add cards as the system grows should keep budget down, but these are just interface devices. The 1 wire devices are a viable alternative to I2C, and might be easier for some to build from, but would probably need more user assembly and board development.
 
If you are technically adept then the roll your own would appeal, but it requires some programming skills with Java or other languages, and some wiring and control system design. If you do not fit the above categories then an out of the box solution is needed. I am a bit suprised no one has built a GUI for working with the brewtroller platform, that is robust enough for most systems, just needs a front end to do the data collection/storage/display things it is not able to do.
I have put together the code for use with a different type of hardware, and have done most of the things described in original post, and should be able to describe what approach works and what does not. At the expense of tweaking the Java folks, you have to be carefull and know some of the lesser known tricks to overcome certain Java quirks with graphic display, or the out of memory message will be your friend (and yes I profiled the thing to death for a couple weeks and came up with no answers).
 
+1 to rolling your own

reuse wouldn't allow me to dork around with a new development realm (DotNet microframework and embedded programming at large)

Picked up some LEDs and a bread board today at Radio Shack, any part of me that was non-nerdy died today.
 
I am curious as to what the appeal is for the Arduino platform, it seems to be very limited in what it could do versus the expectations that I see put forward. Other platforms are out there with much greater capability that I am curious why all the time is spent trying to make such a limited platform into a brew controller that ends up having reliability and software issues. With other platforms and interface boards out there that are capable of supporting higher level programming languages and operating systems, I wonder why the Arduino platform is used.
With an ARM 9 platform, I2C interface boards, and Java for the programming language you could build a much more advanced controller with the same time investment, and have something that can be expanded.

Arduino != Atmel;

Arduino is basically training wheels, it provides an added layer of abstraction to help people that don't understand what a bit mask is to get projects up and running.

Here is a pic of my HLT controller, I'm using gcc to program the atmel chip with out any of the Arduino boot loader stuff.


My source code is C i could easily recompile it for an arm, mips, et al
For me the raw chip has more then enough power to do what I want.
Here is the box its going to be going into.


for good info regarding the avr's i forum over at avrfreaks.net has all kinds of tutorials.

I haven't got to it yet but i have a basic app that will get and send data to the mcu form my laptop. the final project will have a down loader app that will read my recipes form brewtarget's xml files.
 
I'd have to ask the same as the posts above .. what limitations are you referring to? I've played with pic microcontrollers a little bit and I don't see anything I that I can't do with the arduino. With a stand alone chip you can upgrade to more internal memory and ios as well as a faster oscillator. But with the right board you can add more IOs and you can upgrade the atmel chip on the arduino up to 32k internal memory. I'm not trying to be an a**, I've got a EE and love playing with circuits ..gimme something to drool over.
 

Latest posts

Back
Top