BruControl: Brewery control & automation software

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.
I've been happy with the ESP32-DevKitC-32U, $10 from Mouser. There is a newer UE coming too, which I think uses an updated module, but I don't know the differences.

There is also an ESP32-C3 module coming, but it only looks like internal antenna.

I'm redoing my centralized fermentation controller with the ESP32-DevKitC-VIE (ESP32-WROVER-IE), which allows for an external antenna. It has an integrated antenna too, but you have to do some soldering to activate it. Here it is on Amazon: Amazon.com: ESP32-DevKitC-VIE Development Board: Electronics

This also has larger flash memory, but I doubt that will matter for any BC application in the near term.
 
Coupla new toys hit dock today... Thanks to @clearwaterbrewer for one to test!

387BB0C5-85F2-412F-8168-B184C7D72C87.jpeg
94713774-B0C5-4F77-904D-B5D360FF3DBF.jpeg
 
Top left corner of the script window moves it just fine. If you are moving elements, try creating a blank workspace and adjust the script window there. Also, you can lock the workspace but still move the script window.
This gave me idea. Since my Elements always get messed up when editing scripts, I created a blank workspace to edit Scripts. Now only if I can remember to always go to that blank workspace before opening the Scripts Dialog.
 
Happy New Year everyone.

I am planning to do a calibration pressure sensor over the weekend and have a question about a calibration tool (Resources – BruControl)

1) It says: "enter system values" this means - > numbers in yellow below are the only one to be adjusted and "Sample data" table is not be changed as it is used for calculations?
2) What is "inAq"?
3) Since I need liters, one way to convert is to add 3rd BC multiplier *0.946353 in order to convert quarts to liters.
or just multiple each row of Vol (qts) *0.946353 and change it to Vol (L)?
4)Additional calibration is done after configuring offset and multiplier that is manually adjusting those two as per instructions below to increase accuracy?


Thanks for help

1609524472499.png
 

Attachments

  • 1609524448440.png
    1609524448440.png
    161.4 KB · Views: 10
@BrunDog When you have an opportunity could you post the coefficients for your NTC probes? I am using the MF51E503F3950's which I believe is what you said you are using. I want to sanity check the numbers I have come up with.

Thanks,
Mike
 
Feature request - Modbus TCP

I got this PT100 acquisition module and hooked up to a RS485 to Modbus TCP wifi master and then I use Node Red to talk to the modbus device. It is super easy to set up and I must say it is awesome, the aquisition module is precise and got great resolution. I am also getting this module to read some 4-20ma sensors. Would it not be awesome to have a modbus TCP master in BC? OR the possibility to connect modbus RTU to a BC flashed arduino?
 
@BrunDog When you have an opportunity could you post the coefficients for your NTC probes? I am using the MF51E503F3950's which I believe is what you said you are using. I want to sanity check the numbers I have come up with.

Thanks,
Mike

Hi. I used Cantherm MF51E103E3950's (slightly different, but the beta's are the same), with the following coefficients:
1609600618079.png
 
OK, need some troubleshooting help. Upgraded to 0.15 firmware and Build 15 software. I cannot seem to get any of my digital outputs to fire. My pwm output works and my PID output works.

Another thing I noticed, I have 4 AUX 120VAC sockets each digitally controlled on seperate ports. I also have a Mains Power digital output that controls a relay powering my AC side. The software is only allowing me to have 1 of those 5 digital outputs enabled at a time and none of them share a port. Also, even when enabled, they don't trigger an output.

I'm stumped.

EDIT: I may have figured it out, it's the 'ole 0 value in the dual-throw field. I think we need a "readme" in that distro zip, I chased this for 4 hours and was ready to flash everything back but didn't have the old firmware any more.
 
Last edited:
Any suggestions for a pressure transducer sensor of max 5 kPa (0.725 psi) - for liquid level ?

