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.
Cool stuff ianj just the sign I needed to push me to build my entire setup into one if my fridges door shelves. I did want to separate the rpi from the rest of it (to also run rpints when I get that set up), but it's becoming more and more effective to keep them bundled. Plus another rpi isn't that much.
 
Added some steps to my post, if you (or anyone else) try it out let me know!

Also, does anybody happen to know if you can grab current BrewPi probe/temp data from terminal? I'm working on hacking together something else fun with my limited abilities :cross:


I will be trying this out. I will repost my results. But I probably won't have time for a week or so. And thank you for taking the time to post instructions.


Sent from my iPad using Home Brew
 
No problem!

The only issue I've encountered with the in-fridge camera is that when the light goes off ... it all goes black, which was my reasoning for using the PiNoir board. Unfortunately now I need to grab some LED's to make it work in the dark, and then figure out how to power them.

Edit: Also, because it may have been skipped over, does anybody happen to know if you can grab current probe data from the command line once it's being routed through Arduino/BrewPi?
 
I thought about the light turning off. My plan is to be able to control the light remotely. That way I can turn on the light check out what is going on. Then either turn it off, or have the light set on a short timer, just in case I forget to turn it off.


Sent from my iPad using Home Brew
 
Also, does anybody happen to know if you can grab current BrewPi probe/temp data from terminal? I'm working on hacking together something else fun with my limited abilities :cross:

Here is some info:

I built a python script to pull this data every minute and put on an Adafruit 2x16 screen. PM me if you want my crappy, incomplete (but working) code to parse the variable 'x' shown and put it on the LCD and change the LCD color based on heating, cooling or idling.

Code:
import os

cmd="wget localhost/socketmessage.php --post-data='messageType=lcd' -q -O -"
x = os.popen(cmd)
x = x.read()
print x
 
Don't use LEDs get some infrared LEDs you can just power off of a 5v rail and leave them on all the time.
 
Ok, so I'm hoping to annoy everyone by asking a question to which I immediately find the answer after posting. That seems to be the way it always works for me.

Can anyone help me understand why these weird swings in temp settings are happening? I went through and reset everything to default and one-by-one sent every variable to the arduino. Is there an easier way to reset everything to default if I need to do so again?

 
I am looking for some insight and I think you guys can help.

Background: I'm an electrical engineer, and last year I put together a fermentation chamber of my own design using a chest freezer and an Arduino. It is cooling only since at the time the freezer was kept in a very warm basement and kept the beer at +/- 1*F for the duration of the fermentation schedule.

However, an unfortunate downsizing of my living arrangements means brewing operations have moved to my parents house a half hour away, and their basement is colder than mine. Now, if I want to know how the beer is doing I have to text my mom for an update and the temp holds fine during primary, but after the beer stops producing it's own heat, the temp ends up low.

I absolutely love the features BrewPi offers, and I already have most of the components, here is my big question:

How well does the remote data viewing and control work?

I want to be able to view the BrewPi GUI from 15 miles away, and do so without opening up my parent's LAN to any additional vulnerabilities. I am not worried about my BrewPi being unsecured, but I don't want to affect the rest of the LAN. If anyone can offer some insight I would greatly appreciate it.
 
Ok, so I'm hoping to annoy everyone by asking a question to which I immediately find the answer after posting. That seems to be the way it always works for me.



Can anyone help me understand why these weird swings in temp settings are happening? I went through and reset everything to default and one-by-one sent every variable to the arduino. Is there an easier way to reset everything to default if I need to do so again?





Do you use thermowells in your fermenters.
 
Don't use LEDs get some infrared LEDs you can just power off of a 5v rail and leave them on all the time.

Yeah, that's what I was going for... just have to figure the power part out. Was thinking of just taping some 9v batteries to the inside (and a pack of these or similar, on a board of some kind) and it'll probably last a good amount of time.

Edit: I'd assume splitting the 5v line from the probe wiring would work, but from there ... I'm not educated on electronics so I don't even know where to go from there :eek:
 
Last edited by a moderator:
Here is some info:

I built a python script to pull this data every minute and put on an Adafruit 2x16 screen. PM me if you want my crappy, incomplete (but working) code to parse the variable 'x' shown and put it on the LCD and change the LCD color based on heating, cooling or idling.

Code:
import os

cmd="wget localhost/socketmessage.php --post-data='messageType=lcd' -q -O -"
x = os.popen(cmd)
x = x.read()
print x

Very cool! Thanks :)

What should the default output be? Running that gives me nothing :confused:
 
You can VNC or TeamView into a RaspberryPi?

I believe the VNC clients on the raspberry pi (tightvnc as an example) do not support encrypted connections so TeamViewer would be a better option as you wouldn't need to open firewall ports.

There are also lots of VPN server tutorials for Raspberry Pi that could work, and then run OpenVPN connect on your mobile device and you don't need a second connection and you can ssh or http, but this requires opening one port on your router.
 
Very cool! Thanks :)

What should the default output be? Running that gives me nothing :confused:

On my BrewPi, connected via ssh, if I paste this into a text document named gettemp.py, save, exit and run:

python gettemp.py

it will return

["Mode Beer Profile ", "Beer 50.5 50.0 &degF", "Fridge 41.8 39.9 &degF", "Wait to Cool 00m31"]
 
I'm really tempted to attempt this DIY project. Just to clarify, since I couldn't read all 2000 posts, I'm going to:

1. order from Amazon the CanaKit RPI (Ultimate) + Arduino + 2-channel relay + temperature probes.
2. Hook up the RPi to the Arduino via USB
3. Wire the relay, probes and arduino according to the schematic in the first post.
4. I'll pick up various wires, 4.7K resistor and outlet from HD/Lowes/Radioshack to complete the build.
5. Once built, I'll need to hook up RPI to a monitor and have a wireless keyboard to setup the software, which should be preloaded onto the MicroSD card from the CanaKit.
6. Follow directions to setup program and WiFi (using dongle from CanaKit).

Is this basically it? I haven't coded or done anything w/electronics in over 10 years (since college). Am I forgetting anything?
 
I'm really tempted to attempt this DIY project. Just to clarify, since I couldn't read all 2000 posts, I'm going to:

1. order from Amazon the CanaKit RPI (Ultimate) + Arduino + 2-channel relay + temperature probes.
2. Hook up the RPi to the Arduino via USB
3. Wire the relay, probes and arduino according to the schematic in the first post.
4. I'll pick up various wires, 4.7K resistor and outlet from HD/Lowes/Radioshack to complete the build.
5. Once built, I'll need to hook up RPI to a monitor and have a wireless keyboard to setup the software, which should be preloaded onto the MicroSD card from the CanaKit.
6. Follow directions to setup program and WiFi (using dongle from CanaKit).

Is this basically it? I haven't coded or done anything w/electronics in over 10 years (since college). Am I forgetting anything?
That's pretty much it. Easy peasy.
I'd recommend getting a thermowell.
The only thing I did different was install Raspbian directly on the SD card because it's faster. I followed the steps here.
 
On my BrewPi, connected via ssh, if I paste this into a text document named gettemp.py, save, exit and run:

python gettemp.py

it will return

["Mode Beer Profile ", "Beer 50.5 50.0 &degF", "Fridge 41.8 39.9 &degF", "Wait to Cool 00m31"]

That's what I did, although I also chmod'd to +x, will check permissions tonight and see if that effects anything. It outputs an empty line for me :cross:
 
Is the canakit necessary do you have to have wifi. A lot of users have had issues with wifi. Some don't. If you've got a spare sd card all you really need is arduino rpi and relay board and some temp probes
 
That's pretty much it. Easy peasy.
I'd recommend getting a thermowell.
The only thing I did different was install Raspbian directly on the SD card because it's faster. I followed the steps here.

Thanks. I'll definitely get the thermowell. After reading more comments, I'm going to get the basic RPi, edimax wifi dongle, and blank micro SD card. Just ordered from Amazon so I'll have something to work on this weekend.
 
