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 have attached a pdf of my own instructions after I upgraded to v46B.

They may be of some help to others.....

I updated this on Aug 6, 2022 to reflect that you will need to use the correct new Port when creating your new Port 54+ Analog Elements to maintain your current wiring.
 

Attachments

  • Upgrading to v46B Firmware (3).pdf
    1.9 MB · Views: 0
Last edited:
Ok, reading zero. I’ll run a test to see if I can duplicate it.
In positive news, I found solder points on the board where I can control each relay externally, so my alternative may be to use a separate ESP32 interface to monitor and control pressure, then have one of its pins control a relay on this board. At least that frees up resources on each board.
 
Ran a test... was reading 5 no matter what. Quick debug reports its reading correctly but reporting incorrectly... will get the fix posted asap!
You beat me to it! My TinyPICO was also reading 0 or 5. I went back to v45 and I had normal values. I was just posting a reply when you responded
 
A few more connection fixes and I'm infact getting accurate enough PSI readings based on an old calibration and v45O. I'm so glad this has been sorted. No need for extra wiring for a secondary ESP32! I'll watch for your v46 fix. Thanks for following up!
 
OK... fixed. I was able to handle this one. Use v46C, updated in the FW package. Keep in mind there may be other bugs yet to discover!

Will get 46C for the MEGA, GC, and ESP8266 updated in the package soon.
Sounds good. I'll report anything I come across. I'm just glad the electronics confidence I've gained since getting BC wasn't destroyed by not getting this set up right.

At least 45O is a great fallback. You = awesome
 
@BrunDog TLDR, hysteresis for cooling and heating with 1-wire input aren't acting right on FW v46C.


There may be some communications issues regarding hysteresis devices with FW v46C. I was able to get my analog sensor set up and have my hysteresis device (solenoid) working great with Active High. Everything acts as expected when the target pressure is higher or lower than the measured pressure value (offset of 0.2); the solenoid turns on and off as it should, and BC shows "ON" and "OFF" accordingly.

But then I tried to set up my cooling and heating devices, controlled by a 1-wire probe. I put them both in Active High like the pressure setup. With my previous setup, the cooling offset just needed to be a positive number, and the heating offset needed to be a negative number. However, I am having trouble getting both cooling and heating to act right (and have BC show the proper status).

The Communications don't seem to be reflecting what the device is doing. Sometimes, I can see that the cooling relay is triggered (connected NO device is on, LED is on), but the Communications channel shows "?32=0," and BC says "OFF." Even when I change a value to make that relay physically switch off, Communications still says "?32=0," and if I switch it back on, the RX message remains "?32=0."

I tried Active Low configurations just to test what happens, but I see the same issues no matter whether the relay is triggered or not.

Here's an example process I took:

1) Set port 32 to the following properties:
Input: 1-wire temp probe (port 200).
Target: 80
Offset: 1
Active Low: OFF

The measured temperature is 77F.

The Communications show "TX !32,5,200,8000,8100,0,0" then "RX !32,5,200,8000,8100,0,0," indicating the transmission was received and confirmed. The ESP32 turns off the relay (the plugged-in fan is off, LED is off), and BC continues to show "OFF." The Communications show "?32=0." "OFF" makes sense here since cooling should only be enabled when the temperature reaches 81; at 77, this means the measured temperature is cool enough.

I then set the target to 50F, meaning it should switch on at 51F or higher. Since 77F is higher than 51F, I expect it to switch on. The Communications reflect the new target was sent, received, and confirmed, but the relay does not switch on. Communications show "?32=0." If I set the offset to -1, the relay then turns on, making it act as heating, even though the measured temperature is higher than 50F.

I've since put FW v45O back on the ESP32, and everything acts as expected. Both cooling and heating are set to Active High (or Active Low = OFF), and when my target temp is set lower than the measured temp (50F and 77F, respectively), cooling kicks on. Likewise, if my target temp is set higher than the measured temp, heating kicks on.

So this seems to be narrowed to FW v46C and not BC or its outgoing communications. Since my hysteresis device works properly with analog input on 46C, it could possibly be related to the 1-wire as input. I'll keep 45O for now since I want to use this for a new brew in a few days, but I'll check back about v46 updates. Thanks!
 
Posted 45D... actually didn't have time to test it, but found a potential bug. If you are willing to give it a try and report back, that will be cool. Otherwise we'll test and update you.
I can install the firmware but I can't get to the setup mode in Termite. Went back to 45O and it works, so 46D may have an issue with setup. I'll try updating over WiFi