I just figured out with @BrunDog support that 30 psi I currently have is way too much for 100l boil kettle.
Digikey has several matching my setup, but they are kind of expensive: https://www.digikey.ch/product-deta...00-000/734-1167-ND/2059221/?itemSeq=349529010
Surprisingly can't find any on AliExpress which are working on 100C... (maybe I am blind)

thanks
 
Any suggestions for a pressure transducer sensor of max 5 kPa (0.725 psi) ?

I just figured out with @BrunDog support that 30 psi I currently have is way too much for 100l boil kettle.
Digikey has several matching my setup, but they are kind of expensive: https://www.digikey.ch/product-deta...00-000/734-1167-ND/2059221/?itemSeq=349529010
Surprisingly can't find any on AliExpress which are working on 100C... (maybe I am blind)

thanks

I can't vouch yet if it works, but I just ordered this last night: https://www.amazon.com/gp/product/B0748BXFYQ/ref=ppx_yo_dt_b_asin_title_o00_s00?ie=UTF8&psc=1

I figured I'd just give it a go before asking anyone if there are any obvious reasons it wouldn't work :)
 
Oh @exoticatom, I just read that you already have a 30psi. Sorry!

Why was 30psi considered too much? I assume the measured psi amount was too much for you to have precise measurements. I am using my 30psi for pressure fermentation purposes, so I assume that will be more than adequate when I have BC maintain 10+ psi.
 
Last edited:
Oh @exoticatom, I just read that you already have a 30psi. Sorry!

Why was 30psi considered too much? I assume the measured psi amount was too much for you to have precise measurements. I am using my 30psi for pressure fermentation purposes, so I assume that will be more than adequate when I have BC maintain 10+ psi.

Thank you.
I need a sensor to measure wort level in my kettle which is 19.5in in diameter and19.in high.
As per calculations ca 20in of water will produce 5 kPa. And my maximum brew is around 15.5in of wort (20 gal aprox).
 
Any suggestions for a pressure transducer sensor of max 5 kPa (0.725 psi) - for liquid level ?

I just figured out with @BrunDog support that 30 psi I currently have is way too much for 100l boil kettle.
Digikey has several matching my setup, but they are kind of expensive: https://www.digikey.ch/product-deta...00-000/734-1167-ND/2059221/?itemSeq=349529010
Surprisingly can't find any on AliExpress which are working on 100C... (maybe I am blind)

thanks

Finding what you are looking for on aliexpress can be a challenge some times. Check these out

US $46.5 7% OFF|Sanitary liquid level transmitter sensor of high temperature type flat film pressure transmitter 50.5 flange tri clamp |transmitter flysky|transmitter videotransmitter mini - AliExpress
 

Thank you, Do you think temperature tolerance could be a problem ? It can measure (with compensation) until 70C.
I could live with measuring wort at 70, but would it survive boil ?

1609624145277.png
 

Nice. Certainly less $ than the ones we sell. 6 kPa is about 24" of liquid level above the sensor. (Note: the volume of the vessel does not matter... only the vertical height above the sensor center).

Please note though that these are not voltage limiting... so in over-pressure situations, the output will go with it. For example, if the pressure overload capability is 200%, then a 0-5V output will be 10V, which will overload the interface if you don't have some protection asded.

Edit: Also, I think these have proper flush diaphragms, but make sure you don't get sensors with "holes" in them. You can't clean them and they will hold liquid and junk unless you pipe them with an air gap.
 
Last edited:
Nice. Certainly less $ than the ones we sell. 6 kPa is about 24" of liquid level above the sensor. (Note: the volume of the vessel does not matter... only the vertical height above the sensor center).

Please note though that these are not voltage limiting... so in over-pressure situations, the output will go with it. For example, if the pressure overload capability is 200%, then a 0-5V output will be 10V, which will overload the interface if you don't have some protection asded.

Edit: Also, I think these have proper flush diaphragms, but make sure you don't get sensors with "holes" in them. You can't clean them and they will hold liquid and junk unless you pipe them with an air gap.

