HOWTO - Make a BrewPi Fermentation Controller For Cheap

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.
Status
Not open for further replies.
I'm thinking it might be able to work if you can just put your beer and fridge sensors at the same location inside your reflectix wrap? Or even better one inside the beer and one inside the reflectix wrap. You just need to keep the sensor from measuring your ambient temp in the fridge because that's not changing.

So should those sensors be reading the same or one cooler to mimic a fridge? I have thermowells going directly into the beer. I could put the beer sensor in the thermowell and the fridge sensor in the jacket. It would be a bit cooler than the beer.

Can it then be tweaked to control HEAT ON vs. COLD ON to adjust the beer temp?
 
In your case you have no cold on though right? Your freezer is always on and your fighting it by applying heat to each one individually with the heat wrap right?

If thats the case you could get away with just a single channel relay, something like this

http://www.amazon.com/dp/B00BLZ7EYI/?tag=skimlinks_replacement-20

You dont need to use both, for a long time i only had a single relay and via the web interface i changed it to be either heat or cold. In the winters i plugged my heater into the relay, and swapped it to heat mode, and in the summer i hooked it up to my freezer and swapped it to only cool.

It worked pretty well, you'd be doing the same thing essentially.
 
Last edited by a moderator:
Did you happen to run across if the BrewPi has the ability to receive temps without using the Arduino? I have a rpi with temp probes connected already. I'd like to just use the graphing ability of BrewPi, rather than any of the controlling parts.
 
No unfortunately its not possible. I mean its open source so you could modify it but it would require quite a bit of work.

The Arduino shouldnt hold you back though, in the grand scheme of things it's only a minor part of the cost($15-18) compared to the relay boards, sockets, wiring, sensors, RPI, etc...

And it does serve a very specific purpose in its always on functionality.
 
Did you happen to run across if the BrewPi has the ability to receive temps without using the Arduino? I have a rpi with temp probes connected already. I'd like to just use the graphing ability of BrewPi, rather than any of the controlling parts.


I think this is a thread to it, but I haven't done it myself. From what I have read it is waaaaaaay easier with an arduino because without it you need a lot of coding I the raspberry pi.

https://www.homebrewtalk.com/f235/raspberry-pi-temp-controller-344529/

Disclaimer again that I haven't built either yet, my parts get here Friday.


Sent from my iPad using Home Brew
 
I think this has been addressed in part, but I'll shoot anyway because I am really interested in this. My brewery is about 20 minutes away from where I actually live and I would love to be able to deploy some technology to maintain fermentation temps, rather than having my old man (Igor) check and adjust my STC-1000s.

My current setup is an old school Delfield commercial cooler (think elementary school kitchen) set at a constant 38 degrees. I can fit three 1/2 bbl sanke fermenters in it. To regulate temperature, I use reptile tape around the fermenter insulated by a reflectix insulation jacket that I velcro around the sanke and the tape. With this setup and three STC-1000s, I can maintain a temperature within about .2 degrees C anywhere from 38 degrees to 72 degrees F.

I've held off on the BrewPi because it seems to focus on controlling the refrigerator temp, which in my case, won't work because I will use my setup to lager ferment, ale ferment, or crashing/lager at any one time.

How difficult would it be to setup a homebrewed option for my case?

Needless to say, Fuzze, this is awesome work. I'll jump at any chance to build a Linux LAMP server to make better beer!

Your setup is exactly like mine, right down to the reflectix. My chamber is a 4x4 closet with an ac unit. The cold room plus heating pad is not that unusual. I've had many discussions with elco about this configuration. He and mdma are currently redesigning bpi to support this configuration and multiple fermentations. The new design is quite flexible, and based on my conversation with mdma will be able to support even more config variations.

Neither has communicated a time frame for this release. From what I gather it is extensive and may be a near complete rewrite of the backend. I'm waiting for that release to pull the trigger.
 