Update: WiFi update didn't play nice. No connect. Going back to 45O now
 
I have attached a pdf of my own instructions after I upgraded to v46B.

They may be of some help to others.....

I updated this on Aug 6, 2022 to reflect that you will need to use the correct new Port when creating your new Port 54+ Analog Elements to maintain your current wiring.
Thanks for the great work.
I briefly looked at the document, just be sure on a high level of what needs to be done:

1) collect all the information /details about analog ports that need to be changed. Make a visual backup. Make all other backups.
2) edit cfg file and change _only_ the wiring map as in your document. This change only works with 46x and the newest BC.
3) install the latest BC software which supports a new wiring map.
4) install the 46x firmware.
5) start all
6) delete old and create again changed elements based on backup in point 1.

Did I get your procedure correctly? I cannot change interfaces in cfg, do they really need to be recreated?

EDIT: I might notice an error in your instructions. For example, the wiring map for Wi-Fi should be Wi-Fi_FW_v46 (in your document is Wi_Fi_FW_v46 – all with underscores).
Also, it seems I have found an older link post that confirms my assumptions.
 
Last edited:
Hi @BrunDog

I am using wifi shield over Arduino Mega. I was going through FW46 config steps, I just realized that my wiring map is set to default instead of to Wi-Fi for a long time.
However, I didn't notice any issues the past year using it like that.

If I try to correct it and change it now, having all my elements created, UI It gives a warning:
1659946324935.png



If I shut down the windows app, and change it in the brucfg file, the application starts without issues, and have it set correctly:
1659946430496.png


Do you see issues with it? Is that ok to change it like this, or I really need to recreate all elements from scratch?

Thank you for your answer.
 
Thanks ..

EDIT: I might notice an error in your instructions. For example, the wiring map for Wi-Fi should be Wi-Fi_FW_v46 (in your document is Wi_Fi_FW_v46 – all with underscores).
Also, it seems I have found an older link post that confirms my assumptions.
Typo on my part (or stupid auto correct??). I will correct it. I do not use wi-fi for my Mega so I could not check it.
 
Thanks .....

1) collect all the information /details about analog ports that need to be changed. Make a visual backup. Make all other backups.
2) edit cfg file and change _only_ the wiring map as in your document. This change only works with 46x and the newest BC.
3) install the latest BC software which supports a new wiring map.
4) install the 46x firmware.
5) start all
6) delete old and create again changed elements based on backup in point 1.
In a nutshell, yes.

I would also say that you need to look at the interface wiring maps (v45 vs v46) for the Analog Ports. You want to make sure that you use the new correct port for your A1 pin as that is how YOU wired it.

If you have your Brew Kettle Temperature probe wired to Pin A1, then the old Port was 101 on v45 firmware.

For a Mega, the new Port would be 55.

On a Grand Central, the new Port would be 68.

I always make a Backup of my brucfg anytime I Am changing Scripts as well. You can always revert to the backup if your changes fail to work.

If you have been following this trend of v46, you will notice that @CDCTx has switched between v45 and v46 as needed.

As a side note, anyone who upgrades to v46x, is a Beta Tester.
 
v46B mega issues..

I upgraded (read try) to upgrade Arduino Mega from 45O to 46B_W as I am using WiFi shield.
I followed to the best of my abilities the procedure as in the previous posts.

1) changed wiring map element in XML; CFG,
2) upgraded mega to FW to v46B_W. without issues.
3) upgraded PC SW.
4) deleted and created new elements, but none of the new elements work.
Arduino is making the connection, that seems to be working. Nonanalog inputs and outputs are working.
But I can't make analog inputs OK.


Tested setup is:
NTC1 -> A0 old 100, new 54
NTC2 -> A1 old 100, new 55
old:
1659963711462.png


new:
1659963747811.png


new element:
1659963774169.png


but it's stuck into 655 value.
1659963826486.png

I had thermistor NTC10k connected to A0 -> 100, and created an Analog Input Element with 54. But the number on the element, where it should be temperature is not changing, it is stuck.

mega setup:
1659963930976.png

1659964033363.png

tried several inputs, but all are fixed, and I have NTCs connected to A0 and A1
1659964317659.png




I just enabled port54:
communication:
1659964588336.png

1659964622951.png

If I revert everything, FW; Software all works fine.


Any idea where to go with troubleshooting?
 