oh darn, so now another parameter - it should be without a small hole. Excellent point, thanks. I didn't think about that.

Sadly, I don't use tri clamps, the sensor for my setup has to have like 1/8-1/4-1/2" screw. Ideally should have 5v power supply and should be able to opearate on 80C (but surviving 100C).
It looks like, I am doomed... LOL
 
oh darn, so now another parameter - it should be without a small hole. Excellent point, thanks. I didn't think about that.

Sadly, I don't use tri clamps, the sensor for my setup has to have like 1/8-1/4-1/2" screw. Ideally should have 5v power supply and should be able to opearate on 80C (but surviving 100C).
It looks like, I am doomed... LOL

Thanks to @crane @CDCTx @BrunDog.
If you don't want to risk it, I'd say best is to order it from BC site, however, that one didn't fit my needs as I'm not using tri clamp system, and shipping , customs would be too much for my tight balcony brewer budget.
If anyone is interested I found a pressure transducer sensor good enough for me. Important was to search for "flat membrane pressure" and "sanitary".
US $61.6 20% OFF| 20 200degree high temperature membrane type pressure transmitter high temperature flat membrane pressure transmitter 4 20ma| | - AliExpress
Then you request 0-5v output and customization you like.
My requirements were:
  • Joint Site / installation interface: 1/2" NPT
  • Output: 0-5V
  • power supply 12v
  • Measuring range 0-5kPa
  • Temperature measurement 70 - max 80 C, withstanding >105C min. (this one : 200C)
now it needs to arrive before brewing season starts :)
 
For those looking for interface graphics...There is a PLC software from Unitronics called Visilogic and is a free download. Navigate to program files>Unitronics>data>images. Lots of equipment, pipes, valves and in a few different styles...
 

Attachments

  • 1609710503191813291937129986770.jpg
    1609710503191813291937129986770.jpg
    2.8 MB · Views: 58
Nice finds gents!!
You should look into the "alignment" tools in the software mentioned above. Basically if you select two or more elements, you can align elements horizontally/vertically, center in workspace horizontally/vertically, make elements same size and or equidistant from each other plus much more. Would be a great feature for organizing workspace.
 
For those looking for interface graphics...There is a PLC software from Unitronics called Visilogic and is a free download. Navigate to program files>Unitronics>data>images. Lots of equipment, pipes, valves and in a few different styles...

[Edit: Now that I have posted this, I finally came across a previous discussion on this thread where it seems most go with barebone backround of equipment and then use the element backgrounds.... but still curious what most people have found most preferable in their setup]

On that note, and just out of curiosity, how do most people do their brew room workspace set up on BruControl? I assume most are just making a general background image of their equipment layout on Paint, PowerPoint, or the like, but I'm curious how many add their equipment as the background of a device/global/etc. instead. I notice that putting one device over another won't allow for the Z1 device to show the higher Z-order device behind it (only shows the background behind both devices at that location).

I'm just learning the magic of Paint 3D and am currently making an image of the BrewBuilt Uni+ I just bought. Very handy.

BrewBuilt Uni+.png

But right now, my brew room workspace layout is made using Paint + PowerPoint, and it includes my cool chamber, my warm chamber, my starter incubation chamber, and a 14gal cheapo fermenter I have on standby.

1609798933365.png

I swap my BruControl workspace background based on what fermenters I have going (the last brew was the gose in the heating chamber, though in reality I did it in the cool chamber to keep the kölsch yeast low, but I was too lazy to swap the fermenter location in PowerPoint). This is definitely a lot of work and isn't very flexible since I can be running different fermenters in different chambers at any given time. I am sure I may be doing more work than necessary, but it's hard to nail down any previous discussion on this topic. I also may be making my brew room workspace layout overly complicated :)
 
