• Please visit and share your knowledge at our sister communities:
  • If you have not, please join our official Homebrewing Facebook Group!

    Homebrewing Facebook Group

HOWTO - Make a BrewPi Fermentation Controller For Cheap

Homebrew Talk

Help Support Homebrew Talk:

This site may earn a commission from merchant affiliate links, including eBay, Amazon, and others.
Status
Not open for further replies.
Hello fellow brewers.
I want to build out a controller for my fermentation vessels. Preferably with a display to view everything right there at the units.
I have 2 Unitanks that run off of inkbird c929s and an icemaster glycol chiller that runs off of an itc1000. (Lots of manual adjustment) I would love to have everything wired into one unit with a display screen (remote access would be nice as well).
I just want the unit to know what I want to do and adjust my glycol temps without me having to do so manually. Also I want a higher degree of temp control (the inkbirds are only within 1 degree so the swings are always +/- 1-3 degrees.
Example: when I ferment at 68 degrees I like my glycol around 53 degrees so the swing is minimal. 1-2 degrees typically. And when I cold crash to 36 I lower my glycol to 26 to minimize that swing as well. I know a pid with the right software will be able to dial this in to a much higher degree of accuracy and efficiency.

Is there an updated instructable I can read? Part list? Similar setups? What do you guys suggest?? Please help.
 
Hey, thanks for moving this question here.

I don't believe there are any DIY systems that will do this natively. All of the BrewPi-derivatives use one controller per control point. That said BrewPi Remix and Fermentrack both support multi-chamber which I believe could do what you need. Neither one (yet) natively "speaks" glycol, but at least initial testing indicates it's more than do-able. The basic process is to zero out the PID values, remove the min run time, and run the system under "chamber constant" with the chamber probe in the controlled vessel (be that the glycol loop or the beer.)

I released an alpha version of the firmware with this support baked in. I've not yet gone back and tried to make it configurable since the one person who was trying it seemed to lose interest.

For your specific use, my best idea would be to use three separate chambers - one for the glycol loop, and one each for your fermenter loops. The "main" page under multi-chamber will show all three temps, and drilling down to any of those will show the classic controls for that system.

None of this (nor any DIY system that I am aware of) will simply "know what you want to do" with the glycol loop. Once you have more than one loop things become pretty complex. I've done some work with commercial PLC systems that could do this pretty simply, but each of those systems is "custom" in some way and tailored for the environment.

I do feel like we could definitely get your temps a lot closer and for sure give you a nicer, more comprehensive interface. The hardware lists in the documentation are valid - except you'd need 3x everything having to do with the Arduino and one Raspberry Pi. Another possibility is to use the ESP-8266 controller (which provides built-in wireless connectivity) which is supported in BPR.

Until I get the time to do a UI change, such a system will always think of its world in terms of chamber or beer control. I do want to update the UI to reflect when running in Glycol mode though. If someone were actually trying it, it would make me more interested in hurrying that. :)

Unless someone else has any other ideas about how it can be done?

You can also ping @Thorrak in the Fermentrack thread and see if he has any different ideas. 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 would love to have everything wired into one unit with a display screen (remote access would be nice as well).

Is there an updated instructable I can read? Part list? Similar setups? What do you guys suggest?? Please help.

Though I do not run Glycol, I do run a 3 Instance Fermentrack build that can control 3 different chambers. As @LBussy said, You can’t go wrong with either BrewPi Remix or Fermentrack.

That said BrewPi Remix and Fermentrack both support multi-chamber

For your specific use, my best idea would be to use three separate chambers - one for the glycol loop, and one each for your fermenter loops. The "main" page under multi-chamber will show all three temps, and drilling down to any of those will show the classic controls for that system.

@Bigs166 This is what my multi-chamber main page of Fermentrack looks like, and then drilling down to a chamber.

IMG_1634.JPG
IMG_1635.JPG
IMG_1636.JPG
 
Well that's certainly strange. I am (at least I thought I was) using the same logic in both places. Let's try something simple. On line 444 insert the following:
Code:
    return True
