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.
Would using two conductor, 22 awg wire with a shield work for the temp sensors? The shield has a stranded bundle of what looks like 22 awg aluminum wire that I would use for the ground. Would there be any problems in doing this?

On a similar note, I can also get four conductor, 22 awg wire with a shield which is also a bundle of aluminum wire as in the cable I described above. Would this work between the Arduino and the "Eurostyle" junction block shown in the first post? My SSRs are going to be mounted next to the junction block, so pins 5 and 6 will go through this cable to the SSRs. This will require 5 conductors, so I would use the shield wires in the cable for the ground. Would there be any problems in doing this?
 
Hey brewpi'ers. It's been a while but I'm back in brewing mode and have been fighting my DIY brewpi ever since. After an assortment of fits and starts I've finally got the beast under control (ultimately ditched the screw shield!) except that I can't get the Pin5 actuator to work. So far, I've been able to get by with one actuator for cooling but know that the fermentation is slowing and I want to heat things up a bit, I need both of them online. As part of the troubleshooting, I tried to use a more current version of the HEX file but my Sainsmart Uno didn't like it so I reverted back to the old version. When the program is idling I get 5V on Pin5. I'm using an old laptop with Debian instead of a Pi. Any ideas on things to try? This same rig has worked well in the past. Also, I switched out the original Sainsmart 2-SSR relay and used a 4-SSR relay I had for something else (maybe multple ferm controls?) but still didn't work. No LED lights up for the SSR connected to the Pin5 actuator.

Todd

EDIT - I have an old Arduino duemilanove in the drawer. Could I get the firmaware loaded on that and swap it in for Uno? Don't know about compatibility with the HEX files and all that.
 
Last edited:
Have you tried using another pin like digital 7? Sounds like the pin 5 on your arduino might be bad. Have you tried swapping arduinos or running your own sketches to see if it functions properly?
 
Have you tried using another pin like digital 7? Sounds like the pin 5 on your arduino might be bad. Have you tried swapping arduinos or running your own sketches to see if it functions properly?

I tried connecting the wire to Pin 2 (Act3) since that was one that "showed up" as a detected device during the Refresh Devices operation. Admittedly, I was bumbling my way through the troubleshooting at that point but I don't think that helped. Can I try Pin 7 even though it isn't automatically detected? I'm looking at the GUI remotely and see that when I try to Add a device my only Pin assignment choices are A0,A1,A2,A3.

I'll get the Arduino IDE up on the laptop (if it isn't already) and run a test sketch when I get back home. Thanks kraken.

Todd
 
I tried connecting the wire to Pin 2 (Act3) since that was one that "showed up" as a detected device during the Refresh Devices operation. Admittedly, I was bumbling my way through the troubleshooting at that point but I don't think that helped. Can I try Pin 7 even though it isn't automatically detected? I'm looking at the GUI remotely and see that when I try to Add a device my only Pin assignment choices are A0,A1,A2,A3.

I'll get the Arduino IDE up on the laptop (if it isn't already) and run a test sketch when I get back home. Thanks kraken.

Todd

Sorry, I'm not at a brewpi at the moment I can't tell you for sure what pins are available. Maybe someone else can chime in... I *think* there is an option to add a new device and specificy a pin. As far as auto detection, the brewpi won't auto detect the relay, it will only auto detect the temperature probes.
 
I am having issues flashing my Arduino using the Brewpi web interface. I have downloaded the Uno Rev C and selected board type Uno and answered no to both questions. I get the following when I hit program I get the following: I have installed the BrewPi with sudo apt-get update. Please help!

IMG_1223.jpg
 
I restarted building my brewpi, but I cannot download brewpi from github using the normal command lines , it asks for username and password which I setup on github. but it stills fails, pull error, sorry been out of the loop
 
Would using two conductor, 22 awg wire with a shield work for the temp sensors? The shield has a stranded bundle of what looks like 22 awg aluminum wire that I would use for the ground. Would there be any problems in doing this?

The DS18B20 probes aren't exactly high-bandwidth devices, so if you were to extend your existing three-leaded probe wires using the duplex with shield it'd probably work.

On a similar note, I can also get four conductor, 22 awg wire with a shield which is also a bundle of aluminum wire as in the cable I described above. Would this work between the Arduino and the "Eurostyle" junction block shown in the first post? My SSRs are going to be mounted next to the junction block, so pins 5 and 6 will go through this cable to the SSRs. This will require 5 conductors, so I would use the shield wires in the cable for the ground. Would there be any problems in doing this?