Thanks. I'll definitely get the thermowell. After reading more comments, I'm going to get the basic RPi, edimax wifi dongle, and blank micro SD card. Just ordered from Amazon so I'll have something to work on this weekend.

Are people having issues with the CanaKit RPi kit linked in the 1st post? What's the reason for choosing the edimax dongle over the one that comes in the starter kit?
 
Honestly, I have no idea. But somewhere in the 2000 posts i thought I read that some people had issues with the wifi dongle and the preloaded SD card. I figured I'd just get the edimax and a blank Sd card.
 
Ok, so update from 9/28

I've had this running on my latest batch of beer and everything seems like it's working pretty well. I know I need to get a thermowell so I can getter a better reading from the actual beer temp instead of a probe taped to the side with a block of styrofoam; but I've got some pretty heavy swings and it seems like my freezer and heater are just fighting each other to try and keep it at my set point.

I'm using the Lasko 100 personal heater that I saw mentioned on this thread. It's a small 200w ceramic heater with a built in fan. My freezer is also only 7cu so it doesn't take long for the heater to ramp up the ambient temp.

I know when I first posted to this thread someone asked me for the Kp, Ki, and Kd set points. Mine are currently at:

Kp: 5
Ki: 0.25
Kd: -1.5

I'm still a little uncertain as to what each value actually controls or references in the overall programming, and I don't see anywhere that I can change or adjust them from the maintenance page; if that's even necessary. I'm pretty positive a thermowell will help, but I'm still a little concerned about my freezer cutting on every 30 minutes and then the same with my heater to try and hold the set point.
 
A thermowell will fix this for you. Also try adding a fan inside the freezer to keep the air circulating
 
A thermowell will fix this for you. Also try adding a fan inside the freezer to keep the air circulating

+1 on the fan. Typically a case PC fan, 12v, run off an old phone charging USB 'wall wart'. I did that, was unhappy with 5v running 12v fan a bit slow so I scrounged a 12v from a <who cares>. YMMV

As for the thermowell, there is quite a bit you can read to make you go that way, but many tape to the outside of fermentation vessel -- key is to COMPLETELY insulate from ambient. Many much layers, bubble wrap, towels, small furry woodland creatures, whatever you have handy. I extend the insulation a good 4" in all directions; a 2x2 styro block, bubble wrap 6x6, and about 8x8 towel; then I make sure that side of the FV is neither directly pointing at heat source or furthest away.

But try the fan first. It's less smelly than the furry woodland creatures.
 
I purchased most of the items in FuzzeWuzze's original post. I also purchased the rev c shield from BrewPi.com because I wanted a display. Everything seems to be working ok with the exception of the backlight on the display.

My understanding is that if you press or rotate the rotary encoder, the backlight will come on making the display easier to read. As it is now, the display is almost unreadable.

If I apply voltage to pin 15 on the display, the backlight works fine.

Is this a problem with the shield or a software problem? Any ideas?
 
Sounds like you need to adjust the backlight potentiometer
 
Agree. I have a small pc fan running constantly off a walwart. I'm using a small bar fridge. 12v fan off a walwart. I bought a 200w ceramic but not using it yet. I started with a couple of incandescent globes and progressively dropped from 140w. Now using a 40w incandescent lamp as the heater. When I dropped the heater rating I didn't have as much cycling. This worked even when the ambient temp of the shed where the fridge is dropped to 5 deg c.
If I put the ceramic heater in I will put a dimmer in circuit to be able to adjust the heat down. Have been playing with settings and am running Kp =4 currently.
First step I would say would be get a thermowell and a fan.
I don't have any small furry creatures to jam in there and I don't think a wombat would fit with my fermentor in place. Lol


Sent from my iPhone using Home Brew
 
Great article! I built one about a month ago. I finished it during a brew day, and just got to taste the fruits of my labor!
Great instructions, the only issue I had was finding too many devices and figuring out which did what (I still have a few extra that I have not touched).
Total cost was about $150 which included a used fridge I found on Craigslist!
One question I have is does anyone know where to find useful temp profiles? I created my own for the last beer and it came out great, but I was hoping to find a source where I can reference other (successful) profiles.

