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.
That got things running, thank you. Sensors all reporting but now looking at a blank LCD... which pin should I be using for the other I2C connection?
Does the LCD light up but no text? If so you need to turn the screw on the back of the LCD about 20 -30 revolutions to bring it in range
 
Well, not that many. This isn't like the pot we used on my and then Cadibrewer's shield, that one took a crapton of turns :D
This one is flat and can't be turned more than ~300° from end to end...

Cheers!
 
Off the top of my head, I think SDA <-> A4, SCL <-> A5.
ok so here's something odd: if I connect the SDA and SCL pins to A4 and A5 respectively, the script stops running. If I unplug, it starts back up. Any idea why that would happen?
 
ok so here's something odd: if I connect the SDA and SCL pins to A4 and A5 respectively, the script stops running. If I unplug, it starts back up. Any idea why that would happen?
Other than a short somewhere (maybe power is swapped?) I don't have any specific advice. It's (almost) for sure hardware/wiring related.
 
Other than a short somewhere (maybe power is swapped?) I don't have any specific advice. It's (almost) for sure hardware/wiring related.
Just to close the loop on this - you were correct, it appears that it was a problem with the LCD itself. I swapped it out with a replacement and reconnected to the same wiring, and it works just fine. So, fingers crossed, I'm up and running! Thanks again for your help, and thanks to others here that pointed me in the right direction.
 
Hey LBussy,

I've been trying to configure my iSpindel to appear in BPR using the instructions on Github (https://github.com/brewpi-remix/brewpi-www-rmx/releases). I did a fresh install (I believe it was 0.5.3.0), but the script only seems to allow for Tilt. After installation, I got the "unable to parse data" and blank graph error - which I resolved with a fresh install.

I tried uncommenting commands in the config.cfg.example file, and adding in iSpindel = myispindelsname and the rest, but I wasn't able to solve this. I can get by with Ubidots, but are there more to the instructions?
 
And of course, I tore down my mule last night. :)

In the meantime as I get a test system working again, have you looked at the release notes?
To add iSpindel, you must have the iSpindel configuration set in your config.cfg in the format iSpindel = iSpindel-Yellow. The name or color used is configured within the iSpindel configuration portal. Point iSpindel to the brewpi-api.php file as it's "HTTP" service type on port 80. More information may be found in the iSpindel documentation. If you are using a multi-chamber configuration, point the iSpindel at the brewpi-api.php in the directory corresponding to the chamber you wish to serve.
 
Okay, got my rig running again. You are correct, the installation script does not facilitate using the iSpindel (yet.)

Your config.cfg should looks something like this:
Code:
scriptPath = /home/brewpi/
wwwPath = /var/www/html
port = /dev/ttyACM0
logJson = True
iSpindel = iSpindel-Yellow
The entry for the iSpindel should be exactly what the iSpindel thinks it's called.
 
Yes, those are the instructions I was following. I'm sure I've just made a silly mistake. I tried iSpindel = iSpindel1, as well as iSpindel = iSpindel-iSpindel1.

Got a brew running at the moment, so will have another go again soon. Thanks LBussy!
 
Yes, those are the instructions I was following. I'm sure I've just made a silly mistake. I tried iSpindel = iSpindel1, as well as iSpindel = iSpindel-iSpindel1.
It should match exactly to the iSpindel name which you configured:
configuration.png

(in this case it should be entered as "iSpindel000)
 
Announcing: BrewPi Bug-Squashing Push (inline)

This is an inline bug-fix, no versions were incremented. As always, existing users of BrewPi Remix 0.5.3.0 and above may upgrade with:
Code:
sudo /home/brewpi/utils/doUpdate.sh
If you are not on version 0.5.3.0 or above, use the following command to upgrade to the latest version:
Code:
curl -L upgrade.brewpiremix.com | sudo bash
This must be run from within your /home/brewpi directory or from each chamber directory in multi-chamber mode.

PLEASE REMEMBER: Stop the script before running the update. Obviously, do not do this while in the middle of fermenting your prized Bohemian Lager. It will likely be fine but I won't be responsible if it goes belly-up.

The following changes were made:
  • Fix degree sign in web UI for certain locales (looking at you, Australia!)
  • Some updates for updater.py to try to resurrect it (not complete yet)
  • Address CSVReader error for profiles
  • Address where Tilt is not detected when connected via a BLE dongle
The last one was what triggered a push to master. Basically, I found out that when using a Bluetooth dongle, a Tilt was not detected. This was actually part 2 of the issues I had in my own rig. Part one was the realization that my old-school Bluetooth 3 dongle did not work for Tilt because it was not BLE-capable. :)
 