I might need some help getting that right: the four conductor plus shield would carry the two GPIO signals to the SSRs, power and signal to the probes, and use the shield as the ground return for the whole works?

If so, that'd probably work, too.

As for the "Euro" screw terminal thing, I have no familiarity with them.
Looks like something the phone companies used to use.

btw, if all this wire (which I presume is "free" to justify the interest) is solid I'd make sure it's essentially immobilized for life lest it fatigue itself to death...

Cheers!
 
Would using two conductor, 22 awg wire with a shield work for the temp sensors? The shield has a stranded bundle of what looks like 22 awg aluminum wire that I would use for the ground. Would there be any problems in doing this?



On a similar note, I can also get four conductor, 22 awg wire with a shield which is also a bundle of aluminum wire as in the cable I described above. Would this work between the Arduino and the "Eurostyle" junction block shown in the first post? My SSRs are going to be mounted next to the junction block, so pins 5 and 6 will go through this cable to the SSRs. This will require 5 conductors, so I would use the shield wires in the cable for the ground. Would there be any problems in doing this?


Just to echo what day_trippr said I used a 5 meter Ethernet cable to temporarily connect my probe to brewpi so I could monitor my cellar temp. Worked fine as far as I could tell.
 
I am having issues flashing my Arduino using the Brewpi web interface. I have downloaded the Uno Rev C and selected board type Uno and answered no to both questions. I get the following when I hit program I get the following: I have installed the BrewPi with sudo apt-get update. Please help!


sudo apt-get install arduino

Then try again. I assume this is the first time trying to install brewpi. if the aforementioned doesn't work for you. Then try to use arduino ide to upload a blank sketch first. Sometimes the factory installed sketches can be hard to write over for some reason.
 
Give this a look, it's what I used while connecting two Unos via a USB hub plus the AlaMode shield via serial port. I'm pretty sure everything is in there but it's definitely a mixture of cut'n'paste from the BrewPi site and my own thinking out loud as I went along. You'll have to cope with the latter ;)

Cheers!

Note: the script assumes the default RaspberryPi user name is 'pi'.
If you chose a different user name be sure to change all pertinent instances of 'pi' to your actual default user name.

Also, be sure to set the system date/time before the apt-get commands as otherwise security certificate errors may occur (security certificates are time sensitive).

=================================================
Multiple Arduino BrewPi Installation (2 USB, 1 Serial)

1.1.1. Determine the USB hub port identifiers
With only one Arduino connected, issue the following command to see which device node the Arduino is currently using:

$ ls /dev/ttyACM*

/dev/ttyACM0

$ udevadm info -a -n /dev/ttyACM0 | less

looking at parent device '/devices/platform/bcm2708_usb/usb1/1-1/1-1.3/1-1.3.4':
KERNELS=="1-1.3.4"

ATTRS{manufacturer}=="Arduino (www.arduino.cc)" (note the section for the Uno)

move Arduino to next USB port and repeat
KERNELS=="1-1.3.3"


1.1.2. Write the udev rules
Now that the identifier for each USB hub port has been obtained, the udev rules can be written.

KERNELS=="1-1.3.4" [Port 1]
KERNELS=="1-1.3.3" [Port 2]

$ sudo nano /etc/udev/rules.d/99-arduino.rules

SUBSYSTEM=="tty", KERNEL=="ttyACM*", KERNELS=="1-1.3.4", SYMLINK+="brewpi1"
SUBSYSTEM=="tty", KERNEL=="ttyACM*", KERNELS=="1-1.3.3", SYMLINK+="brewpi2"