Cheers!


Sent from my iPhone using Home Brew
 
You can VNC or TeamView into a RaspberryPi?

I have only done that on a desktop.

<follows are my steps, outlined step by step since I am not Linux savy>
I used the Debian machine to browse to TeamViewer & download the Debian-specific version DEB file, then had to Google for install, used the "Applications/System Tools/GDebi Package Installer" choosing File/Open to find the downloaded DEB file and install & run, setting up to require password, using free TeamViewer account I have set up to a certain email so I log into that and choose the Debian computer to TeamViewer into.

To add further geekiness, I was able to use TeamView from a PC but also with a FrankenHacked HP TouchPad hacked to run JCSullilns' Android 4.4.4 (Cyanogen MOD 11).

What you are seeing is a BrewPi installation, viewed from outside my home network with nothing opened on the home router, from behind a work firewall, using a HP Touchpad and TeamViewer for Android, to view a Debian system running logging only (the brew is actually controlled with AlphaOmega's STC1000+ currently ramping from 66 to 68 in a ferm chamber built of 2" foamboard around a dorm cube mini fridge with Lasko heater and PC fan.

Screenshot_2014-10-16-08-45-14.png
 
<follows are my steps, outlined step by step since I am not Linux savy>
I used the Debian machine to browse to TeamViewer & download the Debian-specific version DEB file, then had to Google for install, used the "Applications/System Tools/GDebi Package Installer" choosing File/Open to find the downloaded DEB file and install & run, setting up to require password, using free TeamViewer account I have set up to a certain email so I log into that and choose the Debian computer to TeamViewer into.

To add further geekiness, I was able to use TeamView from a PC but also with a FrankenHacked HP TouchPad hacked to run JCSullilns' Android 4.4.4 (Cyanogen MOD 11).

What you are seeing is a BrewPi installation, viewed from outside my home network with nothing opened on the home router, from behind a work firewall, using a HP Touchpad and TeamViewer for Android, to view a Debian system running logging only (the brew is actually controlled with AlphaOmega's STC1000+ currently ramping from 66 to 68 in a ferm chamber built of 2" foamboard around a dorm cube mini fridge with Lasko heater and PC fan.


Ahh that's fantastic!! Thank you, just what I was looking for. I am glad someone has done this before and I won't be charting new territory.
 
Hey guys. I'm not having any luck installing BrewPi on my RPi. I followed the automated installation instructions and get the following. Can anyone interpret this and give me some things to try?

pi@raspberrypi ~ $ sudo ~/brewpi-tools/install.sh

Checking whether this script is up to date...

/home/pi/brewpi-tools is up-to-date.

Disk usage is 41%, free disk space is 3.4G. Enough to install BrewPi

The time is currently set to Wed Oct 15 22:31:56 EDT 2014. Is this correct? [Y/n]y

*** This script will first ask you where to install the brewpi python scripts and the web interface
Hitting 'enter' will accept the default option in [brackets] (recommended).

Any data in the following location will be ERASED during install!
Where would you like to install BrewPi? [/home/brewpi]:
Installing script in /home/brewpi
Install directory is NOT empty, are you SURE you want to use this path? [y/N] y
Ok, we warned you!

Any data in the following location will be ERASED during install!
What should be the path to your web directory for brewpi? [/var/www]:
Installing web interface in /var/www

***** Installing/updating required packages... *****

Reading package lists... Done
Building dependency tree
Reading state information... Done
arduino-core is already the newest version.
git-core is already the newest version.
python-configobj is already the newest version.
python-git is already the newest version.
python-psutil is already the newest version.
python-serial is already the newest version.
python-simplejson is already the newest version.
rpi-update is already the newest version.
The following extra packages will be installed:
apache2-mpm-prefork apache2-utils apache2.2-bin apache2.2-common libapr1
libaprutil1 libaprutil1-dbd-sqlite3 libaprutil1-ldap libonig2 libqdbm14
ssl-cert
Suggested packages:
apache2-doc apache2-suexec apache2-suexec-custom php-pear openssl-blacklist
The following NEW packages will be installed:
apache2 apache2-mpm-prefork apache2-utils apache2.2-bin apache2.2-common
libapache2-mod-php5 libapr1 libaprutil1 libaprutil1-dbd-sqlite3
libaprutil1-ldap libonig2 libqdbm14 php5 php5-cgi php5-cli php5-common
ssl-cert
0 upgraded, 17 newly installed, 0 to remove and 0 not upgraded.
Need to get 11.5 MB/11.9 MB of archives.
After this operation, 35.7 MB of additional disk space will be used.
Err http://mirrordirector.raspbian.org/raspbian/ wheezy/main php5-common armhf 5.4.4-14+deb7u11
404 Not Found
Err http://mirrordirector.raspbian.org/raspbian/ wheezy/main apache2.2-bin armhf 2.2.22-13+deb7u1
404 Not Found
Err http://mirrordirector.raspbian.org/raspbian/ wheezy/main apache2-utils armhf 2.2.22-13+deb7u1
404 Not Found
Err http://mirrordirector.raspbian.org/raspbian/ wheezy/main apache2.2-common armhf 2.2.22-13+deb7u1
404 Not Found
Err http://mirrordirector.raspbian.org/raspbian/ wheezy/main apache2-mpm-prefork armhf 2.2.22-13+deb7u1
404 Not Found
Err http://mirrordirector.raspbian.org/raspbian/ wheezy/main apache2 armhf 2.2.22-13+deb7u1
404 Not Found
Err http://mirrordirector.raspbian.org/raspbian/ wheezy/main libapache2-mod-php5 armhf 5.4.4-14+deb7u11
404 Not Found
Err http://mirrordirector.raspbian.org/raspbian/ wheezy/main php5-cgi armhf 5.4.4-14+deb7u11
404 Not Found
Err http://mirrordirector.raspbian.org/raspbian/ wheezy/main php5 all 5.4.4-14+deb7u11
404 Not Found
Err http://mirrordirector.raspbian.org/raspbian/ wheezy/main php5-cli armhf 5.4.4-14+deb7u11
404 Not Found
Failed to fetch http://mirrordirector.raspbian.org/raspbian/pool/main/p/php5/php5-common_5.4.4-14+deb7u11_armhf.deb 404 Not Found
Failed to fetch http://mirrordirector.raspbian.org/...che2/apache2.2-bin_2.2.22-13+deb7u1_armhf.deb 404 Not Found
Failed to fetch http://mirrordirector.raspbian.org/...che2/apache2-utils_2.2.22-13+deb7u1_armhf.deb 404 Not Found
Failed to fetch http://mirrordirector.raspbian.org/...2/apache2.2-common_2.2.22-13+deb7u1_armhf.deb 404 Not Found
Failed to fetch http://mirrordirector.raspbian.org/...pache2-mpm-prefork_2.2.22-13+deb7u1_armhf.deb 404 Not Found
Failed to fetch http://mirrordirector.raspbian.org/raspbian/pool/main/a/apache2/apache2_2.2.22-13+deb7u1_armhf.deb 404 Not Found
Failed to fetch http://mirrordirector.raspbian.org/...ibapache2-mod-php5_5.4.4-14+deb7u11_armhf.deb 404 Not Found
Failed to fetch http://mirrordirector.raspbian.org/raspbian/pool/main/p/php5/php5-cgi_5.4.4-14+deb7u11_armhf.deb 404 Not Found
Failed to fetch http://mirrordirector.raspbian.org/raspbian/pool/main/p/php5/php5_5.4.4-14+deb7u11_all.deb 404 Not Found
Failed to fetch http://mirrordirector.raspbian.org/raspbian/pool/main/p/php5/php5-cli_5.4.4-14+deb7u11_armhf.deb 404 Not Found
E: Unable to fetch some archives, maybe run apt-get update or try with --fix-missing?
 
Status
Not open for further replies.
Back
Top