Last edited:
@BrunDog How goes testing with the Automation Direct ProOpen controller? I think it's a great idea that will allow for better customization to individual needs. I modified my drawings to use it and it definitely cuts down on total space and wiring, not to mention it will have the look and feel of a traditional industrial PLC. Specifically I included the P1-16ND3 Discrete Input, P1-15TD2 Discrete Output, P1-04ADL-1 Analog Input, P1-4ADL2DAL-2 Analog Input/Output, and P1-04RTD RTD Input modules. Do you think all of those will be supported?
 
@BrunDog How goes testing with the Automation Direct ProOpen controller? I think it's a great idea that will allow for better customization to individual needs. I modified my drawings to use it and it definitely cuts down on total space and wiring, not to mention it will have the look and feel of a traditional industrial PLC. Specifically I included the P1-16ND3 Discrete Input, P1-15TD2 Discrete Output, P1-04ADL-1 Analog Input, P1-4ADL2DAL-2 Analog Input/Output, and P1-04RTD RTD Input modules. Do you think all of those will be supported?

We have discrete outputs and inputs working. Analog I/O will be next. RTD's to follow.
 
[Edit: Now that I have posted this, I finally came across a previous discussion on this thread where it seems most go with barebone backround of equipment and then use the element backgrounds.... but still curious what most people have found most preferable in their setup]

On that note, and just out of curiosity, how do most people do their brew room workspace set up on BruControl? I assume most are just making a general background image of their equipment layout on Paint, PowerPoint, or the like, but I'm curious how many add their equipment as the background of a device/global/etc. instead. I notice that putting one device over another won't allow for the Z1 device to show the higher Z-order device behind it (only shows the background behind both devices at that location).

I'm just learning the magic of Paint 3D and am currently making an image of the BrewBuilt Uni+ I just bought. Very handy.

View attachment 713094

But right now, my brew room workspace layout is made using Paint + PowerPoint, and it includes my cool chamber, my warm chamber, my starter incubation chamber, and a 14gal cheapo fermenter I have on standby.

View attachment 713089

I swap my BruControl workspace background based on what fermenters I have going (the last brew was the gose in the heating chamber, though in reality I did it in the cool chamber to keep the kölsch yeast low, but I was too lazy to swap the fermenter location in PowerPoint). This is definitely a lot of work and isn't very flexible since I can be running different fermenters in different chambers at any given time. I am sure I may be doing more work than necessary, but it's hard to nail down any previous discussion on this topic. I also may be making my brew room workspace layout overly complicated :)
I just use Paint for the most part. I do stack Elements and the fact they are opaque is fine with me. I do use the visibility property to have which one is displayed.

I also change the background to display things.

For example, I have some globals that display a pix (paint) of my pumps. I can immediately see if a pump is on. I know that you can also use an LED type display as well, but I like my graphic. I just change the background depending on the state of the Digital Out. Since this works with or without the interface being connected, I can test offline.

bg1.png


There is no transparent color of an element background.

Using the background is a great way to manipulate the appearance of the Element. You can also use Globals to display different states/values of Elements. Basically unlimited except the 3 background limit. As an example of this 3 limit, I have lots of alarms. I use different backgrounds for different Alarms, but since I am limited to the 3 backgrounds, I have to create more alarms. I do stack them on the same place on the workspace and use the visibility property to display the correct one. Note: the same is true for the wav file, you are limited to 3 choices.

I have a totally different Workspace for Fermentation.

Having this ability makes BruControl be a facsimile of your physical Brewery, making it a great HMI!
 
@CDCTx