[My third AVR is actually an AlaMode shield and connects via the RPi serial port so the above doesn't apply]


Once the udev rules file is created, disconnect your Arduino and then reload udev
before connecting all of the Ardiunos to their respective ports.

$ sudo /etc/init.d/udev reload


1.2. Install BrewPi

Install the BrewPi script and web interface manually as described in the manual installation process, noting the following changes:

$ git clone brewpi-script into subdirectories of /home/brewpi instead of directly into /home/brewpi.
[I used /home/brewpi/brewpi1, /home/brewpi/brewpi2 and /home/brewpi/brewpi3]

$ git clone brewpi-www into subdirectories of /var/www instead of directly into /var/www.
[I used /var/www/brewpi1. /var/www/brewpi2 and /var/www/brewpi3 to match each script installation directory]

Fix the permissions manually.

UNTESTED alternative to manual permission editing:
It looks like utils/fixPermissions.sh should work when run from each script instance
[My note: this does indeed work - and the per-instance execution is shown in Step 3 further along in this script where they belong]

If you have other content in /var/www, you will likely want to update webPath in fixPermissions.sh
to the directory of the corresponding web interface instance.

Do not use utils/updateCron.sh or the cron job string in the manual installation instructions.
Instead follow the directions in the cron section below.

INSTALLING BREWPI:

Backup RPints files:

backed up /var/www to /var/www_backup
backup up /var/www/index.php to rpints_index.php

Update all packages:

$ sudo apt-get update
$ sudo apt-get upgrade (FINALLY completed)

rebooted

Install missing PHP5 packages:

$ sudo apt-get install php5-cgi

Install missing MYSQL packages:

$ sudo apt-get install libapache2-mod-auth-mysql

Install missing PYTHON packages:

$ sudo apt-get install python-serial python-simplejson python-configobj python-psutil python-git

rebooted


3. Setting up users and permissions

Create user brewpi and group brewpi

$ sudo useradd -m -k /dev/null -G www-data,dialout brewpi
$ sudo passwd brewpi (set password = xxxxxxx)

Check brewpi rights

$ id brewpi

uid=1001(brewpi) gid=1004(brewpi) groups=1004(brewpi),20(dialout),33(www-data)

Add user pi to www-data and brewpi group

$ sudo usermod -a -G www-data pi
$ sudo usermod -a -G brewpi pi

NOTE: If you get the error "usermod: user 'pi' does not exist" then add user 'pi' then execute the usermod commands.

$ adduser pi
$ passwd pi (set the password twice)



Set the ownership of all files and subdirectories to brewpi and www-data (first two lines)
Give the group all permissions on all files (third and fourth line)
Give the group all permissions and set the sticky bit on all directories (fifth and sixth line).

$ sudo chown -R www-data:www-data /var/www
$ sudo chown -R brewpi:brewpi /home/brewpi
$ sudo find /home/brewpi -type f -exec chmod g+rwx {} \;
$ sudo find /home/brewpi -type d -exec chmod g+rwxs {} \;
$ sudo find /var/www -type d -exec chmod g+rwxs {} \;
$ sudo find /var/www -type f -exec chmod g+rwx {} \;

4. Installing BrewPi
4.2.1. Cloning the remote repository

For BrewPi1:
$ sudo -u brewpi git clone https://github.com/BrewPi/brewpi-script /home/brewpi/brewpi1

For BrewPi2:
$ sudo -u brewpi git clone https://github.com/BrewPi/brewpi-script /home/brewpi/brewpi2

For BrewPi3:
$ sudo -u brewpi git clone https://github.com/BrewPi/brewpi-script /home/brewpi/brewpi3


4.3. The web interface: brewpi-www
4.3.1. Cloning the remote repository

Target www directory should be empty (automatic installer may delete it!)

$ sudo -u www-data git clone https://github.com/BrewPi/brewpi-www /var/www/brewpi1
$ sudo -u www-data git clone https://github.com/BrewPi/brewpi-www /var/www/brewpi2
$ sudo -u www-data git clone https://github.com/BrewPi/brewpi-www /var/www/brewpi3

4.3.3. Fixing permissions after git commands

Edit the fixPermissions script in each BrewPi instance to match up with its path:


$ sudo nano /home/brewpi/brewpi1/utils/fixPermissions.sh

change webPath to point to subordinate brewpi1 folder:

webPath="/var/www/brewpi1"

Save the file and exit


$ sudo nano /home/brewpi/brewpi2/utils/fixPermissions.sh

change webPath to point to subordinate brewpi2 folder:

webPath="/var/www/brewpi2"

Save the file and exit


$ sudo nano /home/brewpi/brewpi3/utils/fixPermissions.sh

change webPath to point to subordinate brewpi3 folder:

webPath="/var/www/brewpi3"

Save the file and exit



Then execute each of the bash scripts:

$ cd /home/brewpi/brewpi1/utils
$ sudo bash fixPermissions.sh (for BrewPi1)

$ cd /home/brewpi/brewpi2/utils
$ sudo bash fixPermissions.sh (for BrewPi2)

$ cd /home/brewpi/brewpi3/utils
$ sudo bash fixPermissions.sh (for BrewPi3)

1.3. Modify the config files
1.3.1. Edit the script config files

The settings/config.cfg needs to be created in each script instance to properly configure them.


BrewPi1:

$ sudo nano /home/brewpi/brewpi1/settings/config.cfg

scriptPath = /home/brewpi/brewpi1/
wwwPath = /var/www/brewpi1/
port = /dev/brewpi1
altport = /dev/null
boardType = uno

Save the file and exit


BrewPi2:

$ sudo nano /home/brewpi/brewpi2/settings/config.cfg

scriptPath = /home/brewpi/brewpi2/
wwwPath = /var/www/brewpi2/
port = /dev/brewpi2
altport = /dev/null
boardType = uno

Save the file and exit


BrewPi3:

$ sudo nano /home/brewpi/brewpi3/settings/config.cfg

scriptPath = /home/brewpi/brewpi3/
wwwPath = /var/www/brewpi3/
port = /dev/ttyAMA0
altport = /dev/null
boardType = uno

Save the file and exit


1.3.2. Edit the web interface config files
config_user.php needs to be created in each web interface instance to properly configure them. Here are the config files I’m using.

1. /var/www/brewpi1/config_user.php

<?php
// The default settings in config.php are overruled by the settings in config_user.php
// To use custom settings, copy this file to config_user.php and make your changes in config_user.php
// do not add a php closing tag, because newlines after closing tag might be included in the html

// Do not include a trailing slash on the path
$scriptPath = '/home/brewpi/brewpi1';


Save the file and exit


2. /var/www/brewpi2/config_user.php

<?php
// The default settings in config.php are overruled by the settings in config_user.php
// To use custom settings, copy this file to config_user.php and make your changes in config_user.php
// do not add a php closing tag, because newlines after closing tag might be included in the html

// Do not include a trailing slash on the path
$scriptPath = '/home/brewpi/brewpi2';


Save the file and exit


3. /var/www/brewpi3/config_user.php

<?php
// The default settings in config.php are overruled by the settings in config_user.php
// To use custom settings, copy this file to config_user.php and make your changes in config_user.php
// do not add a php closing tag, because newlines after closing tag might be included in the html

// Do not include a trailing slash on the path
$scriptPath = '/home/brewpi/brewpi3';


Save the file and exit


1.4. Set up cron jobs to start the scripts
Create cron job files for each script instance.

1.4.1. brewpi1

$ sudo nano /etc/cron.d/brewpi1

PYTHON=/usr/bin/python
SCRIPTPATH=/home/brewpi/brewpi1
MAILTO=""
* * * * * brewpi $PYTHON $SCRIPTPATH/brewpi.py --config $SCRIPTPATH/settings/config.cfg --checkstartuponly --dontrunfile; [ $? != 0 ] && $PYTHON -u $SCRIPTPATH/brewpi.py --config $SCRIPTPATH/settings/config.cfg 1>$SCRIPTPATH/logs/stdout.txt 2>>$SCRIPTPATH/logs/stderr.txt &


Save the file and exit



1.4.1. brewpi2

$ sudo nano /etc/cron.d/brewpi2

PYTHON=/usr/bin/python
SCRIPTPATH=/home/brewpi/brewpi2
MAILTO=""
* * * * * brewpi $PYTHON $SCRIPTPATH/brewpi.py --config $SCRIPTPATH/settings/config.cfg --checkstartuponly --dontrunfile; [ $? != 0 ] && $PYTHON -u $SCRIPTPATH/brewpi.py --config $SCRIPTPATH/settings/config.cfg 1>$SCRIPTPATH/logs/stdout.txt 2>>$SCRIPTPATH/logs/stderr.txt &


Save the file and exit



1.4.1. brewpi3

$ sudo nano /etc/cron.d/brewpi3

PYTHON=/usr/bin/python
SCRIPTPATH=/home/brewpi/brewpi3
MAILTO=""
* * * * * brewpi $PYTHON $SCRIPTPATH/brewpi.py --config $SCRIPTPATH/settings/config.cfg --checkstartuponly --dontrunfile; [ $? != 0 ] && $PYTHON -u $SCRIPTPATH/brewpi.py --config $SCRIPTPATH/settings/config.cfg 1>$SCRIPTPATH/logs/stdout.txt 2>>$SCRIPTPATH/logs/stderr.txt &


Save the file and exit


Restart CRON:

$ sudo /etc/init.d/cron restart

REBOOTED!

[ALL UNOS HAVE HEARTBEATS!]

http://xx.xxx.xxx.xxx:85/brewpi1/index.php
http://xx.xxx.xxx.xxx:85/brewpi2/index.php
http://xx.xxx.xxx.xxx:85/brewpi3/index.php

All functions on brewpi1 are operational
All functions on brewpi2 are operational
AlaMode is operational on brewpi3 but One-Wire pin assignment conflicts with AVR pins committed to the on-board RTC I2C port
- will need to modify the pins definitions in the sketch and in the web interface)

