CraftBeerPi - Raspberry Pi Software

HomeBrewTalk.com - Beer, Wine, Mead, & Cider Brewing Discussion Community.

Help Support Homebrew Talk:

Wootonius

Well-Known Member
Joined
Oct 13, 2014
Messages
48
Reaction score
6
Location
Sherman
What I do know is this is a more updated repository that includes everything to actually run, from my experience, and is how I currently run my craftbeerpi without issues.
I've completed the steps you laid out and it seems to put me back where I was. However, this does seem like a more complete load. I noticed it automatically installs several plugins (or perhaps it pulled from the ones I previously installed). I didn't have to install anything else to get it up and running, so this is definitely a better load!

The definite downside of what I'm having you do is you have to start over, add your sensors, actors, kettles, etc all over again. If you kept a list of your GPIO numbers and what they all lead to, this will take 5 minutes....and hopefully work.

Gonna end this with the fact that I don't actually know what I'm doing, I'm just trying to help given my experience.
I appreciate any help sir! Setup is easy in CBPi3, so this was a snap, but I'm still seeing the same problem where I get
Actor Error
Failed to setup actor BK 5500W Element. Please check the configuraiton

So perhaps it's not a software issue after all. I have confirmed I'm attached the the right GPIO's and I've confirmed with a meter that they are not firing when I fire them in CBPi. I'm checking this right on the pins of my HAT between GND and IO18. I believe I should see 3.3VDC there when fired from CBPi...

Another possibility is that I might not be controlling it correctly in CBPi, but I don't think so since I'm getting that Actor Error.
Under the Brewing tab I go to my Brew Kettle, select the arrow in the upper right, and Set Target Temp to something over ambient temp. Then I click the go button with the little car to fire the Actor. There's no operation guide that I can find, so I'm just going by intuition here. Can someone confirm I'm doing this right?
1616860408211.png
 

phoenixs4r

Well-Known Member
Joined
Jun 16, 2011
Messages
1,554
Reaction score
86
Couple of things....

Sorry bout the link to the brewchef repo, I didn't realize HBT automatically converted it to a hyperlink. I'm glad you figured out what I was trying to tell ya.

Did you rename the original craftbeerpi3 folder before or after git clone? I'm going to assume it errored out that's why you had to rename it before cloning? Reading through my post I forgot to include a step heh

sudo mkdir CBPI3test
cd CBPI3test
sudo git clone BrewChef/craftbeerpi3

Also yes, sorry for not warning you, the brewchef ones come with plugins already installed. They are harmless, you can disable them or leave them enabled it's no big deal.

As far as hardware/software issue - I'm still leaning towards software. The GPIO pins just turn on or off based on input from the software. There is no feedback when it comes to actors like elements or pumps like your previous issue with the temp sensors. So if there's no voltage between the GPIO you've assigned and ground, the software isn't telling the hardware to turn it on, and the hardware isn't telling the RPI it isn't working, cause it simply can't in this particular situation.

The car is auto mode, you are doing it right. You set the temp and it will fire and cut off at whatever parameter you set, in this case 217. Once you get this settled temperature control gets more involved cause the default parameters don't do a great job at holding that temp but we can get to that once the element actually fires.

The button to the right of it with the lightning bolt is going to be power. If the actor is set for GPIOPWM, it will default to 100. The same arrow you click to set temp you'll see an option for heater power. If you set it to a number between 1-100 it will cycle the element on and off to maintain that power between 1%-100%

One thing I did notice from your image, I've circled in the image below. Did you originally have this GPIO type going to relay board then change it to GPIOPWM ? Make sure you are hitting update and not close. If so maybe it's not saving your changes. I don't use a relay board, so I can't help you there if you are. You've posted before there is a ULN2003 between the RPI and the SSR. I don't know much about it, I'm going to assume it's to step up the voltage to trigger the SSR. If so I don't believe you'd use the relayboard type, CBPI won't care there's something in the middle of it and the SSR, the array would just step up the voltage.


