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.
The gotchas for me during my initial install of BrewPi
1: loading the drivers and editing the BPI software for the ch340 chip
This is why my recommendation is always to spend the extra $4 and get a real Arduino. It's impossible to out-think the Chinese.
2: DS18B20 temp sensor not being detected
Wiring issues? Parasitic issue?
3: Setting up Wifi.
That's firmly out of scope for an application. I do have some tutorials and a small application (above in the thread) to help with that, but I'm going to go out on a limb and say if a person is able to run the curl command, they are connected to the Internet. ;)
 
Elco ( The "Inventor" of BrewPi), had great documents for the BrewPi Configuring your Devices. I still have the hard copy from 1-16-2015, and tried to reload the page now for verboten, but the page was taken down....

http://docs.brewpi.com/after-install/device-configuration.html
Enter the Wayback Machine:

https://web.archive.org/web/2017012...atest/after-install/device-configuration.html

I'll bookmark that and make sure to try to incorporate that in an upcoming article.
 
This is why my recommendation is always to spend the extra $4 and get a real Arduino. It's impossible to out-think the Chinese.

Wiring issues? Parasitic issue?

That's firmly out of scope for an application. I do have some tutorials and a small application (above in the thread) to help with that, but I'm going to go out on a limb and say if a person is able to run the curl command, they are connected to the Internet. ;)
With the help of the guys here I was able to get it to work. Parasitic issues caught everybody by surprise.turns out the vendors were shipping mislabeled sensors. Same with the Chinessium UNO r3 knock offs, once the brainiacs figured out they were using a different chip the fix was easy for people that know their way around the RPI code. The wifi issue was an ID-10T error on my part.
 
Last edited:
Thank you all for your input. It’s been very enlightening!
 