Made all web pages (index.php) password protected
- used same procedure as multiple files
- apparently the scope of .htaccess includes subdirectories

Done and done!

[edit: I've been cleaning this up and hopefully making the steps clearer]

Before I get started are these still the most up to date multi instructions
except for using the arduinos serial #s ?
thanks
 
Should be good. I do suggest you go with the serial addressing, unless you go the Bluetooth route. it makes things a lot easier
 
I might need some help getting that right: the four conductor plus shield would carry the two GPIO signals to the SSRs, power and signal to the probes, and use the shield as the ground return for the whole works?

Thanks. You have it right. It probably would have worked, but I just ended up getting a little extra so I don't have to use the shield/drain wire for anything. I ended up using 4 and 2 conductor 22 awg stranded wire that's sold at Home Deblow for security systems. It's only $0.32 and $0.19/foot.
 
Thanks. You have it right. It probably would have worked, but I just ended up getting a little extra so I don't have to use the shield/drain wire for anything. I ended up using 4 and 2 conductor 22 awg stranded wire that's sold at Home Deblow for security systems. It's only $0.32 and $0.19/foot.

Thats what my probes are made out of as well. I think 6-8 feet each to give me lots of room. Although my probes are very janky..and i have 2 extra 3M long waterproof ones when i bought a 5 pack for my EHERMS build...so ill probably rewire it at some point to use those.
 
Thats what my probes are made out of as well. I think 6-8 feet each to give me lots of room. Although my probes are very janky..and i have 2 extra 3M long waterproof ones when i bought a 5 pack for my EHERMS build...so ill probably rewire it at some point to use those.

I kind of like making your own rather than buying the pre-made water proof ones since you really don't know how good of contact the sensor is making with whatever it's in (I've seen plastic and SS "bodies"). I know my bare sensor with a little thermal paste on it will be in perfect contact with the inside of my thermowell. With the pre-made ones, you have two contact points to worry about- between the sensor and the body and between the body and the thermowell. It may not be worth worrying about, but I like to obsess over details that might make a difference!
 
I kind of like making your own rather than buying the pre-made water proof ones since you really don't know how good of contact the sensor is making with whatever it's in (I've seen plastic and SS "bodies"). I know my bare sensor with a little thermal paste on it will be in perfect contact with the inside of my thermowell. With the pre-made ones, you have two contact points to worry about- between the sensor and the body and between the body and the thermowell. It may not be worth worrying about, but I like to obsess over details that might make a difference!

Yup mine right now are just the bare sensors wired up and the contacts and where its soldered covered in hot glue to keep the pins from ever touching, still fits into the thermowell just fine too.
 
20151105_183455_zpsvkkojj2h.jpg


I used heatshrink on each lead to about 3/16" from the sensor. Then I filled the 3/16" space around the bare leads with silicone to waterproof it. The sensor is bare. I'm going to put one final layer of heatshrink over the wires/leads, but it will stop at the sensor so it remains uncovered.
 
20151105_183455_zpsvkkojj2h.jpg


I used heatshrink on each lead to about 3/16" from the sensor. Then I filled the 3/16" space around the bare leads with silicone to waterproof it. The sensor is bare. I'm going to put one final layer of heatshrink over the wires/leads, but it will stop at the sensor so it remains uncovered.

From what i can tell(and remember) the actual measurement happens mostly at the tip of the sensor. Still looks way better than mine...
 
From what i can tell(and remember) the actual measurement happens mostly at the tip of the sensor. Still looks way better than mine...

I'm actually really happy to hear that since I plan on very lightly spring loading the sensor in the thermowell. If the measurement happened on the side, it would be hard to make sure it has good contact with the thermowell.
 
I have BrewPi running on a PC. I loaded Debian and ran the brewpi installer. works great! my question is about the Arduino. I see that it is configured by, and connected to, the Brewpi by USB. Is there a way to make that connection over ethernet? The PC is in a room about 20ft away from the fermentation fridge. I have access to running cat5 off of a switch, so no need for wifi. I dont know if this is a software or hardware issue. I have not bought an Arduino yet, so let me know if there is a different model to look for.
 
I got a brand new Arduino Uno and threw that into my set up to try and get both actuators working. I got the HEX file loaded and everything looked good until the program called for heat and nothing happened. When calling for heat there is 0 volts on Pin5. When idling there is 5 volts on Pin5, If I switch the assign in device configuration (change chamber heater to Pin6) the relay engages. Nothing downstream looks suspicious with respect to loose wires/connections. I'm going to mess with it some more now but wanted to throw another plea for help to you BrewPi wizards out there.

Todd
 
I got a brand new Arduino Uno and threw that into my set up to try and get both actuators working. I got the HEX file loaded and everything looked good until the program called for heat and nothing happened. When calling for heat there is 0 volts on Pin5. When idling there is 5 volts on Pin5, If I switch the assign in device configuration (change chamber heater to Pin6) the relay engages. Nothing downstream looks suspicious with respect to loose wires/connections. I'm going to mess with it some more now but wanted to throw another plea for help to you BrewPi wizards out there.

Todd


Have you tried to change the inverted designation on pin #5 to non-inverted? (or vice-versa)
 
I got a brand new Arduino Uno and threw that into my set up to try and get both actuators working. I got the HEX file loaded and everything looked good until the program called for heat and nothing happened. When calling for heat there is 0 volts on Pin5. When idling there is 5 volts on Pin5, If I switch the assign in device configuration (change chamber heater to Pin6) the relay engages. Nothing downstream looks suspicious with respect to loose wires/connections. I'm going to mess with it some more now but wanted to throw another plea for help to you BrewPi wizards out there.

Todd

fwiw, all of my BrewPi minions are set as follows:

pin 2: Chamber Fan (inverted)
pin 4: Chamber Door (inverted)
pin 5: Chamber Cooler (inverted)
pin 6: Chamber Heater (inverted)
pin A4: One Wire data

Sounds to me that you just need to straighten out your device assignments...

Cheers!
 
There is a bug where you can't reliably reassign pin 4.
 
Hello,

I'm new to brewpi, and I'm currently trying to set everything up. However I seem to get stuck very soon in the proces :-/

I followed these steps:

http://docs.brewpi.com/index.html

I completed everything until 2.2

Then I SHOULD be able to see the webUI by tapping localhost in the webbrowser or filling in the IP of the raspberry.

However, this is where I'm stuck.. I tried it on eth0 and wlan0 (currently I'm connected to the net with the Edimax dongle).

So I am connected, I can ping to my raspberry from my other Pc's but I cannot reach the webinterface...

I get a 404 NOT FOUND error... I tried quite some things but I can't get past this.. very strange since I already did something similar with a 3D print webUI (octopi) which worked like a charm the first time I installed it.

Somebody can help?
 
I found it yesterday after googling for more than an hour. It was an apache setting that was pointing to the wrong directory -_-

Now I started on "installing" the arduino which gives a bunch of errors too :) I know what to do tonight :)
 