1616864735696.png


I've also attached a screenshot of my brewery and how mine is listed when setup and saved correctly

1616864537247.png


Anecdotally, I know folks say you need to step up the RPIs voltage to the ssr, but my ssrs are all rated for 3-24v and I've never had a problem, so if the software is actually changing, maybe go straight from the RPI to the SSR (if your SSR is rated as low as 3v to trigger) and see if it fires then. I still believe you should have a voltage step up, and frankly I SHOULD include a voltage step up, but I forgot when I built my panel and I'm too lazy to add one until it stops working.

Also, while testing, make sure your elements submerged in water. Dry firing it is no good.

Ultimately, I still think it's a software thing. I'm not sure if you'd be keen to just reformatting the card and starting from scratch to make sure the original outdated install isn't messing with the brewchef install. Might be worth a shot if none of the above seems to work out.
 
Last edited:

Wootonius

Well-Known Member
Joined
Oct 13, 2014
Messages
48
Reaction score
6
Location
Sherman
Did you rename the original craftbeerpi3 folder before or after git clone? I'm going to assume it errored out that's why you had to rename it before cloning? Reading through my post I forgot to include a step heh

sudo mkdir CBPI3test
cd CBPI3test
sudo git clone BrewChef/craftbeerpi3
I did rename the folder, and now that makes sense to go to that directory to do the test...

One thing I did notice from your image, I've circled in the image below. Did you originally have this GPIO type going to relay board then change it to GPIOPWM ? Make sure you are hitting update and not close. If so maybe it's not saving your changes. I don't use a relay board, so I can't help you there if you are. You've posted before there is a ULN2003 between the RPI and the SSR. I don't know much about it, I'm going to assume it's to step up the voltage to trigger the SSR. If so I don't believe you'd use the relayboard type, CBPI won't care there's something in the middle of it and the SSR, the array would just step up the voltage.
I was just trying the other GPIO types to see if one of those worked. You are right about the ULN. I'm using it to switch 5V to the SSR. The SSR says it will trigger at 3V, but I figured I'd try removing the ULN if I was getting the 3.3V on the GPIO and it still wasn't triggering the SSR. I'm using a little ULN2003 motor driver board so I can use the connections.
1616877954198.png

Also, while testing, make sure your elements submerged in water. Dry firing it is no good.

Ultimately, I still think it's a software thing. I'm not sure if you'd be keen to just reformatting the card and starting from scratch to make sure the original outdated install isn't messing with the brewchef install. Might be worth a shot if none of the above seems to work out.
I don't even have the element plugged in to the control panel yet. I figured it'd be alright to fire the SSR without it being attached, and then I'd get the little LED on the SSR to tell me it fired. Once I have that going, then I'll try a live test. Hopefully that won't hurt anything.

I feel like it's the software as well, and I'm not opposed to starting over. It's not a huge process anyway now that I've done it once (or 1 & 1/2 times if you include the CBPi3 loads).

Thanks again!
 

Wootonius

Well-Known Member
Joined
Oct 13, 2014
Messages
48
Reaction score
6
Location
Sherman
Any luck?
Thanks for checking in, Phoenix. Unfortunately, I've been traveling for work all week and haven't been able to do anything! I'm hoping I can get some work in on it Saturday morning. My plan is to wipe the Pi and reload everything from scratch...
 

Jr80

New Member
Joined
Apr 3, 2021
Messages
2
Reaction score
1
Last week i started building a controller box for a new HERMS brewery and chose for a rpi 4b with craftbeerpi. As a reference I used the descriptions on the cbpi website, the leaningman guide and a guide on a dutch craftbeer forum. So far so good, software installed, hardware built.

The ds18b20 sensors work like a charm in the user interface, but the SSR that switches my HLT hearing element does not. I used two jumper cables, one on the + side on the DC side of the SSR (fotek 40A DA front aliexpress) to GPIO 18 and a jumper cable from the - to a GND gpio. Trying to switch on the heater using the UI doesn't work.