Your setup is exactly like mine, right down to the reflectix. My chamber is a 4x4 closet with an ac unit. The cold room plus heating pad is not that unusual. I've had many discussions with elco about this configuration. He and mdma are currently redesigning bpi to support this configuration and multiple fermentations. The new design is quite flexible, and based on my conversation with mdma will be able to support even more config variations.

Neither has communicated a time frame for this release. From what I gather it is extensive and may be a near complete rewrite of the backend. I'm waiting for that release to pull the trigger.

I dont quite understand why it wont work as it is now, you still need multiple arduinos to control it..maybe that's what they are changing so that you can control multiple chambers from one arduino? But yea that would be a rather large lift on their part.

As it is now, your setup isnt that confusing to a brewpi. The only difference is that your ambient temperature is in the 30's instead of in the standard ambient range...your "Fridge temp" then becomes the temperature your heat wrap is putting out, and your beer temp is your thermowell beer temp as always. Obviously your PID values will be significantly different as it tries to figure out how your system works, but in the end it should work fine i would think.
 
Read the direct heating and multiferment threads over on the bpi forum.
I dont quite understand why it wont work as it is now, you still need multiple arduinos to control it..maybe that's what they are changing so that you can control multiple chambers from one arduino? But yea that would be a rather large lift on their part.

As it is now, your setup isnt that confusing to a brewpi. The only difference is that your ambient temperature is in the 30's instead of in the standard ambient range...your "Fridge temp" then becomes the temperature your heat wrap is putting out, and your beer temp is your thermowell beer temp as always. Obviously your PID values will be significantly different as it tries to figure out how your system works, but in the end it should work fine i would think.

I think multiple chambers will always require a separate arduino, but maybe not. As I understand the charges are to abstract the actuator/sensor objects to a more generic concept that can be interconnected in more generic fashion.

I'm guessing that separate chambers will always require a separate arduino, but maybe not.


It can work today, as you describe. Elco talks about it on the direct heating thread. By turning up the poroportional gain term nice and high and letting the chamber sensor float free, it effective becomes a thermostat instead of a pid.
 
Finally got BrewPi up on a Wheezy laptop. I was running into problems with the automatic install using the install.sh script. It wasn't finding the rpi-update package (not sure if this is necessary) nor the arduino-core package. I found this link for the rpi-update work around and just did an apt-get install arduino-core for the arduino package. I followed the manual install steps through 4.2.1. The config.cfg file isn't there initially. You have to copy ~/brewpi/settings/config.cfg.example as config.cfg in the same directory. I changed the arduino paths and ports and arduino board name. My ports are labeled tty1 as oppossed to ttyACM1. I don't know if that will cause problems [EDIT The tty* ports get picked up when the Uno is plugged into the USB connection on the laptop. The show up as ttyACM0 or ttyACM1. So, goog togo] I entered the IP address in the browser window and got the web interface as described by Fuzze in post #40. I hope to mess with the arduino board this weekend.

FWIW, I think this would work on other Linux distributions and that my first attempt at an Ubuntu install failed because of other things and not the particular distro.

Todd
 
Good to hear, i bet it would...weird the install had issues but glad you figured it out.
Luckily once you have your circuit made the only thing left is to program your arduino and setup the devices and your done, which is like a 15 minute process if that.
 
I ran into an interesting issue this weekend as I was setting everything up. I am trying to integrate a RGB LCD in the future so I was using a breadboard for testing everything as I installed the sensors. I kept giving power by USB from the raspberry pi to the arduino and unplugging after checking it and the rpi kept changing the name for the serial port for my arduino. As a result one time it would work and another it wouldn't. I know it is a specific situation but tonight I will try applying this fix and hardwiring the arduino serial port name in the config file. Hope this helps someone in the future.

http://hintshop.ludvig.co.nz/show/persistent-names-usb-serial-devices/

Does anyone have experience with using a RGB 20x4 LCD with the BrewPi software? When I was planning I figured I could just add the liquid crystal code into the arduino file but the file is just machine code.


Sent from my iPad using Home Brew
 
