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 having a problem with the config file for Debian on a Linux PC: what's the value for 'arduinoHome' for Linux? The sample config file only has the location for the Windows version.
 
In config.cfg there's a variable called arduinoHome. What should that be set to when running BrewPi on a Linux PC (not on a RPi or Windows PC)? programArduino.py is bugging me about it.

I think I'm missing /usr/share/hardware/arduino/boards.txt too. Am I supposed to get that from some stage of the BrewPi install?
 
Whichever 1 you have assigned to cooling. Invert the pin assigned to cooling, whichever relay lights up is the one attached to cooling.

I got it all connected and figured out in BrewPi. I've been testing it with a house fan to keep myself cool, unfortunately they'll only stay on when I set them to not inverted, and ignore the temperature mode. For example, room temp is 84. I set the fridge constant to 83. Should it power the fan on (if it's plugged into cooling) until temp hits the constant? Or am I misunderstanding how SSR's work.

Also, time to find a proper project box and a new fridge -- Danby 440 -- if it'll fit my 6-gal BB carboy.
 
I got it all connected and figured out in BrewPi. I've been testing it with a house fan to keep myself cool, unfortunately they'll only stay on when I set them to not inverted, and ignore the temperature mode. For example, room temp is 84. I set the fridge constant to 83. Should it power the fan on (if it's plugged into cooling) until temp hits the constant? Or am I misunderstanding how SSR's work.



Also, time to find a proper project box and a new fridge -- Danby 440 -- if it'll fit my 6-gal BB carboy.

You might want to try turning the set temp down a bit farther than 1 degree. The UI will show you that it's waiting like 10 minutes before it starts cooling. Switching the inverted state from device settings is how you can tell that it's working. Then you set it back the way it was. If it's not doing anything when it says it's cooling then you might have the invert setting backwards. Anyway you need to watch the webui if you don't have an lcd it'll tell you what's going on. And remember when you choose a mode you have to hit apply when your done
 
In config.cfg there's a variable called arduinoHome. What should that be set to when running BrewPi on a Linux PC (not on a RPi or Windows PC)? programArduino.py is bugging me about it.


Did you run your setup using the install script or did you go manual. I'd try using the install script. You may have permissions issues
 
You might want to try turning the set temp down a bit farther than 1 degree. The UI will show you that it's waiting like 10 minutes before it starts cooling. Switching the inverted state from device settings is how you can tell that it's working. Then you set it back the way it was. If it's not doing anything when it says it's cooling then you might have the invert setting backwards. Anyway you need to watch the webui if you don't have an lcd it'll tell you what's going on. And remember when you choose a mode you have to hit apply when your done

Damn you're too fast, already fixed my problem and was coming back to edit it out :D I incorrectly assigned the Switch Actuators to Beer 1 instead of Chamber device. I should probably learn to read, and know not to work on electronics in an 84 degree room at night. It's a labor of love.

Thanks a ton for all the help :mug:
 
Did you run your setup using the install script or did you go manual. I'd try using the install script. You may have permissions issues

I did the automatic install. And redid it now. Still no /hardware/arduino folder where the programArduino.py is looking for a boards.txt.
 
That arduino home location should be the path. Not quite getting what's going on for you. Are you trying to run Linux or windows?
 
Looking at the code it seems what your looking at here is that you don't have the arduino libraries installed. Go over to the brewpi documentation and walk through the manual install instructions. There are a handful of of dependencies you may be missing to run brewpi.
 
Won't the surface of the carboy be the ambient temp when measured via IR? Most tape a sensor to the outside of carboy, then cover with much layering of insulation to keep from measuring ambient.

I am not sure about that. I use better bottles, so I am hoping I can get an internal temperature with an IR probe, but have no idea which is why I am going to compare with the thermowell.

It will be a fun experiment regardless.
 
Looking at the code it seems what your looking at here is that you don't have the arduino libraries installed. Go over to the brewpi documentation and walk through the manual install instructions. There are a handful of of dependencies you may be missing to run brewpi.

Yup. I forgot to install the arduino package. :cross: Every else was set so now it's good to go with wiring up the relays and outlet.
 
I am having problems with my script not running, and LCD text not showing up from the python script. Anybody have any ideas? It was running fine for about a week, and I brewed a beer about 3 days ago and now it is giving me problems.

Thanks,
-G
 
I am having problems with my script not running, and LCD text not showing up from the python script. Anybody have any ideas? It was running fine for about a week, and I brewed a beer about 3 days ago and now it is giving me problems.

Thanks,
-G

What does the error log say if anything in the maintenance panel after you press refresh.

My guess is that you will see some stdout type errors because like many others your Arduino USB connection is flakey and its losing communication with it.
 
What does the error log say if anything in the maintenance panel after you press refresh.

My guess is that you will see some stdout type errors because like many others your Arduino USB connection is flakey and its losing communication with it.

Yup, totally agree: if one has a running configuration that occasionally flakes out it's almost always something with USB (otoh, a configuration that will never run successfully seems to be all about ownership and permissions).

To illustrate just how deep the former rabbit hole can go...I have a cheap USB2.0 hub I bought years ago that if anything other than the two UNOs running BrewPi are plugged in will cause random errors in BrewPi.

If I plug the mini keyboard transceiver into the hub, I'll eventually get packet errors; if I plug in a wireless nic, I'll eventually get packet errors.

It isn't a functional issue as I configured around it (basically, hardwired nic and the keyboard transceiver in the other RPi USB root port) but if you don't realize what's going on it could easily drive you insane...

Cheers!
 
What does the error log say if anything in the maintenance panel after you press refresh.

My guess is that you will see some stdout type errors because like many others your Arduino USB connection is flakey and its losing communication with it.

The Arduino will continue to do its job (regulating temps) with this kind of error, right?
 
I hope it does, this is the error I am getting in the
stderr
Traceback (most recent call last):
File "/home/brewpi/brewpi.py", line 444, in
conn.send(json.dumps(lcdText))
error: [Errno 32] Broken pipe
Sep 02 2014 02:29:46 Socket error(32): Broken pipe
Traceback (most recent call last):
File "/home/brewpi/brewpi.py", line 444, in
conn.send(json.dumps(lcdText))
error: [Errno 32] Broken pipe
Sep 02 2014 02:30:14 Socket error(32): Broken pipe
Traceback (most recent call last):
File "/home/brewpi/brewpi.py", line 444, in
conn.send(json.dumps(lcdText))
error: [Errno 32] Broken pipe
Sep 02 2014 02:30:42 Socket error(32): Broken pipe
Traceback (most recent call last):
File "/home/brewpi/brewpi.py", line 444, in
conn.send(json.dumps(lcdText))
error: [Errno 32] Broken pipe
Sep 02 2014 02:31:11 Socket error(32): Broken pipe
Traceback (most recent call last):
File "/home/brewpi/brewpi.py", line 444, in
conn.send(json.dumps(lcdText))
error: [Errno 32] Broken pipe

stdout
Sep 02 2014 02:25:29 {"BeerTemp": 21.06,"BeerSet":null,"BeerAnn":null,"FridgeTemp": 22.75,"FridgeSet":null,"FridgeAnn":"Mode set to p in web interface","State":0}

Sep 02 2014 02:25:30 {"BeerTemp": 21.06,"BeerSet":null,"BeerAnn":"Beer temp set to 20.83 by temperature profile","FridgeTemp": 22.75,"FridgeSet":null,"FridgeAnn":null,"State":0}

Sep 02 2014 02:27:30 {"BeerTemp": 21.06,"BeerSet": 20.83,"BeerAnn":null,"FridgeTemp": 22.73,"FridgeSet": 19.62,"FridgeAnn":null,"State":4}

BrewPi: wifiChecker: Successfully pinged 192.168.1.254 (Tue Sep 2 02:30:01 UTC 2014)

I do have the arduino plugged into external power and have the pi with 2 amps of power.

I have also tried about 4 usb cables, even with some ferrite snap ons that are a little too small for it and nothing really helped.
 
I think I might have found a uno/pi/usb combo that might work. I will see tomorrow if it is still running.

-G
 
I hope it does, this is the error I am getting in the
stderr
Traceback (most recent call last):
File "/home/brewpi/brewpi.py", line 444, in
conn.send(json.dumps(lcdText))
error: [Errno 32] Broken pipe
Sep 02 2014 02:29:46 Socket error(32): Broken pipe
Traceback (most recent call last):
File "/home/brewpi/brewpi.py", line 444, in
conn.send(json.dumps(lcdText))
error: [Errno 32] Broken pipe
Sep 02 2014 02:30:14 Socket error(32): Broken pipe
Traceback (most recent call last):
File "/home/brewpi/brewpi.py", line 444, in
conn.send(json.dumps(lcdText))
error: [Errno 32] Broken pipe
Sep 02 2014 02:30:42 Socket error(32): Broken pipe
Traceback (most recent call last):
File "/home/brewpi/brewpi.py", line 444, in
conn.send(json.dumps(lcdText))
error: [Errno 32] Broken pipe
Sep 02 2014 02:31:11 Socket error(32): Broken pipe
Traceback (most recent call last):
File "/home/brewpi/brewpi.py", line 444, in
conn.send(json.dumps(lcdText))
error: [Errno 32] Broken pipe

stdout
Sep 02 2014 02:25:29 {"BeerTemp": 21.06,"BeerSet":null,"BeerAnn":null,"FridgeTemp": 22.75,"FridgeSet":null,"FridgeAnn":"Mode set to p in web interface","State":0}

Sep 02 2014 02:25:30 {"BeerTemp": 21.06,"BeerSet":null,"BeerAnn":"Beer temp set to 20.83 by temperature profile","FridgeTemp": 22.75,"FridgeSet":null,"FridgeAnn":null,"State":0}

Sep 02 2014 02:27:30 {"BeerTemp": 21.06,"BeerSet": 20.83,"BeerAnn":null,"FridgeTemp": 22.73,"FridgeSet": 19.62,"FridgeAnn":null,"State":4}

BrewPi: wifiChecker: Successfully pinged 192.168.1.254 (Tue Sep 2 02:30:01 UTC 2014)

I do have the arduino plugged into external power and have the pi with 2 amps of power.

I have also tried about 4 usb cables, even with some ferrite snap ons that are a little too small for it and nothing really helped.

If your fix doesn't work take a picture and maybe we can offer advice.
 
My new thermowells arrived today ImageUploadedByHome Brew1409681805.317537.jpg
 
I hesitate to ask this question because it is beyond n00b. I have worked long and hard at getting the brewpi set up and with this awesome post and hep from people here it is functioning! Now, I am searching for instructions on how to operate it. :eek: ie set up a profile, what the different modes do etc. I currently have it set up on beer profile and it is showing 3 F for the beer setting. The fridge is turning on for 5 minutes and then off for 5. I'm looking for documentation explaining how all of this works and I'm sure it is right in front of my face but cannot locate it. I've looked on the brewpi website and found all of the documentation to get everything setup but no user manual.
 
Is it holding your fridge at 3F? Its turning on and off frequently probably because you dont have it measuring actual liquid. If you just have both probes in the air, the fridge/freezer's ambient air will drop quickly and it will cycle on and off i recommend not keeping it on if you have nothing in the fridge. Measure down your thermowell, or insulate it to a carboy/bucket full of water.

The two main settings you will use are Beer Constant(keep a beer at a constant temp) or Beer Profile which allows you to do timed rampings etc.

Under beer profile you'll see some buttons on the left to make new ones, edit existing etc. Make a new one, a window will pop up, there should be a button that says something along the lines of "Use Current Time", that will start the profile (day 0) at the current time. From there in the table just fill out day's in the first column and temperatures you want and hit save when your done then apply it.

Depending on if you set your timezone right on your system the times may seem weird, i think they are in UTC by default. I just ignore those and use the first days column to control it, you can use decimals as well if you want to do things at half day increments for example.

Oh and the other good mode like i mentioned is Off, if you arent fermenting anything set it to this mode to prevent it from cycling your fridge on and off repeatedly. There's no point in wasting electricity or cycling your fridge more then necessary if nothing is in it.

Another key is at the top you click the name of the Beer to create a new one, stop the logging, or pause the logging for the existing brew.
WHen you throw something new in there make a new beer, give it a name and hit save. It will take 30 seconds or so for the first data point to show up when you refresh your browser, then set your set point or profile and thats it!
 
I hesitate to ask this question because it is beyond n00b. I have worked long and hard at getting the brewpi set up and with this awesome post and hep from people here it is functioning! Now, I am searching for instructions on how to operate it. :eek: ie set up a profile, what the different modes do etc. I currently have it set up on beer profile and it is showing 3 F for the beer setting. The fridge is turning on for 5 minutes and then off for 5. I'm looking for documentation explaining how all of this works and I'm sure it is right in front of my face but cannot locate it. I've looked on the brewpi website and found all of the documentation to get everything setup but no user manual.

I modified my post with some additional info as well ;)
 
I just recently build myself a Brewpi using an old PC, and my first batch is a Vienna Centennial Smash beer in my fermentation chamber which is a stand-up freezer. The script was running very well for the first 4 or 5 days, and the beer graph was as straight as an arrow. Then I started getting some fluctuations that seemed outside of the norm for how accurate this system is supposed to be. Beer temp was set to 66, and it was going anywhere from 64 to about 67.5. also my fridge graph clearly showed that it was letting chamber temp get in the 80's before it kicked the freezer on...hmm, well anyway, I came home to a surprise today. Last night the script told me to reprogram the arduino. Ok, so I did. Well somehow when it came to reassigning the devices, I got everything totally backwards. Temp sensors and chamber cooler/heater(That'll teach me to compute stuff at 11pm on a work night) So what happened? Opened my freezer and noticed my precious beer had completely frozen solid. Still thawing as I type this. Fortunately, today marks 9 days into fermentation. Still gonna keg it and carbonate it to see what happened but still disappointed in myself....Anyway, the settings for the devices, I obviously screwed that one up myself. These temp fluctuations though don't seem right and I'm gonna start rereading this forum to see if anyone else has solved the same issue. Any suggestions on where I should start? Ugh, what a headache...I need a (Non-frozen) beer...
 