When we last left our intrepid BrewPi troubleshooter he was in dire straits and was about to attribute his latest puzzle to paranormal activity ...

So, after swapping out the Arduino, relay board, and wires connecting the Arduino Pin5 and 6 to the relays (and going through all the troubleshooting permutations after each switch out), I still couldn't get Pin5 to actuate anything. My brewing buddy was putting a fresh set of eyes on this as well and for his benefit, I started the process from scratch. It turns out that the problem all along was the wire going from Pin5 to the relay. This was particularly heartbreaking because 1) I obviously missed the ONE troubleshooting combination that would have pointed to this , 2) The brand new wire I pulled off the ribbon of jumpers I was using to replace the original Pin5 wire was bad from the get go. I replaced both the digital pin to relay wires and was just "lucky" enough to put another bad wire on Pin5!. It wasn't until I was starting over with new wires all around that I caught it.

Moving forward I'll probably ditch the little jumper wires with the male and female pin connectors on them and break out the soldering iron.

Anyway, I hope my desperate pleas for help didn't occupy too much time of the BrewPi-minati.

Todd
 
Now I cannot run the script nor update the arduino via the webinterface. it is throwing this error at me:

pi@raspberrypi ~ $ sudo -u brewpi python /home/brewpi/brewpi.py
Traceback (most recent call last):
File "/home/brewpi/brewpi.py", line 67, in <module>
import temperature_profile
File "/home/brewpi/temperature_profile.py", line 20, in <module>
import BrewPiUtil as util
ImportError: No module named BrewPiUtil