I got the Uno connected this weekend. Another steep learning curve. Ultimately I was having a problem with the way the path names and variables in the config.cfg file were getting picked up during the Arduino programming stage. I eneded up just hard coding the paths. I'll take a closer look at the brepi code and see if I can figure out what was going on.

I wanted to see if anyone has used "brick" connecters or even an Arduino screw shield instead of soldering. I have no problem soldering but was thinking that using other, less permanent connections might make the system more flexible (or at least more convenient to change or re-purpose). I got caught without a 4.7k resistor so I'm treading water again while I wait to pick one up.

Ultimately I'm looking to use this to control some variation of a glycol or water jacket cooling mechanism. There is some discussion on the BrewPi forum about this and it seems like the refrigerated chamber temp/beer temp logic can be applied without to much trouble.

Todd
 
OK,
so I briefly read though this, I have a few questions., but let me lay this out so we can see where I am coming from.

I have a raspberry pi, but it is running raspberry pints... can I run these 2 together?

Would I need the arduino/relay board for every "chamber" I want to control, or can I use a bigger relay board...like an 8?

Have people set up multiple "chambers" i.e. Fermenting fridge 1(Ales), Fermenting fridge 2(lagers), Keezer 1, Keezer2?

Thanks

Bryan
 
OK,
so I briefly read though this, I have a few questions., but let me lay this out so we can see where I am coming from.

I have a raspberry pi, but it is running raspberry pints... can I run these 2 together?

Would I need the arduino/relay board for every "chamber" I want to control, or can I use a bigger relay board...like an 8?

Have people set up multiple "chambers" i.e. Fermenting fridge 1(Ales), Fermenting fridge 2(lagers), Keezer 1, Keezer2?

Thanks

Bryan

Yes you should be able to use it on the same system as the RPints, it uses Raspian as well. In fact Rpints already has pretty much everything installed that you need except the BrewPi code since it also runs on a LAMP setup.
The only real issue you will have to deal with is installing BrewPi, and setting it to run on a different port on the Apache web server than your RPints which i am going to guess steals the default Port 80.

Right now you just use a different arduino for each chamber, there are some posts previous that have the BrewPi instructions on how to do this, each chamber gets its own web interface basically.
 
Cool,
no worries on changing ports, I have already changed the ports in rpints, to be on 8083, for some port forwarding stuff.
 
I got the Uno connected this weekend. Another steep learning curve. Ultimately I was having a problem with the way the path names and variables in the config.cfg file were getting picked up during the Arduino programming stage. I eneded up just hard coding the paths. I'll take a closer look at the brepi code and see if I can figure out what was going on.

I wanted to see if anyone has used "brick" connecters or even an Arduino screw shield instead of soldering. I have no problem soldering but was thinking that using other, less permanent connections might make the system more flexible (or at least more convenient to change or re-purpose). I got caught without a 4.7k resistor so I'm treading water again while I wait to pick one up.

Ultimately I'm looking to use this to control some variation of a glycol or water jacket cooling mechanism. There is some discussion on the BrewPi forum about this and it seems like the refrigerated chamber temp/beer temp logic can be applied without to much trouble.

Todd

I see no reason the screw shield wouldnt work, if that makes it any easier for you. Its just an additional cost I didnt want to invest. Honestly getting it on is way harder than getting it off...getting all the wires on to the arduino takes a bit of work and a steady hand, pulling them off takes a quick touch to the solder for each connector and the wires will usually just fall off ;)
 