I currently have it set up on beer profile and it is showing 3 F for the beer setting. The fridge is turning on for 5 minutes and then off for 5. I'm looking for documentation explaining how all of this works and I'm sure it is right in front of my face but cannot locate it. I've looked on the brewpi website and found all of the documentation to get everything setup but no user manual.

If you set a profile that starts in the future and then apply it, you will get a fridge setpoint of 3 F. Check to make sure your profile is covering the present, not starting tomorrow or something.
 
If you set a profile that starts in the future and then apply it, you will get a fridge setpoint of 3 F. Check to make sure your profile is covering the present, not starting tomorrow or something.

Yes. This appears to be what I did.. Issue solved. Thanks robfar and fuzze.
 
Another strange thing that is happening, and I think I saw Fuzze say something about this somehwere in the 150+ pages, is that my fridge is shutting off at the fridge constant temperature even when running in beer constant mode. I'm doing my first test with SoCal tap water that came out at 85+ degrees. I placed the carboy in the 92 degree fridge and set to beer constant for 68. The fridge constant was set for 63. When the fridge got down to 63 it shut off even though the water was still above 80. I switched to fridge constant and changed it to 32 and hit apply. The fridge kicked back on. I switched back to beer constant mode and the fridge is back on again and the water is contnuing to drop in temp. However, now the fridge constant has moved to 50. I'm assuming the fridge will kick back off when it hits 50 when the water in my carboy will not be close to 68 when that happens. Do I have something whacked in my settings?
 
