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 fixed the crashes - there was a wire off!! One problem solved.

Thanks for the ideas on the quality of the joints. I'm not an electrical engineer, but I am curious as to why that would impact the reading. It's a digital bus, so you'd expect garbage. Perhaps having the IC under powered would impact it?
 
Anyone with Ubuntu have issues with graph data getting confused after midnight?
I inherited an eepc with Ubuntu, needed update to get version of Python BrewPi would like, all was good until midnight and then the graph was schizoid--found two JSON files for some days and the order BrewPi was trying to display was weird. Found a ref to readdir() being different in Ubuntu vs Wheezy but was unwilling to (lazy) rewrite the get files function to use scandir(). I was able to figure out changing SORT_NATURAL to SORT_REGULAR in the get_beer_data.php made the graph good again.

This could have just been my version of Ubuntu coupled with whatever version BrewPi I git'd (and where one finds version once git has been gotten, I'm not sure) but thought I'd throw it out there.
 
Hello,

About a month ago I ordered all my parts to build this brewpi setup. Today almost everything arrived and I started connecting everything.

I still have allot of questions remaining:

1) How can I check the currect version I installed on my brewpi? Today I re-installed my Raspbery since I had allot of issues with the last install. So I did it via the brewpi-tools installer. I know the newest version is 0.4.1 but I think mine is using an older version.. How can I check this? When connecting my arduino and trying to reprogram it I get an error:

Dec 13 2015 17:24:18 Warning: minimum BrewPi version compatible with this script is 0.4.0 but version number received is 0.2.10

So I assume 0.2.10 in installed, when using the updater in the brewpi-tools directory it does not update to 0.4.0 or 0.4.1 it says that newest version is installed..

2) Strange enough everything is working (I already programmed the arduino a while ago and the version on it is working). All the devices are showing up in my device configuration. I see my 2 sensors and the value they are giving (21 °C). But when assigning them and pressing apply, they reset the moment I push the "refresh device list" button. They do not show up under "installed devices"

So probably the arduino is not correctly programmed?

Bottem line: I'm having issues to figure out how to have everything up to date (raspberry AND arduino)..
 
You have to hit apply every time you change something in devices manager. Sometimes you need to hit apply more than once, because you are in a browser. and if you use incorrect settings then they will not take
 
Klucky_13, the 0.4.0 is for the BrewPi Spark only. If you are running on Arduino, run the update script with --ask and choose the legacy branch on both the script and the web interface.

The full command should be:
sudo ~/brewpi-tools/updater.py --ask

If the devices are not storing, you probably need to initialize your EEPROM.
On the advanced settings tab, at the bottom, there is a button to reset to factory defaults. Click that.
 
[...]If the devices are not storing, you probably need to initialize your EEPROM.
On the advanced settings tab, at the bottom, there is a button to reset to factory defaults. Click that.

Where is that button again? Is it the one in the Control Constants or the one in the Control Settings panes - or something else?

Cheers!
 
I been working on getting this setup this weekend and I'm running into some problems. I went through the process of installing the legacy branch as described several pages back. Here are my issues:

1. The web interface does not showing that the script is running, but when I check the terminal, it seems like it is running.
2. When I try to program my Arduino from the web interface, it hangs up on "checking the software version on controller"

Any ideas of things I can try? I've done some googling and trying some stuff, but am not really sure what I'm doing.

Thanks.
 
Klucky_13, the 0.4.0 is for the BrewPi Spark only. If you are running on Arduino, run the update script with --ask and choose the legacy branch on both the script and the web interface.

The full command should be:
sudo ~/brewpi-tools/updater.py --ask

If the devices are not storing, you probably need to initialize your EEPROM.
On the advanced settings tab, at the bottom, there is a button to reset to factory defaults. Click that.

Yes, after googeling for quite a bit I found that somewhere. I re-updated the RPI with this --ask command. Then everything worked like it should, I still could not re-update my arduino for some reason but the version I flashed to it a month ago is still working, so I leave it alone.

So If I have runned this script with the --ask command, choose legacy and let it run, I should have the newest version? Is there a command to let the RPI tell you what version it is on? What version is the latest one at this time (linked with an arduino).
 
I been working on getting this setup this weekend and I'm running into some problems. I went through the process of installing the legacy branch as described several pages back. Here are my issues:

1. The web interface does not showing that the script is running, but when I check the terminal, it seems like it is running.
2. When I try to program my Arduino from the web interface, it hangs up on "checking the software version on controller"

Any ideas of things I can try? I've done some googling and trying some stuff, but am not really sure what I'm doing.

Thanks.