So that block will look like:
Code:
def checkBluetooth(interface = 0):
    return True
    sock = None
That's just a hack to tell me where the issue may lie, but if I guessed right it should start working. You will of course have to restart the script to have the change take effect.


Thanks for looking into my issues and providing some insight. This appears to have corrected the issue and I now have a display in the top center providing Tilt battery life, Tilt temp and appear to be getting a value/color for gravity listed in the Date/Time column on the right.

Looks like this short cut fixed the issue.
 
Thanks for looking into my issues and providing some insight. This appears to have corrected the issue and I now have a display in the top center providing Tilt battery life, Tilt temp and appear to be getting a value/color for gravity listed in the Date/Time column on the right.

Looks like this short cut fixed the issue.
Probably one of those "not" != "not" issues (bad programmer joke.) I'll dig into it a little more and see if I can figure out where I went sideways. In the meantime, I'm glad it's working for you!

Entered issue #108 on Github for this.
 
I’ve been using Remix for quite some time now, but just this morning tried to use a temp profile for my temperature rise and diacetyl rest. As soon as I loaded the profile the script crashed and defaulted back to my original beer constant temp. Anyone experience this before or know of a fix?
 
I’ve been using Remix for quite some time now, but just this morning tried to use a temp profile for my temperature rise and diacetyl rest. As soon as I loaded the profile the script crashed and defaulted back to my original beer constant temp. Anyone experience this before or know of a fix?
I recently pushed a fix involving that, you might have to upgrade. Scroll up a little bit to the last release and you'll find instructions on how to do that.
 
Just wanted to drop in with a quick THANKS to @LBussy . I have been successfully using brewPi legacy since early 2016 without any issue and frankly I have never updated anything or touched it since that time. I decided to build another unit for a second chamber so I had to brush up on how I built the first one back in 2016. This is when I found all the work that @LBussy has done to not only keep the Legacy code relevant, but drastically improved the install process and added Multi-chamber, Tilt integration, etc. I was planning on just building a entire setup for the second chamber, until found this project.

I already had my second controller box built and I was able to get the BrewPi Remix multi-chamber installed, configured, and operational in less then 30 minutes. One command ... crazy simple compared to when I built the first one 4 years ago. Again, MANY thanks to you and those that consistently pitch in with their passion and efforts to keep this solution alive.
 
Hello - I have a question for folks here smarter than me, hopefully this is an easy one. I have set up Fermentrack for my latest fermentation chamber build, which includes an I2C LCD display. However, I can't seem to get the I2C variant of the firmware to work, the script does not start and I get an error that Fermentrack is unable to reach brewpi-script. Fermentrack runs just fine when I flash the controller with the latest non-I2C variant (fine except for the LCD display of course). Controller is an Arduino Uno, running on a Raspberry Pi 4. Trying not to sound like an idiot here, but I have very little experience with these systems. Any advice appreciated. Let me know if there is any other info needed about my setup to help troubleshoot?
 
Hello - I have a question for folks here smarter than me, hopefully this is an easy one. I have set up Fermentrack for my latest fermentation chamber build, which includes an I2C LCD display. However, I can't seem to get the I2C variant of the firmware to work, the script does not start and I get an error that Fermentrack is unable to reach brewpi-script. Fermentrack runs just fine when I flash the controller with the latest non-I2C variant (fine except for the LCD display of course). Controller is an Arduino Uno, running on a Raspberry Pi 4. Trying not to sound like an idiot here, but I have very little experience with these systems. Any advice appreciated. Let me know if there is any other info needed about my setup to help troubleshoot?
What pin are you using for the I2C and the OneWire?

Are you using a shield or no?
 
What pin are you using for the I2C and the OneWire?

Are you using a shield or no?
Is the OneWire the data connection that the temperature sensors use? If so, I am using A4 for that. The other pin on the I2C goes to A5 currently.

Not using a shield.
 
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.
 
Status
Not open for further replies.
Back
Top