No that's how it works. It sets a fridge temp based on beer temp. When it gets to the SET temp is shuts off. Waits for results, calculates then sets a new fridge temp based on what it learned. Let it run so it can learn. Otherwise your getting in its way. If it decided to set the fridge temp to 32f when your looking for 68 and it didn't shut off till it got to 32 then you'd overshoot your beer temp and have to wait for it to climb back up.
 
Another strange thing that is happening, and I think I saw Fuzze say something about this somehwere in the 150+ pages, is that my fridge is shutting off at the fridge constant temperature even when running in beer constant mode. I'm doing my first test with SoCal tap water that came out at 85+ degrees. I placed the carboy in the 92 degree fridge and set to beer constant for 68. The fridge constant was set for 63. When the fridge got down to 63 it shut off even though the water was still above 80. I switched to fridge constant and changed it to 32 and hit apply. The fridge kicked back on. I switched back to beer constant mode and the fridge is back on again and the water is contnuing to drop in temp. However, now the fridge constant has moved to 50. I'm assuming the fridge will kick back off when it hits 50 when the water in my carboy will not be close to 68 when that happens. Do I have something whacked in my settings?

When your trying to cold crash like that in your Maintenence panel make sure you increase your PID Maximum setting. Just make sure its 5F or so less than the temp your setting. So if your setting your fridge 65 set it to 60. That way your friidge/freezer can go down to 5F to chill faster. Just realize that this could overshoot your temp by quite a bit and cause your beer to get too cold, so for me i try to keep the PID Max no greater than 30F.

