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 think the logic is to use the cheapest way of building the house without burning it down and maintaining code. I had to trace out that circuit with a tone generator. The one I mention also go to back facing security lights, and I was having the GFCI outlet in the garage pop taking out the lights, bathroom, garage etc. Annoying. I opened up every box and found a host of issues. Outlet screws not turned in just barely hitting the metal, grounded, moisture proof outlet boxes; they all were using the weak push in blade connection vs screws. You probably have some leakage on that line somewhere; doesn't take much, something like 5 ma differential between the lines. Does it happen after a windy rain? Check exterior outlets and lights.
 
You were supposed to give me an easy button! "Yeah just replace it with this." :)

There are definitely outdoor outlets. I guess I need to trace my circuits as well.
 
I wish it were that easy; I replaced mine too. Then it promptly popped after the next rain. I fixed all the issues in the exterior outlets, but I think I still have some issues with the flood lights. Mostly fixed.
 
My state now requires Ground Fault/Arc Fault devices for bedrooms and kitchen outlets - and now you have to have dedicated branches from the load center for certain appliances. Got whammied when we gutted our kitchen - that immediately triggered all the new regs...

Cheers!
 
Cold Crash question.
I have always set the fridge constant to 34 when I cold crashed. Does anyone set the beer constant when cold crashing? I'm using a refrigerator will the beer constant mode work the compressor to hard?

Thanks!
 
I do as well, and no, no issues with my fridge anyway. If your refrigerator has a hard time with 34 degrees when nobody is in and out of it, you've got other issues.
 
Beer Constant or Fridge Constant, it probably doesn't matter when crashing, imo.
Even reverting to the oem thermostat set for 34°F is probably as effective...

Cheers!
 
Looking back at my logs from the last cold crash I did. It took 1 day 19hrs 75 degrees to 34 via the fridge constant setting.
This time I used the beer constant setting. It only took 1 day to reach 34. Ill have to try it again next time to confirm that is true. No issues with the fridge compressor. Thanks for the help.
 
Looking back at my logs from the last cold crash I did. It took 1 day 19hrs 75 degrees to 34 via the fridge constant setting.
This time I used the beer constant setting. It only took 1 day to reach 34. Ill have to try it again next time to confirm that is true. No issues with the fridge compressor.
If I had to guess - it's because beer constant manipulates the fridge constant in order to achieve a given beer temperature. In other words, if I have a beer constant of 40 and a beer temp of 60, I might push the fridge setpoint to 35 to drop the beer temp faster. If my beer constant is 40 but the beer is 41 degrees, my fridge setpoint might be set to 39 to sneak up on it slower.

Since you set your fridge constant to 34, it was never going to adjust itself to anything other than 34. If you set a beer constant to 34, it might drop the fridge setpoint lower. Out of the box, the lowest permissible fridge setting is 33 I believe.

Anyway - that might explain why the beer constant was faster to cool.
 
Ah...Yes, that's correct, and I should have considered that BrewPi will extend the compressor run time much longer with a Beer sensor than a Chamber (air) sensor would allow - same with the oem chamber sensor.

fwiw, I have always used Beer Constant and just drop the Set Point to 34°F and let it rip. Both of my 17cf ferm fridges take 40+ hours to drop 11 gallons from ~68°F at the end of dry hopping or D-rest to 34°F. I reckon that would be even slower using the oem or Chamber sensor. Guess I'll keep doing what I've always done :)

Cheers!
 
Hello, all!

Said this on another thread, but thanks in advance for everything on this thread and others related to this project. I'm fumbling my way through it, and I've gotten farther than I would have expected just by looking at all the previous work. I've got two issues now that I need some input on - sorry for the length.

#1 - I've built the most recent version of the shield. Everything seems neat and clean - I'm not great at soldering, but took my time and think it's good. When I plug the arduino directly into the RPI, everything works (almost - see issue 2). The arduino's light comes on, data moves, and the script starts running, per the web interface. However, when the shield is plugged in, everything stops (whether it's plugged in before the RPI starts up or not). The power LED on the arduino has the barest of flickers, but otherwise, nothing seems to be happening. The script stops running or never starts, and the RPI completely freezes (mouse and keyboard stop working). Unplug the shield, everything goes back to normal. This is before I even start adding temp sensors or connecting the relay. I'm running revC with the most recent firmware (reflashed to see if that helped...it didn't).