Posted 45D... actually didn't have time to test it, but found a potential bug. If you are willing to give it a try and report back, that will be cool. Otherwise we'll test and update you.
I just wired my second fermentation controller setup with another Robotdyn and loaded ESP32 FW v46D. All worked right from the get-go, so v46D seems to be stable, at least with 1-wire, analog input readings, relay controls, and BC comms.
 
This thread, being185 pages long - I did a search but didn't see an answer.

If I have one BruControl setup on my main PC in the office of my house, but brew in the garage and have the Kegerator is in the basement, will everything be able to be controlled from the one PC that BruControl is running on in the office? It stays on 24/7.

Or maybe it doesn't even need to be on 24/7 if the actual devices controlling the kegerator cooling compressor and tower fan temp control don't need the PC on 24/7?

I have a single Arduino Mega and a bunch of ESP8266 controllers, a spare Raspberry Pi Zero W, and maybe an unused ESP32. WiFi would be nice to use so I don't have to run more ethernet cable in the house.

I currently have a CraftbeerPi3 home-built controller in the garage that works pretty well for brewing, and a new KegCop install in the basement for the Kegerator, which I'm having trouble with it rebooting all the time.

EDIT - nevermind. I read in the manual that it can do this: "This distributed network controller topology provides these major advantages: 1. Multiple separate systems (e.g. automated brewery, fermentation control, serving control, etc.), which can be in the same machine, same facility, or remote location across the country, so long as they are on the same network,"

It looks like it could even run a home lawn irrigation system at the same time.
 
Last edited:
Sounds like you figured it out... but yes you can control it from one PC. If your interface which is handling the kegerator doesn't need scripts running, then you can shut down the computer and just let the interface run. Note that in that circumstance, the interface will not continue running during a power failure unless it has a battery backup (and your compressor will not run without a power backup also). Following a power failure, the interface will not resume control unless you store the interface power-on configuration. See control code %5 to do this in the manual.
 
Tested the new ESP-32-S3 development board. This thing will become the new standard some day!
What about this board stands out most to you? I was reading about it the other day. Onboard USB sounds nice for other applications, and the increased I/O could be good for BC if someone has a complicated setup with a lot of devices.
 
Pretty much no limitations... lots of I/O (all can be digital, analog-in, PWM), lots of memory, speed, bluetooth, for factor, cost, etc. Only hiccup is 3.3V for some integration headaches.
Yeah, the feature of all pins being capable of digital or analog will be nice when this chip starts appearing on integrated boards like the LILYGO TTGO or Robotdyn R4; no more hoping they didn't eat up the analog ports.
 
Any progress on being able to set globals to not be reported to the dataset? I was going to create a whole set of globals for a "Second Batch" but will hold off if that feature is in the near future.

It would be nice if it was a feature with a default where I could set "Not to be Reported" as the Default as I have many globals, but only about 4 that I would want in a Dataset (Mash Temp and Fermenter Temps). I would also like the frequency of collection to be set. For example, I might want my Mash every minute where the Fermentation might be every 2 hours,
 
I plan on having my BruControl Computer off the internet most of the time. The only reason I will connect is to validate the license. A button on the license page that would allow me to validate and get off would be a nice feature. Maybe the existing Activate button could do both Activate and Validate.

I am going to use it where there is no wired internet but I can turn my phone into a Hotspot to get the program validated.

I was moving that way regardless as there is no reason for that computer to be on the net other than BruControl.
 
I have left my BruControl computer connected to the internet for a couple of hours and it has not validated. The email field is blank (on the license screen) and will not hold what I put in it once I close the license screen.

It says I have 11 days before it expires. I did some work on the scripts on another computer and copied that brucfg file back to my BruControl computer. The last time this validated was Aug 1, 2022.
 
I have left my BruControl computer connected to the internet for a couple of hours and it has not validated. The email field is blank (on the license screen) and will not hold what I put in it once I close the license screen.

It says I have 11 days before it expires. I did some work on the scripts on another computer and copied that brucfg file back to my BruControl computer. The last time this validated was Aug 1, 2022.
Odd... email us a screenshot. Will check the server too.

Edit: Checked server... all looks good. But you are right that your last synch was 8/1. I deleted your activation - go ahead and reactivate.
 
Odd... email us a screenshot. Will check the server too.

Edit: Checked server... all looks good. But you are right that your last synch was 8/1. I deleted your activation - go ahead and reactivate.
Away but I left it connected
To the internet . AddeD my email and did not close the license screen
 
I came home to send a pix but when I closed it and reopened the License Pane, it said not activated. Enter my email and activated fine. My email is also there and not blank. Fixed,
 
Back
Top