I put a batch of wine (a different story ...) in the fermenter over the weekend and noticed my fan was dead. I mean dead. That fan had less life than a person watching a Cleveland Browns game.

This fan is no more! He has ceased to be! 'E's expired and gone to meet 'is maker! 'E's a stiff! Bereft of life, 'e rests in peace! If you hadn't nailed 'im to the perch 'e'd be pushing up the daisies! 'Is metabolic processes are now 'istory! 'E's off the twig! 'E's kicked the bucket, 'e's shuffled off 'is mortal coil, run down the curtain and joined the bleedin' choir invisible!! THIS IS AN EX-FAN!!

Now then ... why worry about it? I and others often recommend adding a fan to people who have inexplicable issues with their rigs. I don't think even half of those folks believe us, and the rest probably go off and do other things, thinking we don't know what we're talking about. Well, here's a really good example of why you need a fan:

upload_2020-4-6_18-30-56.png


You can see the temperature of the most (green line) dropping steadily, yet the temperature of the fridge (blue line) rises steadily. This is not a large fridge where things got stale, this is a single-keg purpose-built kegerator with only one chamber. The heater is a light bulb in a paint can and as you can see this was over a period of time. Once I put the fan in (around 16:00 on the 4th) the temp of the must finally came up to the setpoint.

So, there ya go. Use a fan in your fermenter!
 
Hi i am busy constructing my DIY BrewPi. I have had a few issues along the way which i have been able to solve off this forum.

I am currently having an issue that several people have had before with the possible parasitic power issue on the DS18B20 probes. Inside BrewPi the installed devices are displaying as None.

one thing I must note is that I have tried the A4 input pin as indicated on the diagram 1st post of this thread. I have also tried on the D4 pin as I understand these are digital sensors. I also could only get them to work on the D4 pin on my example sketch.

The quote referenced from an earlier post (below) indicates a sketch that can test for parasitic power probes. The link doesnt seem to work anymore. Does anyone have this sketch and can share?

I tried to create my own off a example website but i am not sure if a result of 0 from "sensors.isParasitePowerMode()" means i have parasitic sensors or not.

I did double check with my eBay listing and it indicates “original chip” but that means nothing:

upload_2020-4-8_21-42-13.png




I've created a quick Arduino sketch to tell you what onewire devices you have connected, and if they are operating in parasitic power or not.

To use it, wire up the Ardunio with the onewire on pin Analog 4.

Include some extra libraries:

Sketch -> Include Library -> Manage Libraries
Install:
Onewire. (There is an Adafruit one, don't choose this)
DallasTemperature

Put the code into a sketch, then upload it. You can see the output by looking at the serial monitor (Tools-> Serial Monitor)




The code is here http://geordish.org/one.txt

edit: Moved code to a link
 
Last edited:
I am currently having an issue that several people have had before with the possible parasitic power issue on the DS18B20 probes. Inside BrewPi the installed devices are displaying as None.
A 0 indicates it is not parasitic.

Which firmware did you use? The I2C firmware uses A0, not A4.

Also, you are using the "Maintenance Panel" > "Device Configuration" > "Refresh device list" workflow, right?
 
The A4 and D4 was a fluke, i retested and both have the same result my above post. I am using the RevC (brewpi-arduino-uno-revc-0.2.12.hex) Arduino firmware.

So my problem is not with the Parasitic Probes. After re-reading the comments it appears that it would never be that, as my probes do appear under the "Detected" devices list and if they were parasitic they would never appear there. My issue is that they do not move to the "Installed" devices after clicking apply.

My Workflow is as follows:
"Maintenance Panel" > "Device Configuration" > "Check read values box" > "Refresh device list"
Result:
Devices appear.
Configure devices as shown below and click "Apply" on each device.
After refresh no devices listed under installed devices.

One thing i notice is that they are not listed as Temp Sensor under device type, unlike in your eample. (https://brewpi-userdocs-rmx.readthedocs.io/en/latest/devices/index.html)
upload_2020-4-9_13-57-41.png

It does look like i have a Arduino clone though (EBay off local store). I could also only flash it via XLoader, will not flash via BrewPi maintenance GUI.

This morning I updated using: sudo /home/brewpi/utils/doUpdate.sh - No change, but guess the web UI degree sign was fixed as i am in Aus.

I got the following log during the update:
Do you want to flash your controller now? [y/N]: y
python3: can't open file '/home/brewpi/utils/utils/updateFirmware.py': [Errno 2] No such file or directory

I haven't yet looked into that, but i assume its unrelated.
 

Attachments

  • upload_2020-4-9_13-29-21.png
    upload_2020-4-9_13-29-21.png
    154.5 KB · Views: 5
Weird stuff like this is often resolved by resetting the eeprom.
And I definitely would not dismiss that message...

Cheers!
 
Perfect! Thanks @day_trippr and @LBussy

This sorted me out: "Maintenance Panel -> Advanced Settings -> Reset Arduino to factory defaults (all the way at the bottom.)"

I would of thought re-flashing would have sorted that. I was lost on the path of Parasite Probes!

Everything seems to be working for now, so onto the relays. I will look into the "python3: can't open file '/home/brewpi/utils/utils/updateFirmware.py': [Errno 2] No such file or directory" message later.


The significant differences between 0.2.10 and 0.2.11 was moving to PlatformIO (which compiles with updated libraries so who knows what changed - hopefully all good changes) and adding the reset LCD on timer function (a few other small things.)


It does:
Code:
elif messageType == "resetController":
     logMessage("Resetting controller to factory defaults.")
     bg_ser.write("E")
That's the part that does it in brewpi.py. One can either use the (extremely scary) sockettest.php page and send a blank message of type "resetController" to execute that, or use Maintenance Panel -> Advanced Settings -> Reset Arduino to factory defaults (all the way at the bottom.)
 
Glad you got it going!
I would of thought re-flashing would have sorted that. I was lost on the path of Parasite Probes!
In the beginning, I thought re-flashing would fix the things people were telling me needed fixing. I am pretty stubborn and it took me a while to believe folks so kudos to you for listening. :) There is an area on the Arduino in which the program stores non-volatile data outside of the program area. This is called EEPROM and is only erased with a very specific command. Sometimes "stuff" gets "effed up" (very technical terms) and it just needs to be cleaned out.
I will look into the "python3: can't open file '/home/brewpi/utils/utils/updateFirmware.py': [Errno 2] No such file or directory" message later.

That's more than likely on me. I saw it the other day and forgot to make myself an issue to look at it. The issue there is clear ... /home/brewpi/utils/utils/updateFirmware.py needs to be /home/brewpi/utils/updateFirmware.py.
 
That's more than likely on me. I saw it the other day and forgot to make myself an issue to look at it. The issue there is clear ... /home/brewpi/utils/utils/updateFirmware.py needs to be /home/brewpi/utils/updateFirmware.py.
Even more interesting - I can reproduce an error, but not that one in the same workflow. Either way I fixed that.
 
Announcing: BrewPi Bug Fix Release 0.5.4.1

Versions got out of synch with a few inline changes. I've incremented a bugfix release in all of the repos so that it will be more clear the version which is running. Changes since 0.5.4.0 proper were:
  • Fix warning for using apt in script
  • Address false negative checking BLE when using dongle
  • Fixed crash when switching to profile mode
  • Fixed csvreader error
  • Add notice in code about Sentry
  • Fix for degree sign in certain locales
  • Add in Sentry SDK
  • Get rid of Tiltbridge spam when Tiltbridge goes out of range
  • Extend iSpindel timeout from 300 to 1800 seconds in case iSpindel is configured for < 30 mins
  • Fix scipy errors
  • Prevent reinstalling every package
  • Give better error message on GitHub failure
  • Removed Pastebin from install list (deprecated)
  • Fix Aioblescan error when no Bluetooth ratio is present and Tilt is configured
  • Fix process does not exist error during upgrade
  • Address random encode/decode errors left over from Python3 uplift
  • Added expiration for Brew Bubbles and Tiltbridge data
Upgrading

Existing users of BrewPi Remix 0.5.3.0 and above may upgrade with:

Code:
sudo /home/brewpi/utils/doUpdate.sh
If you are not on version 0.5.3.0 or above, use the following command to upgrade to the latest version:
Code:
curl -L upgrade.brewpiremix.com | sudo bash
This must be run from within your /home/brewpi directory or from each chamber directory in multi-chamber mode.

PLEASE REMEMBER: Stop the script before running the update. Obviously, do not do this while in the middle of fermenting your prized Bohemian Lager. It will likely be fine but I won't be responsible if it goes belly-up.
 
Last edited:
Stopping Fermentrackpi from booting??
Decided to download Lee's Remix on a RPi that was running fermentrackpi from a year ago, and Remix installed successfully, but when I rebooted up, the Fermtrackpi "tried to" steal the show.
I tried to CNTR + ALT + F1 to stop it and attempt to uninstall it from the terminal window...
Will not stop it from attempting to run.
B4 I go ahead and Reformat the SD card and start over....any suggestions?
May be a dumb question, I know!
 
FermentrackPi "tries to" boot up on my new Lee's RemixPi download.
OK....I did not uninstall the fermentrackpi first, and "Successfully" loaded Lee's Remix onto the same SD card.
Now on reboot, the fermentrack attempts to steal the show....
Tried CTRL + ALT + F1, to get back to the terminal window and uninstall the Ftrack, but just keeps getting stuck attempting to boot up Ftrack.
Any suggestions before I go and reformat the SD card...and start all over?
 
Well, I can tell you what's wrong but not necessarily how to fix it.

BrewPi uses Apache as it's web server. Fermentrack uses nginx. One of them needs to be disabled or moved to a different port.

To change the port upon which nginx listens:
  • Edit the config file: sudo nano /etc/nginx/sites-enabled/default
  • Find any lines beginning with listen (not # listen) and change 80 to something else like 8080
  • Restart nginx: sudo systemctl restart nginx
  • Restart Apache: sudo systemctl restart apache2
In theory that's how to un-eff things.
 
I did that, in reverse, trying fermentrack on a brewpi system.
Ended up stopping apache and aptgetkilldeleteremove-ing it.
Don't have the actual notes. There was swearing involved.
 
Well.....guess I am reformatting the SD. Problem is I can NOT get to the terminal window to uninstall, or edit the config file. The fermtrack keeps trying to run and freezes up the whole-chit-and-kabootal
Thanks Lee!
 
Yeah, it's just hard to figure out where you might be going wrong over the Internet.

With a Pi and Raspbian, there's generally little reason to try to fix something vs just flash a new card. That's an advantage I guess. :)
 
OK, got 2 new SD cards with Brewpi Remix.
B4 I launch BPR, on the first card from my Chromium Web browser, I am getting a message now -
"The Profile appears to be in use by another Chromium process (976) on another computer (raspberrypi) . Chromium has locked the profile so that it doesnt get corrupted. If you are sure no other processes are using this profile you can unlock the profile and relaunch Chromium"
I do have another computer in my Brewery NOW running BPR fermenting a Weizen beer.
Dont want to Fup another SD card......
my choices are, with this message - "Quit" and "Unlock Profile and Relaunch"
 
Issue the command:
Code:
sudo rm -rf ~/.config/google-chrome/Singleton*
Then try again. It looks like an issue with Chrome after the workstation hostname is changed. I suspect you had a browser open during the install?
 
TILT questions -
I just installed Version 0.5.4.1 yesterday and added my Black Tilt.
Today, I turned it onto a fermenting Weizen Bier, and I am a bit confused on what I am seeing and the S.G. is very high....
At the top of the page, in the Header, when I first fired up the BPRemix, I saw a temperature reading only, to the right of the "Mode" readings in its own "box", for the Tilt
I waited about 15 minutes and when back to Refresh the page, and the Header is GONE, but I now see a Black line-graph, showing the S.G. at 1.210 !!
At the bottom of the page, I see a message - V 0.5.4.1 ...... 0b36955 Fix tilt color (#49)

Where did the Header showing the tilt temperature go?
Why is the specific gravity reading sooooooo high?
What does the words at the bottom of the page mean, to us non-programmers?

PLEASE don't just tell me that the battery is low.....! I did a search on this thread for your tilt replies, and did not find answers to these
Good Job Lee, did not know you added Tilt to the BPR ! Was busy on many other "projects" the last 12 months, and not running the BrewPiRemix
Thanks for your reply and maybe guide me to the thread that may clear up these questions for me!
 
TILT questions -
I just installed Version 0.5.4.1 yesterday and added my Black Tilt.
Today, I turned it onto a fermenting Weizen Bier, and I am a bit confused on what I am seeing and the S.G. is very high....
At the top of the page, in the Header, when I first fired up the BPRemix, I saw a temperature reading only, to the right of the "Mode" readings in its own "box", for the Tilt
I waited about 15 minutes and when back to Refresh the page, and the Header is GONE, but I now see a Black line-graph, showing the S.G. at 1.210 !!
At the bottom of the page, I see a message - V 0.5.4.1 ...... 0b36955 Fix tilt color (#49)

Where did the Header showing the tilt temperature go?
Why is the specific gravity reading sooooooo high?
What does the words at the bottom of the page mean, to us non-programmers?

PLEASE don't just tell me that the battery is low.....! I did a search on this thread for your tilt replies, and did not find answers to these
Good Job Lee, did not know you added Tilt to the BPR ! Was busy on many other "projects" the last 12 months, and not running the BrewPiRemix
Thanks for your reply and maybe guide me to the thread that may clear up these questions for me!
Can you post a screenshot, please?

The words at the bottom just show the version of the web application you have running.
 
I "may have" found my answers? The display of temperature at the top header, and the very high reading of the S.G., was when I first turned on the RPi and had the tilt sitting next to it.
I then put the Tilt into my Conical fermenter (my new Avatar), and I now do NOT get any readings or updates.....
I thought the reading of the very high gravity was when the tilt was in the conical, but the time-stamp is actually when it was not in the fermenter, but on my desk!
The Tilt can not broadcast through the stainless steel tank. I have not got any updated readouts in the last couple hours, since I put the tilt into the Coni
Maybe I will fish it out of the Krausen and see if the chart comes back and the S.G. repopulates the graph
 
Last edited:
I "may have" found my answers? The display of temperature at the top header, and the very high reading of the S.G., was when I first turned on the RPi and had the tilt sitting next to it.
I then put the Tilt into my Conical fermenter (my new Avatar), and I now do NOT get any readings or updates.....
The Tilt can not broadcast through the stainless steel tank. I have not got any updated readouts in the last couple hours, since I put the tilt into the Coni
Maybe I will fish it out of the Krausen and see if the chart comes back and the S.G. repopulates the graph
The Tilt values should "expire" after a while - (15 mins I think?) the values will go away is the Tilt cannot be read. This is a limitation of your environment and not BrewPi.

Can you get a reading from your Tilt on your phone if you are close to the fermenter? If so, a Tiltbridge in the middle might help.
 
Its been a year since I last used the tilt. So I downloaded the newest Tilt version app and to answer your question - YES, my phone does now pick up the signal, only when I am next to the conical tank....
So I do need a Tilt bridge.
Not sure what a tilt bridge is, but a quick search shows me that I need to "build a simple Micro-controller"
Well.....guess I am going to build one and find out what the heck it is.
And while I am at "it", I will see what your "Brew Bubbles" is and build that one too!
 
Last edited:
Its been a year since I last used the tilt. So I downloaded the newest Tilt version app and to answer your question - YES, my phone does now pick up the signal, only when I am next to the conical tank....
So I do need a Tilt bridge.
Not sure what a tilt bridge is, but a quick search shows me that I need to "build a simple Micro-controller"
Well.....guess I am going to build one and find out what the heck it is.
And while I am at "it", I will see what your "Brew Bubbles" is and build that one too!
Tiltbridge is a project created by @Thorrak. The thread is here and you can go here to read the docs on how to start.

Basically it's a Bluetooth to WiFi repeater which allows you to position the Tiltbridge close to the fermenter, and connect to BrewPi Remix over WiFi.

The Tilt folks also made a repeater, although it's Bluetooth to Bluetooth. WiFi obviously is going to have a better range, but if you want to buy a solution, it's available.
 
Be aware that Fermentrack and BrewPi Remix should both be thought of as the "front end" to either ESP-8266 or Arduino Uno controllers. They are almost interchangeable, it's a lot about how you want it to look/act on the front end.

I have only be digging through the threads for less than 24 hrs, so can someone point me to the actually differences in Remix and Fermentrack as far as how they look/act on the front end?

Pro's, Con's or why one might choose one over the other?

Thanks in advance
 
Status
Not open for further replies.
Back
Top