I'm assuming something I did while soldering is causing a power issue or a short - I was pretty careful with my parts placements, so I don't think anything's out of place. I also can't find anything that looks like a short in my soldering. I'm attaching pictures of the shield below. Would really appreciate if you can point me in the right direction to troubleshoot. I've got parts for another shield, so can switch things out if I need - I'm just not knowledgable enough to know where to start looking.

IMG_4405.jpgIMG_4406.jpg

#2 - Since I've been struggling with the shield, I decided to wire up a non-shield version. Everything's working fine, except that the temp sensor doesn't seem to be working. I only wired up one, planning to test that my relays work, I get power flowing correctly, etc. The device configuration interface picks up the temp sensor, but I never get any actual temp readings. No errors or anything, and the device configuration looks like it's working....just no temps. That's been the case with two separate temp probes. I had two temp probes working a while back before I started down the shield path, but now I can't get readings from them. As with issue #1, if you can recommend the next troubleshooting steps, that will get me started - I'm just at a loss as to where to start other than deconstructing it all and starting again (which I've done twice already).

Thanks in advance for any help - I'm doing my best not to pepper the forum (and @LBussy, @day_trippr and the other experts) with too many questions.

Tom
 
For #1: I think the shift register is plugged in wrong. Pin 1 is on the bottom/left when oriented as you have it in the pic.

For #2, what shows up when you are in the maintenance screen and scan for the probes?
 
For #1: I think the shift register is plugged in wrong. Pin 1 is on the bottom/left when oriented as you have it in the pic.

For #2, what shows up when you are in the maintenance screen and scan for the probes?
#1 - hah, that did it. Arduino stays on, RPI stays functioning, interface says script is running. Out of curiosity, how would I know which pin on the shift register is Pin 1? There are no markings other than a part number on it - should I have just made sure the part number was right-side up when I plugged it in? It's so faintly printed I can barely see it (even with the reading glasses).

I'll have to test the rest of the hookups through the shield this evening when I free up a little more time.

As to #2 - when I scanned for probes, it found the second one (couldn't find the first I tried). I set it for beer temp and applied the change. It just never registered an actual temperature after that.

I'll test them out again with the shield later.

Thanks for the help!
 
There's a U-shaped indentation on the end of an IC which indicates that's the end where #1 is found. I'm just glad I beat @day_trippr to it! :)

Let us know where you get when you have the shield hooked up.
 
I shudder to think of the complexity which would case an EE with that many years of experience, to spend that long working on a project.
 
Oh, it's a beaut for sure. WAY more wire inside this thing than is rational, but wth, where's the fun in rational?

Cheers! ;)
 
There's a U-shaped indentation on the end of an IC which indicates that's the end where #1 is found. I'm just glad I beat @day_trippr to it! :)

Let us know where you get when you have the shield hooked up.
Well that's intuitive! :)

OK - had a chance to start playing again - now the shield is fixed, I'm using that. Once I had some patience and made sure everything was set in the menus, the probe has been detected and it's reading a good temperature. Now the issue seems to be the relay.

I've got jumper wires running from the "relay" pins on the shield to the corresponding pins on the relay itself - GND to GND, VCC to VCC and so on. With the probe reading ~72F running a Beer Constant program set at 60F, I should get power to my "Cool" outlet - but there's nothing. Not even indication that power's getting to the relay to begin with.

Pic of the relay connections is attached - I tested the outlet by wiring it directly to the wall plug and it works fine. Black wire is pigtailed to the hot wire from the wall, blue goes to the cold outlet, red goes to the hot outlet. Same issue with different relay, so I don't think it's a bad relay (although it could be two bads, I guess...)

IMG_4408.jpg

Only thing I can think - I plugged the relay in after starting up the RPI and getting the probe working - would that cause a problem? Do I have to restart brewpi to detect items on other pins? If that's the case, I'm assuming it's the same when I get the point of testing out the LCD?

I'm going to keep fiddling - thanks for any insights. You've been a great help so far.

Tom
 
The two relay control GPIOs (5 and 6, for cooling and heating, respectively) have to be INVERTED using the management gui/device configuration panel.
That said, I would expect one of the relays to be active when it shouldn't be if those GPIOs are NOT inverted, so maybe there's another problem extant as well.

Also, none of the chamber control programs actually "detect" relay modules, as there's no provision for that - the relays can't be interrogated as they're about as dumb as stone - so the programs just assume one is there...

Cheers!
 
The two relay control GPIOs (5 and 6, for cooling and heating, respectively) have to be INVERTED using the management gui/device configuration panel...

Cheers!
Geez - you guys are fast!