and indeed that file "brewpiutil" is missing in the directory, but I reinstalled it a few times but the file does not show up.. there is a brewpi_util file tough

EDIT: I found out that there was an update where all filenames were edited to get rid of the capital letters. However "BrewPiUtil" was not renamed in all the files to "brewpi_util". After correcting this, I did no longer get this error but a new one came up when running the script:

pi@raspberrypi ~ $ sudo -u brewpi python /home/brewpi/brewpi.py
Traceback (most recent call last):
File "/home/brewpi/brewpi.py", line 178, in <module>
configFile = util.addSlash(sys.path[0]) + 'settings/config.cfg'
AttributeError: 'module' object has no attribute 'addSlash'

I do not see what is the problem in this part of the script. But I'm already amazed how many errors these scripts contain... i spent 2 complete evenings to get this thing to run and I'm still nowhere
 
Last edited:
A big thanks to those that have helped with advice and especially Elco over at BrewPi.

I wanted to make an enclosed BrewPi system that could handle double fermentation chambers (once the BrewPi is updated to do so) and be pretty easily plugged into and be flexible with different freezers, etc. For this reason I built the box with the SSRs and power so that you just plug the freezer directly into the box instead of wiring the SSR into the freezer/compressor. I definitely see the benefit of doing it that way but I opted not to right now as I'll probably be getting new freezers soon (hopefully nice True glass-fronts).