Alright, forgive me if I sound like a total newbie (I am, but I'm not a noob, which is different) but let me see if I have this straight: I can install BrewPi on my old PC (running Linux) and use a temperature probe and an Arduino (or preferably a Teensy) to basically get a full temperature control environment for fermenting and maybe even brew-day control for RIMS and hop stands?

Because I'm doing that if I understand correctly.
 
Alright, forgive me if I sound like a total newbie (I am, but I'm not a noob, which is different) but let me see if I have this straight: I can install BrewPi on my old PC (running Linux) and use a temperature probe and an Arduino (or preferably a Teensy) to basically get a full temperature control environment for fermenting and maybe even brew-day control for RIMS and hop stands?

Because I'm doing that if I understand correctly.

Yes except no on the rims stuff and maybe the teensy, I'm not totally familiar with it.
It's strictly for fermentation control.
 
Yes except no on the rims stuff and maybe the teensy, I'm not totally familiar with it.
It's strictly for fermentation control.

Teensy is an Arduino alternative, pretty cool from what I can see, and cheaper. I am, if anything, a cheapskate. :)

So, why couldn't I control boil/mash temps as I would with a traditional PID? My thinking is that if it can control temperature, it should be able to control the SSR driving my electric boil kettle. Set it to 170F and it will hold the kettle there for a hop stand. Set it to 152F and it will hold it there so I can recirculate a hot water coil through the mash, or even control a second electric element in a little RIMS tube.

Again, maybe I'm missing something obvious. I'm not familiar with automation or microcontrollers at all, really, so I'm just wondering why BrewPi can hold a ferm chamber at 65F but can't control a boil kettle element.

One unrelated question - Do I understand correctly that BrewPi can control several different environments at once (as in multiple chambers at different temperatures)? I know this isn't a BrewPi thread per se, so a simple yes/no is all I am after.

Thanks for the quick reply!
 
Cool,
no worries on changing ports, I have already changed the ports in rpints, to be on 8083, for some port forwarding stuff.


I installed R Pints first and just had brewpi install into /var/www/brewpi instead of the normal www directory. I have had no problems with the web side of the house as both brew pi and rpints display with the right address. I just ran the script and haven't looked behind the curtain yet to see if there are two different systems as I am working on wiring right now.
 
Teensy is an Arduino alternative, pretty cool from what I can see, and cheaper. I am, if anything, a cheapskate. :)

So, why couldn't I control boil/mash temps as I would with a traditional PID? My thinking is that if it can control temperature, it should be able to control the SSR driving my electric boil kettle. Set it to 170F and it will hold the kettle there for a hop stand. Set it to 152F and it will hold it there so I can recirculate a hot water coil through the mash, or even control a second electric element in a little RIMS tube.

Again, maybe I'm missing something obvious. I'm not familiar with automation or microcontrollers at all, really, so I'm just wondering why BrewPi can hold a ferm chamber at 65F but can't control a boil kettle element.

Thanks for the quick reply!

I would stick with an uno, you can them for 18 off Amazon, I can't imagine an teensy being much cheaper and i can't guarantee the pin outs the same. It's not setup to control a brew kettle, that's not to say couldn't be modified. Most of the config is assuming longer decision times since your not turning the fridge on and very frequently.
 
Ahhh, that makes sense. Thanks again!

And if cost is an issue but time isnt, you can always order an Arduino Uno off Dx.com or a similar chinese distributor for cheaper, but it will take 4-6 weeks to reach anywhere in the US. But now you can get knockoffs from Sainsmart here in the US in a few days for only like $5 more so its not really worth it.
 
So just for giggles( I have a dell mini pc collecting dust) is the upgrade path for a pc something like: install ubuntu>install debian wheezy> then back on track?

Thanks
 
Debian is its own distro of Linux and "Wheezy" is its code name, i wouldnt recommend using Ubuntu unless your willing to make some modifications yourself.

If you install Debian Wheezy you can just follow their manual steps, a few people here said there was a bit of difficulty but seemed to figure it out and we can help if you get stuck.
 
so I tried to install this on my raspberry pints pi. I get this error:

I installed to /var/www/brewpi, and stopped apache2 for the install.

Thanks

brewpi error.jpg
 
Rabeb25 .. are you running the install.sh script or following the "manual" instructions? When I hit errors like this I first tried an apt-get install of the package (as root) and then searching the web for solutions if that failed. You may want to search the brewpi forum as well.
 
Install.sh script


Sent from my iPhone using Home Brew
 