It was simpler (and dumber) than that - I didn't realize I had to set the heater and cooler devices in the config menu. Set those, applied the setting, and the tester I had plugged into the socket popped right on.

Testing the heating side now - but looks like it will be fine.

Next it's on to the LCD - this is pretty darn cool, gentlemen!

Thanks!
 
The two relay control GPIOs (5 and 6, for cooling and heating, respectively) have to be INVERTED using the management gui/device configuration panel.
That said, I would expect one of the relays to be active when it shouldn't be if those GPIOs are NOT inverted, so maybe there's another problem extant as well.

Also, none of the chamber control programs actually "detect" relay modules, as there's no provision for that - the relays can't be interrogated as they're about as dumb as stone - so the programs just assume one is there...

Cheers!
OK - spoke too fast - I was getting cooler power because I somehow set that pin to "not inverted" - experimented with both of them, and "not inverted" turns both on.

Still not getting anything when they're properly set - here are the current settings (one temp probe is on Device Slot 0):

Controller Pin 5 = Device Slot 1, Chamber 1, Chamber Device, Inverted, Chamber Cooler
Controller Pin 6 = Device Slot 2, Chamber 1, Chamber Device, Inverted, Chamber Heater

On the bright side, I know power is getting to the relay, just not when it's supposed to....
 
Ok, if you can toggle each side of the dual relay module by selectively inverting its GPIO, then you have the wiring correct, so that's good :)
Set them to inverted, and let's move on.

Do you have the temperature probe(s) set up? They need to be set up and assigned.

Note unless you use Fridge Constant, you need a minimum of two probes, one assigned to the Beer Sensor and the other to Chamber Sensor. Then you would set up a run using the base gui...

Cheers!
 
Ok, if you can toggle each side of the dual relay module by selectively inverting its GPIO, then you have the wiring correct, so that's good :)
Set them to inverted, and let's move on.

Do you have the temperature probe(s) set up? They need to be set up and assigned.

Note unless you use Fridge Constant, you need a minimum of two probes, one assigned to the Beer Sensor and the other to Chamber Sensor. Then you would set up a run using the base gui...

Cheers!
Well, at least I've got something...

Right now I have one temp probe set up, assigned to Chamber 1, Beer 1, and Beer Temp in Device Slot 0. Temp reading is 74F, running Beer Constant set at 60F, so cooler side should be coming on, but nothing's happening at the relay.

Same is true if I increase the temp setting to 80F - no activity on the relay.


EDIT:
While we're at it - been working on the LCD as well. Rotary Encoder is connected, LCD (parallel) is connected. Push the button on the encoder and the LCD lights up, but with a blank screen. Digging around, I see references using the pot on the back to dial in the contrast, but there's no dial or other visible moving parts on this LCD - it's a SunFounder LCD2004 model. Once again - I'm encouraged that something's getting to the screen, I just can't see what's on it.
 
Last edited:
As I said, unless you run in Fridge Constant mode, you must have TWO PROBES assigned, one to the Beer, the other to the Fridge.

The references you saw are most likely for I2C versions - or at least, parallel displays with the I2C "backpack". The straight parallel displays require external adjustment to accomplish the same function, and that is what that little blue multi-turn pot on your shield is used for...

Cheers!
 
As I said, unless you run in Fridge Constant mode, you must have TWO PROBES assigned, one to the Beer, the other to the Fridge.

The references you saw are most likely for I2C versions - or at least, parallel displays with the I2C "backpack". The straight parallel displays require external adjustment to accomplish the same function, and that is what that little blue multi-turn pot on your shield is used for...

Cheers!
Ahhh - sorry, misunderstood that. I'll test it with multiple probes tonight and see what happens. Likewise will fiddle with the shield pot - you are correct that the references I was seeing were for I2C - I knew they didn't necessarily apply, but still thought I was supposed to be looking for something on the LCD itself.

Thanks again for the help - sorry these are pretty basic!

Tom
 
No problem, we're here to help get folks up and running if humanly possible :)

Cheers!
OK - progress!

Have three probes connected now, set to beer, fridge, and room. Running in Beer Constant, I can get the cool side to kick on immediately when I set the temperature below where the beer probe is reading (same is true if I run a Fridge Constant). Heating seems a little inconsistent, even when I reset the temp well above the reading, but it just kicked on finally while I was typing this. So fingers crossed, I think it's working!

What's the best way to get used to how the logic works in terms of heating/cooling? I know the algorithms have logic in them that adjusts the time of heating and cooling, etc, based on the readings during a run. I've been using an inkbird setup that basically switches heating or cooling on as soon as it gets outside the set range. Should I just set the brewpi up with a test bucket of water in my chamber and let it go for a while to learn what it does?