Parts used were:
New BrewPi Spark with Photon DIY board only.
Raspberry Pi
5 inch touch LCD
MeanWell 120v AC to 5v@3A DC converter
DIY thermistor/fan regulator (to keep the box cool)
2x 40mm 5v fans with grills
1x Large polycase project box
1x 4 hole network plate
4x female to female rj12 jacks
4x male to male rj12 patch cords that I made
4x 10A SSRs from BrewPi
Temp probes from BrewPi
Wireless Keyboard
1x 1input/4output AC plug adapter

I'll just post the pictures so you can see how I put it together. If you have any questions I'd be glad to answer. It works absolutely perfect thus far. It was a chore to get it all to fit though and there isn't room for really anything extra.

IMG_5864.jpg


IMG_5863.jpg


IMG_5852.jpg


IMG_5735.jpg


IMG_5729.jpg


IMG_5728.jpg


IMG_5726.jpg


IMG_5676.jpg


IMG_5669.jpg


IMG_5734.jpg
 
A big thanks to those that have helped with advice and especially Elco over at BrewPi.

I wanted to make an enclosed BrewPi system that could handle double fermentation chambers (once the BrewPi is updated to do so) and be pretty easily plugged into and be flexible with different freezers, etc. For this reason I built the box with the SSRs and power so that you just plug the freezer directly into the box instead of wiring the SSR into the freezer/compressor. I definitely see the benefit of doing it that way but I opted not to right now as I'll probably be getting new freezers soon (hopefully nice True glass-fronts).

Parts used were:
New BrewPi Spark with Photon DIY board only.
Raspberry Pi
5 inch touch LCD
MeanWell 120v AC to 5v@3A DC converter
DIY thermistor/fan regulator (to keep the box cool)
2x 40mm 5v fans with grills
1x Large polycase project box
1x 4 hole network plate
4x female to female rj12 jacks
4x male to male rj12 patch cords that I made
4x 10A SSRs from BrewPi
Temp probes from BrewPi
Wireless Keyboard
1x 1input/4output AC plug adapter