Heya folks. Did a little one-off that I made for the RPints folks which some of you may be interested in. It's a WiFi checker that's a bit of an improvement from the one in Legacy BrewPi (very similar to what's already in Remix): https://github.com/lbussy/rpi-wifi-checker

If you have the Legacy BrewPi WiFi checker in crontab, edit brewpi crontab:
Code:
sudo nano /etc/cron.d/brewpi
Change the entries line from:
Code:
entries="brewpi wifichecker"
to
Code:
entries="brewpi ~wifichecker"
And remove this line:
Code:
*/10 * * * * root sudo -u brewpi touch $stdoutpath $stderrpath; $scriptpath/utils/wifiChecker.sh 1>>$stdoutpath 2>>$stderrpath &
Save it and restart the cron with:
Code:
sudo /etc/init.d/cron restart
Then you can install the new systemd process with:
Code:
curl -L wifi.brewpiremix.com | sudo bash
Hope someone can make use of this.
 
It’s had a week in a couple of my test systems, so it’s time to announce:

BrewPi Remix Firmware 0.2.11!

The primary change in this release is to move the workspace to PlatformIO from Atmel Studio. There are a few other changes you may be interested in. This is the first new firmware release since forking from the original BrewPi Legacy branch.

Features

  • Move to PlatformIO
  • Remove (some of) the Spark shrapnel that was added to the Legacy 0.2.10
  • Bump LogMessages.h to align with @thorrak's ESP8266 firmware
Bugfixes
  • Added a reset on interval to help LCD scramble
  • Re-establish build version in eeprom (remove "unknown")
  • Remove ability to enter invalid chamber/beer number
General Changes
  • No longer releasing Shield Rev A code, this is unlikely to be needed and just confused people. All users not using shields as well as users leveraging the CadiBrewer shields (see thread on HBT) should use the Rev C code
  • No longer releasing Leonardo code. Have never come across a single person using it. This repo is all Uno all the time
  • No longer releasing Spark code. Didn't you get the memo? This is Uno country!
I’d love it if a few folks with idle rigs would give it a run or two, however I did not detect any issues in my tests.

Because of the bump to LogMessages.h you will get a warning about that version. It should be harmless however and the next release of BrewPi Remix will account for that.

If you are running Remix already, you can run updateFirmware.py. If you are running Legacy, you can download and install it manually. It should be compatible with the old scripts with the exception of the version number warning I mentioned above.
 
OmyOmyOmyOmyOmy I shiver with anticipation. Could be the flu, but I doubt it. Will test. Thanks!
 
I was curious, I thought maybe some of the rest of you might be as well:
Code:
$ find /home/brewpi -name '*.py' | xargs wc -l
  4687 total

$ find /home/brewpi -name '*.sh' | xargs wc -l
  1523 total

$ find /home/brewpi -name '*.inc' | xargs wc -l
  373 total

$ find /var/www/html -name '*.php' | xargs wc -l
  2285 total

$ find /var/www/html -name '*.js' | xargs wc -l
  37373 total

$ find /var/www/html -name '*.css' | xargs wc -l
  2226 total

$ find ~/brewpi-tools-rmx -name '*.sh' | xargs wc -l
  2247 total

$ find ~/brewpi-firmware-rmx -name '*.cpp' | xargs wc -l
  8636 total

$ find ~/brewpi-firmware-rmx -name '*.h' | xargs wc -l
  6632 total

65,982 total code lines
A lot happens in those lines.
 
I get a kick out of seeing my beer stay within .1 degree of my set temp. Looks like quite a swing, but check out the scale of the graph.
Capture.JPG
 
Last edited:
Hello all, I noticed on my graph the dates are wrong, so it's not running my schedule. What do I need to do to fix it? Thanks!
 

Attachments

  • Screenshot_20190403-080831_Chrome.jpg
    Screenshot_20190403-080831_Chrome.jpg
    381.9 KB · Views: 47
Hello all, I noticed on my graph the dates are wrong, so it's not running my schedule. What do I need to do to fix it? Thanks!
Unless you've discovered a weird bug, it would be because your date/time is wrong on your Pi. The Pi does not have a Real Time Clock, instead it relies on the Internet to get it's time hacks.

To fix, first make sure your timezone is correct. Type sudo raspi-config in the command line. Choose:
  1. Internationalization options
  2. Change Time Zone
  3. Select geographical area
  4. Select city or region
  5. Reboot your Pi
After reboot, check your time either in the UI or via command line with the date command. If it's still not right, I suspect you have some Internet connectivity issues you will want to address.
 
Thanks for the suggestions. I've run the the time zone commands multiple times, via wifi and hard wired to no avail. I'm still stuck in October 2018...

Any help to get me back to the present?

Unless you've discovered a weird bug, it would be because your date/time is wrong on your Pi. The Pi does not have a Real Time Clock, instead it relies on the Internet to get it's time hacks.

To fix, first make sure your timezone is correct. Type sudo raspi-config in the command line. Choose:
  1. Internationalization options
  2. Change Time Zone
  3. Select geographical area
  4. Select city or region
  5. Reboot your Pi
After reboot, check your time either in the UI or via command line with the date command. If it's still not right, I suspect you have some Internet connectivity issues you will want to address.
 
Last edited:
Thanks for the suggestions. I've run the the time zone commands multiple times, via wifi and hard wired to no avail. I'm still stuck in October 2018...
Wheeeeell ... I hate to laundry list you but there's a whole list of things it could be.
  • What version of Raspbian? (cat /etc/os-release)
  • What kernel version? (uname -a)
  • What does timedatectl tell you?
  • If you ping 8.8.8.8, what do you get? (you will have to hit ctrl-c to get it to stop)
  • What does it show when you issue the command: systemctl status systemd-timesyncd.service
If you just want to set it and walk away for a while, issue the command sudo timedatectl set-time '2019-04-03 14:30' <- (Single-quotes required, change date/time appropriately)

If you are running Stretch, someone in their infinite wisdom decided ntpd worked too well so they screwed it up and swapped it out with timesyncd.

Depending on what the above tells you, there's different ways to remedy the issue properly.
 
Here is what I found:
  • Version 7 wheezy
  • Linux brewpi 3.18.11-v7+ #781 SMP
  • command not found (timedatectl)
  • ping says network is unreachable (interesting as this is from a good hard wire connection)
  • systemctl : command not found
I was able to set the time using 'sudo date -s '2019-04-03 16:06''

Wheeeeell ... I hate to laundry list you but there's a whole list of things it could be.
  • What version of Raspbian? (cat /etc/os-release)
  • What kernel version? (uname -a)
  • What does timedatectl tell you?
  • If you ping 8.8.8.8, what do you get? (you will have to hit ctrl-c to get it to stop)
  • What does it show when you issue the command: systemctl status systemd-timesyncd.service
If you just want to set it and walk away for a while, issue the command sudo timedatectl set-time '2019-04-03 14:30' <- (Single-quotes required, change date/time appropriately)

If you are running Stretch, someone in their infinite wisdom decided ntpd worked too well so they screwed it up and swapped it out with timesyncd.

Depending on what the above tells you, there's different ways to remedy the issue properly.
 
Last edited:
Your /etc/network/interfaces should have a line that looks something like:

iface eth0 inet dhcp

Is that what it looks like? Do you happen to remember if you set a static IP address at one point in your history with this rig?
 
I see:

iface eth0 inet manual

also see

iface wlan0 inet static (with my defined address and gateway)
 
I see:

iface eth0 inet manual

also see

iface wlan0 inet static (with my defined address and gateway)
So apparently something changed on your network. Let's go easy mode:

Edit that (sudo nano /etc/network/interfaces) and change 'iface eth0 inet manual' to 'iface eth0 inet dhcp' and also change 'iface wlan0 inet static' to 'iface wlan0 inet dhcp'. Then reboot.

This should by bypass the static setup you have and allow your router to dynamically assign an IP address. If you are on the console/desktop, you can check your ping command again and see if you have Internet. If you do, then your time will start working correctly again.

If we get past that: You initially set a static IP address because the old instructions said to do that. This is not needed. There's a thing called mDNS which allows you to find systems by name on your local network. Assuming you are using Windows for you normal workstations, you can try to open a web browser to <server name>.local. If that does not work you may have to install Bonjour from Apple. (it says "print services, that's what you want.) When you are done you will be able to access via the system name (my current mule is named "brewpi"):