Going to set the LCD aside for the time being - managed to adjust and got alternating rows of white and blank blocks. Think I'll get the system working otherwise, then come back to that.

Thanks.
 
Great progress! :mug:

I would say get a baseline track going then experiment with changing the set point up/down and allow the system to stabilize at the target and observe how the system responds.

You can observe all of the pertinent/relevant parameters in the management gui in the Advanced Settings panel. You can also reset settings to defaults, and change them individually if you are so inclined (eg: one often-needed change in this era of kveik yeast strains is to raise the "Temperature Setting Maximum" under the Control Constants pane, as the default limits to 86°F and some kveiks like it toastier :))

As for the display...when your 20x4 powers up, if it gets to the point that there are those alternating rows of blocks/no blocks, the display is functional but it's not receiving any commands. ie: the rows are normal for initially coming out of a power-on cycle but as soon as the Arduino comes up it should write the display with the BrewPi layout.

It's possible that the HC595 got toasted due to being plugged in backward. Hopefully you purchased an extra (pro tip: never buy just enough of anything, ever - even if you need only one of a thing, get two of them :))

Cheers!
 
You sort of have to trust that the thing works in order to learn to trust it. Circular I know. Fill up a bucket or carboy with water and let it go for a bit. Make sure if you are not using a thermowell that you insulate it on the outside of the fermentor with at least an inch of closed-cell foam.
 
Great progress! :mug:

I would say get a baseline track going then experiment with changing the set point up/down and allow the system to stabilize at the target and observe how the system responds.

You can observe all of the pertinent/relevant parameters in the management gui in the Advanced Settings panel. You can also reset settings to defaults, and change them individually if you are so inclined (eg: one often-needed change in this era of kveik yeast strains is to raise the "Temperature Setting Maximum" under the Control Constants pane, as the default limits to 86°F and some kveiks like it toastier :))

As for the display...when your 20x4 powers up, if it gets to the point that there are those alternating rows of blocks/no blocks, the display is functional but it's not receiving any commands. ie: the rows are normal for initially coming out of a power-on cycle but as soon as the Arduino comes up it should write the display with the BrewPi layout.

It's possible that the HC595 got toasted due to being plugged in backward. Hopefully you purchased an extra (pro tip: never buy just enough of anything, ever - even if you need only one of a thing, get two of them :))

Cheers!
Sound good. I do have another chip (done enough DIY of varying sorts that I do try to have spares, cost permitting), so I'll put that in and see what happens with the LCD.

Since everything seems to be working, I'll get a test bucket set up and start playing with it a bit. Once I get a handle on it, we'll see how it does with an actual brew.

Thanks!
 
I'll get a test bucket set up and start playing with it a bit. Once I get a handle on it, we'll see how it does with an actual brew.
It's rare to see a system that is not capable of maintaining +-0.2 degrees right out of the box. Physical configuration can play a part. Use a fan, and make sure the probes are placed well and watch it for a day before fiddling with any dials.
 
@day_trippr was right - the chip was fried. Swapped it out and everything looks like it's working. Thanks for the help and the guidance!

My plan now is to free up my chamber (have a cider finishing up in there at the moment) and start putting the new stuff through its paces (although that's more putting me through my paces with it!).

FWIW - I'm using the Large Breakout Board as well, so I've got the temp probes running separate from the main board and communicating over ethernet - worked flawlessly right away.

Am I right in guessing that I could still put one of the three temp probes on the main shield and it wouldn't cause any issues? I'm thinking that I can have the beer and chamber probes on the breakout board near the chamber with the room probe set up attached to the main unit in another part of the room.

Thanks - looking forward to actually getting the time to brew something using my new toy!
 
WOW... so I stumbled across this post when looking for support on the rotary encoder and found this huge new following for brewpi! I bought a legacy brewpi from Elco back in 2014 and have been loving this ever since. @LBussy, man thank you so much for keeping legacy brewpi alive.

the rotary encoder I have will wake the lcd screen but I've never been able to use it for changing modes or anything...any thoughts on troubleshooting that? I am now using BrewPi Remix on Raspberry Pi OS and an arduino uno. I'll get some photos of my gear on here this week!
 
the rotary encoder I have will wake the lcd screen but I've never been able to use it for changing modes or anything...any thoughts on troubleshooting that?
Well, I guess it depends on how you have it wired, and potentially what version of firmware you are using.
 
Status
Not open for further replies.
Back
Top