From 3.1.3 of the brewpi.docs ...

The current version of BrewPi doesn’t use MySQL. It is recommended to not install it. If you want MySQL anyway, you can install it with these commands:

So you may be able to get around this by either following the manual steps for installing MySQL then rerunning the install script or backup and go through the manual steps.

I'm sort of making this up as I go along and know enough about Linux to be dangerous. As I mentioned in an earlier post, mt brewpi install involved a lot of searching internet forums.

Todd
 
They must have broke or changed something since i used the install script.

I'll try to install it all on my extra system and write down the manual instructions and changes required for those of you having issues in the future.
 
Rabeb25 .. are you running the install.sh script or following the "manual" instructions? When I hit errors like this I first tried an apt-get install of the package (as root) and then searching the web for solutions if that failed. You may want to search the brewpi forum as well.

Also congratz on the tower from Birdman, i recognized your name :mug:
 
As a bit of an update, I managed to get everything up and running on a VirtualBox instance of Debian using the manual instructions, no problems at all. I had previously tried to install BrewPi on a virtual Mint install, but I got a few errors along the way that I think had their roots in the apt repos not being the same or something, and eventually it was just kinda messy so I scrapped it. I'm obviously not going to do anything live or even program my Uno with this virtual setup, but it's encouraging to see the BrewPi interface on my web browser!
 
Silver .. I know that feeling.

Fuzze ... yeah, the brew tower was probably what I needed/wanted least since I'm not even kegging yet. I guess it will inspire a top down kegerator build. Moving to Cornys is on the radar for me and the guys I brew with but I've been trying to concentrate on other areas ... like fermentation temp control! :)
 
I installed R Pints first and just had brewpi install into /var/www/brewpi instead of the normal www directory. I have had no problems with the web side of the house as both brew pi and rpints display with the right address. I just ran the script and haven't looked behind the curtain yet to see if there are two different systems as I am working on wiring right now.

Did you get any errors? I am trying the exact same thing and get this error:
error unable to open files list file for package `php5-mysql' :input/output error
 
I got the install script to work. If you install Debian wheezy create a pi user and add him to the sudoers file. Login as the pi user.

Next exectue:
$ git clone https://github.com/BrewPi/brewpi-tools.git ~/brewpi-tools

Then you need to vi the install.sh script and remove rpi-update from the apt-get line that adds the packages. Line 179 in the script.

After that it all ran and I get the GUI to launch without issue.

Now to order the parts. Hope this helps someone.
 
Would you post your brewpi/settings/config.cfg file? I'd like to get a look at your path settings for the various Arduino variables.

Todd
 
Did you get any errors? I am trying the exact same thing and get this error:

error unable to open files list file for package `php5-mysql' :input/output error


No, I don't remember any errors. I seem to remember something about php but I think it was related to it already being installed. I used the default settings for everything except the web path, where I put /var/www/brewpi/

Not sure if it matters but I installed pints first and then brewpi from a brand new installation so nothing had been configured before.
 
Anyone who wants to, want to do a join.me and take a look?

Thanks
 
Would you post your brewpi/settings/config.cfg file? I'd like to get a look at your path settings for the various Arduino variables.

Todd

My default.cfg is

scriptPath = /home/brewpi/
wwwPath = /var/www/
port = /dev/ttyACM0
altport = /dev/ttyACM1
boardType = leonardo
beerName = My First BrewPi Run
interval = 120.0
dataLogging = active

And my Config.cfg to override those is
beerName = CurrentBeer
dataLogging = active
profileName = Ruby

Im confused by this because i am most definitely running an Uno not a leonardo...but it gives me hope that you guys are getting the interface up and running :)
 
So did you leave all the "ArduinoHome = "stuff commented out? Maybe because I started out trying a non-Wheezy install I got stuck in the mindset that I had to reset these parts of the config.cfg file. I stuck to the paths outlined in the manual install instructions so I'll try commenting those out and see what happens.

Todd
 
Status
Not open for further replies.
Back
Top