I checked the SSR using two 1.5v batteries in serial to check if the SSR works and it does so 3.3v from gpio 18 should be sufficient.

My guess is that this might be a software issue but i am a complete newbie to RPI.

Has anyone had the same problem as I have? How can I get the SSR to respond to cbpi? Many thanks in advance
 

phoenixs4r

Well-Known Member
Joined
Jun 16, 2011
Messages
1,554
Reaction score
86
Got it!
Now I just need to do a run with the element connected and some water in the kettle. Thanks for the help!
What ultimately was the culprit? Did you start over or was it the little ULN giving you issues?
 

phoenixs4r

Well-Known Member
Joined
Jun 16, 2011
Messages
1,554
Reaction score
86
Last week i started building a controller box for a new HERMS brewery and chose for a rpi 4b with craftbeerpi. As a reference I used the descriptions on the cbpi website, the leaningman guide and a guide on a dutch craftbeer forum. So far so good, software installed, hardware built.

The ds18b20 sensors work like a charm in the user interface, but the SSR that switches my HLT hearing element does not. I used two jumper cables, one on the + side on the DC side of the SSR (fotek 40A DA front aliexpress) to GPIO 18 and a jumper cable from the - to a GND gpio. Trying to switch on the heater using the UI doesn't work.

I checked the SSR using two 1.5v batteries in serial to check if the SSR works and it does so 3.3v from gpio 18 should be sufficient.

My guess is that this might be a software issue but i am a complete newbie to RPI.

Has anyone had the same problem as I have? How can I get the SSR to respond to cbpi? Many thanks in advance
I'm not familiar with the guide on the Dutch home brew forum. I do know the original github rep for craftbeerpi3 doesn't seem to work without a LOT of effort. A lot of folks clone this repo and have luck getting it to run no problem

 

Jr80

New Member
Joined
Apr 3, 2021
Messages
2
Reaction score
1
I'm not familiar with the guide on the Dutch home brew forum. I do know the original github rep for craftbeerpi3 doesn't seem to work without a LOT of effort. A lot of folks clone this repo and have luck getting it to run no problem

Formatting my microSD and installing cbpi3 and missing packages did the trick. Just in time for brewing a witbier to serve late spring early Summer.

The problem(?):
My first install had a broken link to the wiringPi repo. After fixing the code lines in install.sh, I reinstalled without purging the older install. Thereafter I renamed the folder of the first install and ran brewchefs cbpi3. Same problem, no SSR. My guess is that the first attempt messed up something that kept on causing the unresponsive SSR.

Thanks for your suggestion Phoenix!
 

Wootonius

Well-Known Member
Joined
Oct 13, 2014
Messages
48
Reaction score
6
Location
Sherman
I have a few post-1st-brew questions/problems for those of you familiar with CBPi3.0. Hopefully someone can tell me what I did wrong...
  1. I imported an XML file from BS3 which had several basic steps for mash in, mash, boil, cool, etc. Using the Step Config I added some steps to be sure I'd remember to do them in the process. None of the steps I created would allow me to continue to the next step, and I had to go back and delete them before I could move on. Hitting the "next step" button didn't do what it did for the steps that were in the XML. It seems pretty simple, but I was stumped.
  2. I have a BK with a 5500W element and a sensor and a cooler for an MT with no element, only a sensor. When setting up to bring the BK up to strike temp for my initial mash, how should I configure that step? What about for any sparge steps?
  3. The steps from the XML file did properly set the Target Temp of my BK, and when I hit the run button, it would fire the element as expected. However, the PID never kicked in to hit temp, and it would just keep firing the element at 100%. Following is how I have the BK configured in the hardware settings.
1620935464371.png


Thanks for the help!!
 

rkhanso