I'll just post the pictures so you can see how I put it together. If you have any questions I'd be glad to answer. It works absolutely perfect thus far. It was a chore to get it all to fit though and there isn't room for really anything extra.

That's purdy
 
[...]I do not see what is the problem in this part of the script. But I'm already amazed how many errors these scripts contain... i spent 2 complete evenings to get this thing to run and I'm still nowhere

Man, what's going on in the BrewPi world that all these problems exist?

I'd love to try to help but from the looks of it the current BrewPi application has been changed quite a bit from what I'm running (installed last winter).

I have a feeling I'd be in the same place you're at right now.

I suppose I'll have to get into updating eventually, but I won't bother until the current Debian version is stable and has full Chromium support.
Then I'll do a full new build on a spare SD card...

Cheers!
 
Man, what's going on in the BrewPi world that all these problems exist?

I'd love to try to help but from the looks of it the current BrewPi application has been changed quite a bit from what I'm running (installed last winter).

I have a feeling I'd be in the same place you're at right now.

I suppose I'll have to get into updating eventually, but I won't bother until the current Debian version is stable and has full Chromium support.
Then I'll do a full new build on a spare SD card...

Cheers!

Has he pushed a bunch of new code that breaks these instructions? I may need to spend a bit of time trying to get them up to date if thats the case im just int he middle of a ferment so cant fiddle with mine.
 
Now I cannot run the script nor update the arduino via the webinterface. it is throwing this error at me:

pi@raspberrypi ~ $ sudo -u brewpi python /home/brewpi/brewpi.py
Traceback (most recent call last):
File "/home/brewpi/brewpi.py", line 67, in <module>
import temperature_profile
File "/home/brewpi/temperature_profile.py", line 20, in <module>
import BrewPiUtil as util
ImportError: No module named BrewPiUtil

and indeed that file "brewpiutil" is missing in the directory, but I reinstalled it a few times but the file does not show up.. there is a brewpi_util file tough

EDIT: I found out that there was an update where all filenames were edited to get rid of the capital letters. However "BrewPiUtil" was not renamed in all the files to "brewpi_util". After correcting this, I did no longer get this error but a new one came up when running the script:

pi@raspberrypi ~ $ sudo -u brewpi python /home/brewpi/brewpi.py
Traceback (most recent call last):
File "/home/brewpi/brewpi.py", line 178, in <module>
configFile = util.addSlash(sys.path[0]) + 'settings/config.cfg'
AttributeError: 'module' object has no attribute 'addSlash'

I do not see what is the problem in this part of the script. But I'm already amazed how many errors these scripts contain... i spent 2 complete evenings to get this thing to run and I'm still nowhere

You should be able to pull the same Git tag as what i am using...you can use the following command to see all the t ags
git tag -l (as in List)
which will show you all of the tags...maybe go back a few versions?

According to my brewpi system i am on tag 0.3.3.1
so move your current directory somewhere, and reclone the repo as in the instructions
then go into the directory and run
git checkout tags/0.3.3.1
 
A big thanks to those that have helped with advice and especially Elco over at BrewPi.

I wanted to make an enclosed BrewPi system that could handle double fermentation chambers (once the BrewPi is updated to do so) and be pretty easily plugged into and be flexible with different freezers, etc. For this reason I built the box with the SSRs and power so that you just plug the freezer directly into the box instead of wiring the SSR into the freezer/compressor. I definitely see the benefit of doing it that way but I opted not to right now as I'll probably be getting new freezers soon (hopefully nice True glass-fronts).

Parts used were:
New BrewPi Spark with Photon DIY board only.
Raspberry Pi
5 inch touch LCD
MeanWell 120v AC to 5v@3A DC converter
DIY thermistor/fan regulator (to keep the box cool)
2x 40mm 5v fans with grills
1x Large polycase project box
1x 4 hole network plate
4x female to female rj12 jacks
4x male to male rj12 patch cords that I made
4x 10A SSRs from BrewPi
Temp probes from BrewPi
Wireless Keyboard
1x 1input/4output AC plug adapter

I'll just post the pictures so you can see how I put it together. If you have any questions I'd be glad to answer. It works absolutely perfect thus far. It was a chore to get it all to fit though and there isn't room for really anything extra.

Very nice Daddy like
 
Status
Not open for further replies.
Back
Top