I have four workspaces- Hot side overview, Cold side overview, an in depth fermenter view (there will be one of these for each fermenter) and system (which holds all the elements for testing and stuff I don't want to see often). Still a work in progress...
Screenshot_20210105-100153.pngScreenshot_20210105-100153.pngScreenshot_20210105-100120.png
 

Attachments

  • Screenshot_20210105-100001.png
    Screenshot_20210105-100001.png
    209.4 KB · Views: 26
@CDCTx

I have four workspaces- Hot side overview, Cold side overview, an in depth fermenter view (there will be one of these for each fermenter) and system (which holds all the elements for testing and stuff I don't want to see often). Still a work in progress...
View attachment 713170View attachment 713170View attachment 713172

Oh, very cool. I've treated my workspaces like a one-stop shop, but the separate workspaces does allow for full deep dives into what is happening. I'll consider this route.
 
Just got around to updating to 1.1.0.15. I'm interested in playing with the profile element. Can't find anything on this in the manual. Any suggestions to adding a multi step fermentation, say temperature over time?
 
Oh, very cool. I've treated my workspaces like a one-stop shop, but the separate workspaces does allow for full deep dives into what is happening. I'll consider this route.
it mostly depends on how much crap you got
 
it mostly depends on how much crap you got

Well, I'll have a probe and Tilt at least. I'm currently working on auto-spunding to be controlled by BC, and a glycol chiller is on the way. And now that BC has kickstarted my techy and scripting interest, I'll be scouring these forums for more ideas :) so your layout could be great for isolated data analysis rather than my busy setup.
 
Feature request - Modbus TCP

I got this PT100 acquisition module and hooked up to a RS485 to Modbus TCP wifi master and then I use Node Red to talk to the modbus device. It is super easy to set up and I must say it is awesome, the aquisition module is precise and got great resolution. I am also getting this module to read some 4-20ma sensors. Would it not be awesome to have a modbus TCP master in BC? OR the possibility to connect modbus RTU to a BC flashed arduino?

Been testing the PT100 acquisition module a few more days and I must say it is amazing. Incredible resolution (0.01C), incredible steady readings and yet super fast response. A major upgrade from the MAX31865 boards. The backside is that the values has to be sent to a global and then you can't use the values for hysteresis or PID elements.

Does anyone got a script example of a basic PID controller? Since the interface PID can't be used when using this module I want to write a script to do the PID calculations.
 
@BrunDog and all
During the tests today (45O version of FW + build 15), I was able to "kill" MEGA so it wouldn't respond anymore. I don't think it's EMI this time. As this was dry run.

I have a script which I start during the strike step (or mashing) which is monitoring flow rate trough RIMS. If flow is less than 2L/s I disable the heater Duty Cycle or PID which ever is currently active, and stop brewing process with a message and waiting for user interaction "wait and press button when ready"
If the flow is ok again, I enable whatever heater was active before that.
Note: elements which I am enabling are connected to the same data output (RIMS DUTY Cycle and RIMS PID) as I have one heater. If one is enabled the other one is disabled. BC is also taking care that both can't be enabled in the same time.
The reason for using both is - I use duty cycle to heat faster until 2 deg below the target, then I switch to PID to maintain.
Unsure if that's important.

1609933154884.png


During testing, I was able to consistently to kill MEGA.
Attaching logs:
- one disconnect happened at 12:06 after:
12:06:26.657: Tx: /13!29,1,0,0,-1,0?2?100?208?209?48?49?102?103?3

-2nd disconnect happened at 12:20 after:
12:20:19.481: Tx: ?2?100?208?209?29?48?102?103?3

EDIT: -3rd disconnect at 13:18after :
13:18:39.959: Tx: !29,1,0,0,-1,0?2?100?208?209?48?49?102?103?3


Anyhow, I have no clue why how I am able to do it.
Maybe you would have idea why this happens when you look at the logs.

Thank you
 

Attachments

  • Log1. Disc at 1205- device.192.168.168.41.20210106.txt
    56.2 KB · Views: 4
  • Log2 Disconection at 1220.device.192.168.168.41.20210106.txt
    73.3 KB · Views: 3
  • script.txt
    2.1 KB · Views: 4
  • disc 1320 device.192.168.168.41.20210106.txt
    321.4 KB · Views: 1
Last edited:
Just got around to updating to 1.1.0.15. I'm interested in playing with the profile element. Can't find anything on this in the manual. Any suggestions to adding a multi step fermentation, say temperature over time?

It's not fully integrated yet. Only some thresholds are complete, so I'd ask you to sit tight a bit.
 
Last edited:
Back
Top