Capture.PNG


Avoiding static IP's is much preferred on a home network, unless there's some other need for it.
 
That's great!

Wheezy (and that kernel) is pretty old. You might think about running an apt update/upgrade just to make sure you're not missing security patches. Also be aware that php5 is no longer available normally for Debian which is why the tools and scripts have been re-written.
 
[...]Avoiding static IP's is much preferred on a home network, unless there's some other need for it.

hah! I would say just the opposite: use static IPs unless there's some reason you can't. Everything fixed - wired or wireless - is static here, including "permanent" mobile members. Indeed the only things that aren't static across all segments of my LAN are visitors gear (on their own special subnet) - even our phones and tablets use quasi-static via DHCP reservation.

Lemme tell ya, with currently 42 IP nodes in the house it's a lot easier to track **** down when everything is always where you left it ;)

Cheers!
 
Lemme tell ya, with currently 42 IP nodes in the house it's a lot easier to track **** down when everything is always where you left it ;)

Agreed! With 3 kids (4 if you include me) and 1 responsible Adult in this household every device has its place. If you’re a guest...you go on the guest network. Been running this way for 5+ years.
 
MAC addresses and mDNS work just fine for diags. MACs (almost) never change. IPs are for routing, not identification. Been an IT professional since before Al Gore invented the Internet and I find that people need to use static IP addresses because they “need” other things that make their life miserable. Right tools for the job I say. Phones, home computers and especially IoT is a PIA enough without being forced into an arbitrary address scheme.

That said I do have subnets, multiple routers and guest networks, but that’s just good security.
 
I find that people need to use static IP addresses because they “need” other things that make their life miserable.

That said I do have subnets, multiple routers and guest networks, but that’s just good security.

Meh...there’s some causality truth to that, so I’ll own it [emoji23]
 
I installed the brewpi legacy this morning and after configuration the heat and cooling has been running together non stop for hours and the beer temp is dropping. My cooling device is a hacked mini fridge, I have it set on beer constant... Is this normal?

Thank you
 
I installed the brewpi legacy this morning and after configuration the heat and cooling has been running together non stop for hours and the beer temp is dropping. My cooling device is a hacked mini fridge, I have it set on beer constant... Is this normal?
It is not.

When you say you installed Legacy, how did you do that? I ask because it's relatively difficult to install BrewPi Legacy these days.

What does the LCD display say? What does your wiring look like - any opportunity to take a pic and post it?
 
It is not.

When you say you installed Legacy, how did you do that? I ask because it's relatively difficult to install BrewPi Legacy these days.

What does the LCD display say? What does your wiring look like - any opportunity to take a pic and post it?
I installed your brewpi remix.. [emoji6]
Capture%2B_2019-04-08-19-06-03.jpg
 
Couple of things:
  1. I only see a beer and room temp. I assume chamber is installed as well?
  2. I only see it calling for heat, which is what it should be doing.
If both the fridge and heater are on, I suspect something with the wiring is not right. Do you have a shield? How is the fridge hacked?

Some pics would help.
 
I installed the brewpi legacy this morning and after configuration the heat and cooling has been running together non stop for hours and the beer temp is dropping. My cooling device is a hacked mini fridge, I have it set on beer constant... Is this normal?

Thank you
Receptacles_0578_DJFcs.jpg
 
I hacked the fridge following Elco's guide and took control of the compressor using a SSR. It appears to be cooling only now maybe I need to switch something. My wiring is identical to fuzze's without the relay board. Which I had on my last build but it burned up, so I switched to SSR for this one. Here are some pics of my wiring and device configurations.

Thanks so much for the help
Capture%2B_2019-04-08-19-56-00.jpg
Capture%2B_2019-04-08-19-57-00.jpg
0408191959.jpg
0408191959a.jpg
0408192000.jpg
 
I switched device 3 & 4's function and now it appears to be heating and not cooling like it should. Is it just that simple or should I have switched them on the adruino board instead?
 
What you had as shown in the Device manager images would have been just fine - as long as you actually used D5 to control your fridge and D6 to control your heater. If you switch the functions in Device manager you need to have the wiring match...

Cheers!
 
What you had as shown in the Device manager images would have been just fine - as long as you actually used D5 to control your fridge and D6 to control your heater. If you switch the functions in Device manager you need to have the wiring match...

Cheers!
Pin 5 is definitely wired to the fridge and pin 6 is wired to the heat. Something is not right... When I switch them back to the original configuration in device manager the system starts heating when the dashboard say cooling. Not sure what to do... Please help?
Capture%2B_2019-04-09-07-05-58.jpg
 
Status
Not open for further replies.
Back
Top