One other question. I have an older Arduino Decimilia board. Will this still work? And which HEX file do I need to use for it?
 
Hello all,

First of all, thanks for your help, I managed to manke my multi chamber setup work perfectly.

I have a question, did anyone use Xbees between the temp probes and the Arduino's? If yes, how did you do it?

Thanks,

K
 
I got 2 computers from work. They wiped the hdd so now I have to find an install method on a computer without an OS.......
 
How do most of you mount the second probe inside of the fermentation room?

1 probe is going in the thermowell of my SS brewtech bucket, the second probe needs to measure the temperature inside of the fridge as accurate as possible.

So what is the best way to mount it?

My fridge is cooled by the freezer department on top of the fridge (it's one of those "open" freezers)? The heating is done by 2 big resistors on the "floor" of the fridge.

So I would think to put the probe somewhere in the middle in height. But is it a good idea to just tape it to the side of the fridge or is it best it "floats" in the air?
 
You should start with a Linux O.S. anyhow. Download and install Debian Wheezy for the least problematic install.


I'm going to have to do some reading up. That part I know. I wasn't expecting a wiped computer.
 
I'm going to have to do some reading up. That part I know. I wasn't expecting a wiped computer.

It's very simple. You will download a os 'image' either to a usb thumb drive or a cd and boot from that instead of the wiped harddrive. You will probably have to enter your motherboards BIOS just as it boots and specifically tell it to boot from the usb or cd.
 
How do most of you mount the second probe inside of the fermentation room?

1 probe is going in the thermowell of my SS brewtech bucket, the second probe needs to measure the temperature inside of the fridge as accurate as possible.

So what is the best way to mount it?

My fridge is cooled by the freezer department on top of the fridge (it's one of those "open" freezers)? The heating is done by 2 big resistors on the "floor" of the fridge.

So I would think to put the probe somewhere in the middle in height. But is it a good idea to just tape it to the side of the fridge or is it best it "floats" in the air?

I'm using a chest freezer, my fridge probe just dangles in the middle of the chamber.
 
Went out to the garage and noticed the compressor on the fermentation chamber was running and so was the heater. The display said it was doing a heat cycle so it seems as if the relay for the compressor might be stuck.

I'm using the sainsmart dual relay board currently but if a relay is indeed stuck or bad on it I maybe changing the board out with ssr's.

After taking another look, the relay is indeed stuck closed. I forgot how cheap the boards are. I'm just going to buy a few of them and do a direct replacement. Installing SSR's would probably be better but replacing the relay boards is going to be much easier with my setup.
 
How do most of you mount the second probe inside of the fermentation room?

1 probe is going in the thermowell of my SS brewtech bucket, the second probe needs to measure the temperature inside of the fridge as accurate as possible.

So what is the best way to mount it?

My fridge is cooled by the freezer department on top of the fridge (it's one of those "open" freezers)? The heating is done by 2 big resistors on the "floor" of the fridge.

So I would think to put the probe somewhere in the middle in height. But is it a good idea to just tape it to the side of the fridge or is it best it "floats" in the air?

Don't tape it to the side as the temp of the fridge wall will influence the probe. I have mine about 2" from the side and it works great, but I also have a fan recircing air in the chamber 24/7. Adding a recirc fan is never a bad idea. Exact probe placement will be less critical with one, too.
 
How do most of you mount the second probe inside of the fermentation room?

1 probe is going in the thermowell of my SS brewtech bucket, the second probe needs to measure the temperature inside of the fridge as accurate as possible.

So what is the best way to mount it?

My fridge is cooled by the freezer department on top of the fridge (it's one of those "open" freezers)? The heating is done by 2 big resistors on the "floor" of the fridge.

So I would think to put the probe somewhere in the middle in height. But is it a good idea to just tape it to the side of the fridge or is it best it "floats" in the air?

I use a stand up freezer, and ferment in buckets. I simply lay my fridge sensor across the top of my bucket so that the tip is dangling off the edge in the air.

Just keep it off the wall is really all that matters, that and not moving it. Once BrewPi figures things out it doesnt really matter where it is..even if you move it from the top to bottom of your chamber the software will figure out its new PID values pretty fast within a cycle or two usually of the fridge.
 
I'm going to have to do some reading up. That part I know. I wasn't expecting a wiped computer.

Sorry if I was not specific enough. I would actually prefer to install to a clean, formatted hard drive. As thekraken mentioned, download the install image and burn it to a disc or put it on a USB drive. You'll then boot the system from the USB/Disc and follow the prompts.

In fact when I recently installed Debian Wheezy, I reformatted the drive as part of the install process.

Make sure you install the SSH at the beginning. I find it easier to install the BrewPi script over SSH, since you can cut/paste the commands.

The images for Debian Wheezy can be found here: Installing Debian 7.9

You'll have to choose the install image based on the system for which you are installing it on.

I prefer to install from the netinst CD image category. You'll just need internet access in order to download the full O.S. after booting from the initial image.
 
Thanks, i decided to update my BrewPi and i used your instructions here and it more or less worked. When i tried to program it though my old system didnt have an updated python, pyserial, and some other python lib needed..once i got all those up to date i was able to flash my arduino with the 2.10 Rev C hex without issue.

This worked for me as well, but when I run:
sudo echo 'E\n' > /dev/ttyAMC0

I get this error:
bash: /dev/ttyAMC0: Permission denied

Anyone else have this problem?
 
This worked for me as well, but when I run:
sudo echo 'E\n' > /dev/ttyAMC0

I get this error:
bash: /dev/ttyAMC0: Permission denied

Anyone else have this problem?

My wild guess is that your arduino isn't at /dev/ttyAMC0?

Have you tried
ls -la /dev/tty*
to see what other port might be available?

[edit]
Is it supposed to be ttyACM0, not amc0?
 
My wild guess is that your arduino isn't at /dev/ttyAMC0?

Have you tried
ls -la /dev/tty*
to see what other port might be available?

[edit]
Is it supposed to be ttyACM0, not amc0?

Thanks! that was it.
 
Sorry if I was not specific enough. I would actually prefer to install to a clean, formatted hard drive. As thekraken mentioned, download the install image and burn it to a disc or put it on a USB drive. You'll then boot the system from the USB/Disc and follow the prompts.

In fact when I recently installed Debian Wheezy, I reformatted the drive as part of the install process.

Make sure you install the SSH at the beginning. I find it easier to install the BrewPi script over SSH, since you can cut/paste the commands.

The images for Debian Wheezy can be found here: Installing Debian 7.9

You'll have to choose the install image based on the system for which you are installing it on.

I prefer to install from the netinst CD image category. You'll just need internet access in order to download the full O.S. after booting from the initial image.



Thanks. I have the 32 bit system on USB installing now.

I got Wheezy installed. But messed up with the brewpi stuff. I'm re-installing from scratch.

Edit*
Got it done. I will flash my spare, but bare arduino and see what happens.
 
I think it was successful.
I got this message. It looks like it saw the version of BrewPi, but then I guess the last message is because it is the legacy version?

The web interface works and the script is running, so I guess at this stage I'm winning. :p

I also don't have the Arduino side built yet, and that will confound things. More debugging later

Waiting for device to reset.
Dec 16 2015 16:39:19 Opening serial port
Checking new version: Found BrewPi v0.2.10 build unknown, running on an Arduino Uno with a revC shield on port /dev/ttyUSB0

Resetting EEPROM to default settings
INFO MESSAGE 15: EEPROM initialized
Could not receive valid version number from old board, No settings/devices are restored.
Dec 16 2015 16:39:29 New program uploaded to controller, script will restart
Dec 16 2015 16:39:35 Opening serial port
Dec 16 2015 16:39:35 Notification: Script started for beer 'My First BrewPi Run'
Dec 16 2015 16:39:36 Checking software version on controller...
Dec 16 2015 16:39:46 Warning: Cannot receive version number from controller. Your controller is either not programmed or running a very old version of BrewPi. Please upload a new version of BrewPi to your controller.
 
I use a stand up freezer, and ferment in buckets. I simply lay my fridge sensor across the top of my bucket so that the tip is dangling off the edge in the air.

Just keep it off the wall is really all that matters, that and not moving it. Once BrewPi figures things out it doesnt really matter where it is..even if you move it from the top to bottom of your chamber the software will figure out its new PID values pretty fast within a cycle or two usually of the fridge.

Thanks, I'll probably 3D print something to attach the sensor to. Something I can mount to the wall of the fridge but keeps the sensor away from touching the sides.
 
I think it was successful.
I got this message. It looks like it saw the version of BrewPi, but then I guess the last message is because it is the legacy version?

The web interface works and the script is running, so I guess at this stage I'm winning. :p

I also don't have the Arduino side built yet, and that will confound things. More debugging later


From that message I would surmise that your arduino was not properly flashed or is not getting enough power to start up the brewpi program.
 
I have a question, did anyone use Xbees between the temp probes and the Arduino's? If yes, how did you do it?

No, as the probes are using digital 1-wire which an Xbee can't speak. An Xbee could sample an analogue temperature sensor but you'd have to write the arduino side code to use it..

I built my brewpi derivative to use Xbee for the serial connection between the arduino and a dekstop linux PC, instead of an attached raspberry pi. It's not trivial and needs you to have a good grasp of the various technologies involved. With perseverance though even remote programming of the arduino works. It was a couple of years ago when I set mine up (before this thread).
 
I had it running so the local ip would come up with the web page and the script running.

Then I wanted to try and make a readable address. I was stuffing around with just enough knowledge to be dangerous and messed everything up. [emoji23][emoji23][emoji1][emoji1]

Reinstall!

At least I know I can get it working again.

However I still need to read up on making an address that can be accessed both locally and externally.

More thread to read.
 
I'd likely have quit within a week or so of building my first controller if I wasn't so compulsive about creating an image when I got something working - and before moving on to the next challenge.

The classic: I had BrewPi running, and installed the first release of RaspberryPints following their procedure - which calls for rm'ing the whole /var/www folder.
Whoops! Saved by the backup!

Cheers!

[edit] To make your system visible on the interwebs, you should first set the system to use a static IP address.
Then you can create a "Port Forward" rule on your router to push all in-bound html traffic to that static IP address...
 
I just wanted to update everyone that after some private correspondence with gromitdj, I got my setup working.

I started with a fresh installation of raspbian weezy, and followed these instructions
http://docs.brewpi.com/manual-brewpi-install/manual-brewpi-install.html

At section 4. "Using Git for BrewPi", after running
"sudo apt-get install git-core"

I entered
"sudo -u brewpi git clone -b legacy https://github.com/BrewPi/brewpi-script /home/brewpi"

Then

"sudo rm /var/www/*"

and finally

"sudo -u www-data git clone -b legacy https://github.com/BrewPi/brewpi-www /var/www"

to install the legacy version of BrewPi

afterwards, it was necessary to run the command
"sudo /home/brewpi/utils/fixPermissions.sh"
to fix the permissions of the /var/www folder to allow the flashing of the arduino.

After the arduino was succesfully flashed, I found that I could not install any detected devices until after I ran the command

sudo echo 'E\n' > /dev/ttyAMC0
to clear the EEPROM of the arduino. After running that command, all devices installed properly, and i'm currently making my yeast starter for my first temperature controlled brew ^_^


This post really needs to be copied and pasted included in the OP. Very helpful.
 
This post really needs to be copied and pasted included in the OP. Very helpful.

I wish i could, about 6-9 months ago the forum was taken down and rebuilt and all these subforums under DIY were created and this moved, and i lost access to edit my post and they cant seem to give it back.
 
It's much simpler than all that: after 30 days, the author is no longer able to edit his/her own post.
Doesn't matter if you're a free-loader or a paying member.
And, yeah, in technical threads it's a pita...

Cheers!
 
Thanks, I'll probably 3D print something to attach the sensor to. Something I can mount to the wall of the fridge but keeps the sensor away from touching the sides.

I used a plastic wire clamp and a nylon standoff to keep it separated from the wall.
 
This post really needs to be copied and pasted included in the OP. Very helpful.


If I get a chance, I will try to update the DIY BrewPi Wikia page with the information. That page, that I believe Fuzze created, really should be referenced more often. It helped me immensely with the multi-instance setup.
 
I'd likely have quit within a week or so of building my first controller if I wasn't so compulsive about creating an image when I got something working - and before moving on to the next challenge.

The classic: I had BrewPi running, and installed the first release of RaspberryPints following their procedure - which calls for rm'ing the whole /var/www folder.
Whoops! Saved by the backup!

Cheers!

[edit] To make your system visible on the interwebs, you should first set the system to use a static IP address.
Then you can create a "Port Forward" rule on your router to push all in-bound html traffic to that static IP address...

I think I've been successful at getting a static IP. I mean I can use the IP that I set to view the brewpi web interface.

Its been, like, 23 years since I used a unix type system at Uni. And a lot of this stuff is new to me. But Given I only needed to install Debian twice to get it running.... well thrice because I was a twit after it was running, I reckon thats a passing grade so far. :tank:

Now I better back this up because from here it takes a little something special to &*^% things up. And can I tell you I have that little something special! :(

:D
 
The static I.P. daytrippr is referring to is the one you'll need to see from outside your LAN. The one given to you from your provider and assigned to your cable or DSL modem. Some providers, like mine, don't offer a static I.P. So I use DYNDNS.ORG. I think it is $20 for the year. You may have to update the I.P. of your modem a couple times a year if that is the case. If the I.P. you are using is 192.168.1.#, that is your local I.P., and won't do you any good from outside your home network. Until you have to enable the port forwarding.
 
Status
Not open for further replies.
Back
Top