its the allowed max difference between your beer temp and the fridge temp(which adjusts over time based on your current temp).

Just make sure to set it to something tighter like 10F when you pitch and start fermenting. Having it too high can cause you to over cool/heat and cycle your fridge a bunch. At 10F PID max for example if your beer was at beer constant sitting at 65 the hottest your fridge would get is 75F, and the coldest is 55F. Both are more than adequate to hold your beer at 65F.

If your not in a rush, just set it in there and wait..it will take longer to get to your set point but will get there eventually with the default settings.
 
If your fix doesn't work take a picture and maybe we can offer advice.

It crashed again yesterday, a couple of times. I added a powered usb hub to the equation now, so I wonder if the power conditioning from the hub will help.

I have the pi powered off the hub and connected to it, and the uno is connected to it and powered still off external power via wall wort. If I run into problems again, I will try just powering it off the hub. It is 2.6A so it has plenty of juice for the pi and arduino/relays.

I will try to get some pics later.

-G
 
What brand of uno are you using. My running system currently has a sainsmart r3 hot glued to the inside ceiling of my fridge with a 10' USB cord running through the ice maker water line hole in the freezer down into the fridge. And I haven't had any issues with crashing or usb dropouts. I wonder if it's just a specific brand or lot of UNOs that's causing this.
 