Well-Known Member
Joined
Jan 24, 2017
Messages
558
Reaction score
131
Location
Plymouth, MN - terrible tap water for brewing
#1 -- I've never imported a brew, but have manually made steps and it seemed to work fine. Not sure how to help on that.

#2 -- I don't use a MT, so not sure how to suggest there.

#3 -- If you want to keep a set temp under boil, you need to use a PWM logic. Both on the kettle and on the heating element.
When I'm brewing, I start with PWM logic or mashing, then switch to BOIL logic during the boil (at a certain percentage to maintain boil).
Not sure it's the right way, but it's the way I do it.
PWM is needed to keep mash temps.

I brew BIAB and have a single kettle with the CraftbeerPi temp controller running the entire show.


1620994658451.png


1620994691832.png
 

Wootonius

Well-Known Member
Joined
Oct 13, 2014
Messages
48
Reaction score
6
Location
Sherman
#1 -- I've never imported a brew, but have manually made steps and it seemed to work fine. Not sure how to help on that.

#2 -- I don't use a MT, so not sure how to suggest there.

#3 -- If you want to keep a set temp under boil, you need to use a PWM logic. Both on the kettle and on the heating element.
When I'm brewing, I start with PWM logic or mashing, then switch to BOIL logic during the boil (at a certain percentage to maintain boil).
Not sure it's the right way, but it's the way I do it.
PWM is needed to keep mash temps.

I brew BIAB and have a single kettle with the CraftbeerPi temp controller running the entire show.
Thanks rkhanso! I changed to PWM logic and that is working. When I'm heating the element, the Element button flashes now, and I'm assuming that's normal.
 

phoenixs4r

Well-Known Member
Joined
Jun 16, 2011
Messages
1,554
Reaction score
86
I have a few post-1st-brew questions/problems for those of you familiar with CBPi3.0. Hopefully someone can tell me what I did wrong...
  1. I imported an XML file from BS3 which had several basic steps for mash in, mash, boil, cool, etc. Using the Step Config I added some steps to be sure I'd remember to do them in the process. None of the steps I created would allow me to continue to the next step, and I had to go back and delete them before I could move on. Hitting the "next step" button didn't do what it did for the steps that were in the XML. It seems pretty simple, but I was stumped.
  2. I have a BK with a 5500W element and a sensor and a cooler for an MT with no element, only a sensor. When setting up to bring the BK up to strike temp for my initial mash, how should I configure that step? What about for any sparge steps?
  3. The steps from the XML file did properly set the Target Temp of my BK, and when I hit the run button, it would fire the element as expected. However, the PID never kicked in to hit temp, and it would just keep firing the element at 100%. Following is how I have the BK configured in the hardware settings.
View attachment 728976

Thanks for the help!!
I can't help you with the xml file stuff beyond what I've read and it's kinda a crappy system. CBPI4s recipe system looks greatly improved. Haven't seen much in the way of an updated release client in a while. Really hoping he doesn't abandon the project like he did CBPI3.

If you are going to use PIDBoil you need to set the boil threshold to whatever your boil temp is at your altitude or even higher, it doesn't matter. I think I have mine set to 500f. I don't understand why that parameter is even in there. If it's set lower than your target temp (Example your is set for 80, and you're going for 150F) it'll just ignore turning it off and let it run rampant. I'm sure theres an explanation for that. Probably so you can run the PIDBoil in PID when you are mashing in, and it ignores it when you are trying to boil. Would work fine for a single vessel system. It all depends on what your system is and what you are trying to achieve.

PIDBoil has some limitations as well. It's either one or off, 100% or 0%. I use AdvancedPID for my mash tun/rims system. It seems to actually seems to throttle the output of the element and I get less overshooting that way.

The biggest limitation I've found with CBPI3 is that the sensors take 5 seconds to update. So if you are looking for crazy accuracy you aren't going to get that, but you can get .... close enough for now. CBPI4 has updates every 1 second so I'm really hoping that improves things.
 
Last edited:

rkhanso