Hey gang, I'm having trouble with my multiple instances install. Everything works, except launching the script from the web interface. Any thoughts as to why?

I've got basically everything chown'ed to brewpi, and most everything is chmod'ed to 777.

Thanks,
JR
 
Go back a few pages we just went over this about 2 weeks ago. Day_tripper posted a complete manual install walk-through with all the necessary changes. Elco asked me to go into github and modify the documentation regarding the multiple instances install, but I haven't been able to get around to it yet.
 
Go back a few pages we just went over this about 2 weeks ago. Day_tripper posted a complete manual install walk-through with all the necessary changes. Elco asked me to go into github and modify the documentation regarding the multiple instances install, but I haven't been able to get around to it yet.
This one?
https://www.homebrewtalk.com/f51/ho...roller-cheap-466106/index140.html#post6314307
I'm following that, and everything works except launching the script from the web interface.

Also, it's probably worth noting that (if you are going to update the github user docs) that using "kernels == blah" isn't the best approach for udev rules, using the attrs{serial} is happier because it's unique to the device, not the usb port. YMMV on the TTYACM* devices, but my ftdi devices are happier that way.

Here's my rules for /etc/udev/rules.d/99-arduino.rules

Code:
SUBSYSTEM=="tty", KERNEL=="ttyUSB*" , ATTRS{serial}=="A902TDXG", SYMLINK+="arduino_fridge", GROUP="brewpi"


I'm going to go back through the instructions linked above. What should I be looking for permissions/ownership wise to launch the script from the web interface?
 
Status
Not open for further replies.

Latest posts

Back
Top