Well-Known Member
Joined
Jan 24, 2017
Messages
558
Reaction score
131
Location
Plymouth, MN - terrible tap water for brewing
Thanks rkhanso! I changed to PWM logic and that is working. When I'm heating the element, the Element button flashes now, and I'm assuming that's normal.
Flashing is good - that means PWM is happening.

When it comes to the boil, I switch back over to simple boil logic and cut the power down to about 30-40% or so. Enough to get a slow rolling boil. I've found that since PWM logic is looking for a temp to adjust around, it doesn't work well for boiling. Simple Boil Logic is well, simple. Keep a list of your GPIO pins in use for each device. Write them down somewhere or memorize them. It'll help you when switching this stuff back and forth.
 

Wootonius

Well-Known Member
Joined
Oct 13, 2014
Messages
48
Reaction score
6
Location
Sherman
Concerning my brewing process using CraftBeerPi 3.0...
I'm getting a bit confused with how to control my system configuration versus some of the other systems described out there. Most seem to be 3 vessel systems with 3 elements, multiple pumps etc. I understand that's probably the ideal, but mine is actually a 2 vessel system with one element and one pump (plus I've added a sump pump for my plate chiller).

My keggle has the one element, so I have to heat all water for the mash & batch sparges there, and then pump back into the kettle for my boil. I use a cooler with a mesh bag for my mash, and I've picked up a clear plastic bucket to hold my initial wort from the mash until I've pumped the last sparge water into the cooler, so in a way I have a 3 vessel system I guess. I have a temp sensor in the boil kettle, one in the cooler and one in my fermentation freezer. As I said, I have a pump, but it is controlled separately for now.

For brewing software, I'm using Brew Smith 3. I build my recipe and export it as a BeerXML file to CBPi 3. Brew Smith allows you to create mash and sparge steps setting the target temps. The software will figure how much heat loss you will have based on your equipment profile and suggest a temp to offset that. CBPi3 pulls the brew steps in from the XML, including mash, sparge, boil, cool, whirlpool, etc. It then allows you to add other steps, but there are a lot of variables there and no documentation as to what affect they have.

So my brew process is (will be):
  1. Fill Boil Kettle with total volume to include strike water and sparge water
  2. Heat to strike water temp for mash (148F lets say plus the offset)
  3. Pump to Mash Cooler
  4. Mash In
  5. Pump wort out of mash to my temp storage bucket (not sure what to call this...)
  6. Heat sparge water (168F lets say plus offset)
  7. Pump for batch sparge(s)
  8. Pump sparge(s) wort out to my (now) empty boil kettle and add previously collected wort from my temp bucket
  9. Boil
  10. Cool (plate chiller) & whirlpool
  11. Pump to Fermenter
Since I don't have an element in my Mash Cooler (but I do have the temp sensor), how should I set things up so that target temps are entered from the brew steps, either from BS3 or within CBPi3?

I went from BIAB on my kitchen stove top to what I have here. That coupled with the CBPi means there's now a lot of things I'm having to get used to. I appreciate the help from anyone out there who has a similar setup with CBPi, or might know more about how to set up everything for steps to work in this configuration.
 

phoenixs4r

Well-Known Member
Joined
Jun 16, 2011
Messages
1,554
Reaction score
86
Since I don't have an element in my Mash Cooler (but I do have the temp sensor), how should I set things up so that target temps are entered from the brew steps, either from BS3 or within CBPi3?
Your process seems sound.

I'm not 100% clear on your question. I'm guessing what you are using is Beersmith 3, not brewsmith.

If you are concerned about strike temperature (the temperature in the hot liquor tank aka your mash in water) being able to compensate for temperature loss due to putting it into a cold cooler you have two options.

A - is to pump the hot water into the mash tun and essentially pump it right back out into your vessel with the element. It will cool down some, and you can reheat it to your target mash temperature, then pump it back in. You will still need to compensate some as the grain temperature will come into play. Nothing extreme. It will require some trial and error.

B - is to use the equipment profile in the beersmith software and set it up to your equipment. (upper screen > Profiles > Equipment) It allows you to take the weight of your cooler and it even has a some sort of multiplication factor you can enter to attempt to compensate for a "cold" cooler.

Both A and B are not fool proof. I've used option B and it's been pretty spot on tho. I might miss it by a degree on a cold day but even before I introduced the RIMS into my system i didn't really give a **** about 1 degree.

If you use B make sure your recipes are using your equipment profile when you build them (it can be used retroactively as well) Hopefully some pictures can help....


Capture.PNG

Capture2.PNG

Capture3.PNG

Capture4.PNG

The numbers are in red, not the easiest to see sorry.

1 is a dropdown you can choose with some default parameters for batch/fly sparge. The light/medium/heavy body just picks a targeted temperature range from 148- to 156 I believe. You can modify the actual number to what you want and the software will compensate your strike water temperature accordingly.

2 gets you into some details about the profile you've selected and lets you modify said parameters and more.

3 is your grain temp. I've personally never bothered with this but I live in a very temperate climate. The couple of days it actually gets cold where I live I still don't bother and probably bump up Beersmiths suggested strike temperature a degree or two, but I have some leeway as I run a RIMS system, so raising the temperature for me isn't a big deal.

4 and 5 are something that I personally use. 5 IMO is a no brainer, drain the tun before adding more water seems like the right way to go about things. 4 is going to depend on your system. For example, before clicking 4 beersmith would tell me to batch sparge in 2 steps, 8 gallons and 1 gallon as an example, which seemed stupid to me, versus 4.5 and 4.5 gallon steps.

I can't help you with CBPI XLM recipe format. I've never used it. I just print the recipe out and read it TBH.


Hope this helps...
 

Wootonius

Well-Known Member
Joined
Oct 13, 2014
Messages
48
Reaction score
6
Location
Sherman
Your process seems sound.

I'm not 100% clear on your question. I'm guessing what you are using is Beersmith 3, not brewsmith.

If you are concerned about strike temperature (the temperature in the hot liquor tank aka your mash in water) being able to compensate for temperature loss due to putting it into a cold cooler you have two options.

A - is to pump the hot water into the mash tun and essentially pump it right back out into your vessel with the element. It will cool down some, and you can reheat it to your target mash temperature, then pump it back in. You will still need to compensate some as the grain temperature will come into play. Nothing extreme. It will require some trial and error.

B - is to use the equipment profile in the beersmith software and set it up to your equipment. (upper screen > Profiles > Equipment) It allows you to take the weight of your cooler and it even has a some sort of multiplication factor you can enter to attempt to compensate for a "cold" cooler.

Both A and B are not fool proof. I've used option B and it's been pretty spot on tho. I might miss it by a degree on a cold day but even before I introduced the RIMS into my system i didn't really give a **** about 1 degree.

If you use B make sure your recipes are using your equipment profile when you build them (it can be used retroactively as well) Hopefully some pictures can help....

I can't help you with CBPI XLM recipe format. I've never used it. I just print the recipe out and read it TBH.


Hope this helps...
Thanks Phoenix, it does help. Yes, I meant Beer Smith 3. I'm set up just like you suggested, using mash method B, and I've been trying to take advantage of how CBPi3 will take the XML from Beer Smith 3 and and automatically set the target temp based on the steps from the XML.

1622424301757.png


During the Mash and Sparge steps, CBPi seems to be looking to trigger a Mash element to reach the target temp (without regard to any required offset), versus triggering the BK element. At the Boil step, it successfully sets the BK element to 212F per the step setting.
It sounds like you just manually set these within CBPi based on your printout instead, and that may be what I end up doing. But if I can make it work, I like the idea of those settings changing automatically based on the recipe. I know I still have to push the run button, but it's nice to have the settings change based on the recipe step I'm on.

Thanks!!
 
Top