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.
Hmmm that shouldn’t happen. -196 maybe as that is a power on value. Send me a log if you don’t mind.
maybe it is -196 im not onsite, I sure know -412 is what I get when they are disabled or unplugged. Honestly it makes little difference as it still makes the graph resolution very vague scaled out even that far, Thats all getting at. I almost wish there was a "start" button to begin recording for the graph however I understand that would be a waste of effort and resources.. I think disabling the autorange as Gparkins suggested will work for me to still be able to determine actual temp values in detail.
 
I just completed a split brewday yesterday, did a kettle sour that started on Sunday, completed boil and packaging yesterday. For the RTD temp probes that were not connected yesterday, -412 or -413 was displayed.

EDIT: Sorry, did not see the updates to the thread before I posted this.
 
@BrunDog - Is there a way to reset the flow sensor data without disabling and re-enabling the device? I am still doing everything manually as I have not had time to get into scripting, only me second brew this year! I did notice though that the only way to reset the historical data of the flow sensor is to disable it first. If that is it, not really a big deal, just curious.
 
just curious I was admiring Die_Beerery's set up and programing and thought to myself what if something went wrong, lost a hard drive or had a bad virus, is there a settings file that be exported or saved that would bring all of that hard work back if something went wrong?

Yes. All the settings are stored in a single configuration file. No registry is used. BC 1.1 will have automatic daily backups - you can then offload those elsewhere.
 
I have not seen anything like this as of yet (if there is I apologize). But I started adding some videos to my youtube on scripting and whatnot. It's pretty raw, and I did so because I wanted to screw up and troubleshoot as much as program ( since I screw up all the time and have to troubleshoot, I learn better).

Here are some recents. I will be adding more as I hope people looking into BC find them. I think BC is the best brewing software I have ever seen. I do some pretty whack stuff and BC has no problems with it, unlike everything else out there.

https://www.youtube.com/channel/UCx58Qq4GJheOAiyCoxBOfRQ?view_as=subscriber








Hope this helps


I enjoyed the videos you put together. I am not a programmer per se, but I have done a lot of scripting with my day job. One comment I have is to keep the indentations correct, as it is much easier after the fact going through the code! I noticed that in your second video with the endif not indented to the left, along with a couple of other statements. I would rather add a couple of carriage returns to split items up to make it easier to read. Again, while you are working on it, it is very easy to read. Once you are happy and done with it, come back two months later, you will be happy to have the indentations correct with some spacing, and maybe some comments.

I know that the following comment is a little dark, but watching the last video I had one thought of a change to your automation. For the hop additions you have to click a button for the process to continue. I hate to say this, but what if something happens to you and you cannot click a button. I recommend adding some sort of short timer, maybe two minutes that auto continues if you do not click the button. This way at least the entire process continues and shuts the system down. Otherwise you will boil the wort until nothing is left and bad things can happen once the heating elements are exposed.

Again, I know it is a little dark, but it is better to have some sort of safe guard in place the keeps the process going to completion than having something wait once you get going.

I have no idea why I did not think of it previously, but splitting the brew day across two workspaces is brilliant! I will definitely be doing that once I get everything finalized!
 
I enjoyed the videos you put together. I am not a programmer per se, but I have done a lot of scripting with my day job. One comment I have is to keep the indentations correct, as it is much easier after the fact going through the code! I noticed that in your second video with the endif not indented to the left, along with a couple of other statements. I would rather add a couple of carriage returns to split items up to make it easier to read. Again, while you are working on it, it is very easy to read. Once you are happy and done with it, come back two months later, you will be happy to have the indentations correct with some spacing, and maybe some comments.

I know that the following comment is a little dark, but watching the last video I had one thought of a change to your automation. For the hop additions you have to click a button for the process to continue. I hate to say this, but what if something happens to you and you cannot click a button. I recommend adding some sort of short timer, maybe two minutes that auto continues if you do not click the button. This way at least the entire process continues and shuts the system down. Otherwise you will boil the wort until nothing is left and bad things can happen once the heating elements are exposed.

Again, I know it is a little dark, but it is better to have some sort of safe guard in place the keeps the process going to completion than having something wait once you get going.

I have no idea why I did not think of it previously, but splitting the brew day across two workspaces is brilliant! I will definitely be doing that once I get everything finalized!


Thanks!

I agree on the scripting part. I went back and fixed everything and whatnot after, was not used to doing a screen share type thing so..... yea!

I don’t think it’s dark. Things happen. It’s a great idea. I will do just that. However I scripted low vals to make sure the elements won’t dry fire.

Thanks for the tips!
 
I have had a couple, so I could be wrong on the following. It looked to me like the low vals checks were set towards the beginning. So once everything was actually going, like once full boil in the boil kettle, those would not apply anymore.

I have not gotten into scripting yet with BruControl as I am still working on my build. It is built enough that I can brew, but not to the point to start scripting. What I do not know yet as is if it is possible to setup a sub or function that you can call periodically through the process. If you can, then you could setup the volume checks as a function (function returns a value, sub just runs code without a return) which could return a true or false. Subs and functions are nice as you can set code to perform a function that you want to call multiple times, this way to don't have to keep typing out the same lines of code, and god forbid you want to make a change to that code without a sub or function!

Regardless, the videos were great. I love your setup, and am a little envious! What you have done with BruControl is excellent and I very much appreciate you sharing your setup and scripting!
 
Good scripting practice would be to declare variables ("new value xyz") only before needing them, then deleting them when no longer needed ("delete xyz"). Some variables are needed through the whole script, hence should be declared at the beginning. Some are not needed until a particular section of script. It is also valuable to do it this way so you can jump to different sections on the fly, either manually or via the script, and never worry that variables get missed. Because the script is interpreted, not compiled, errors like these will not be uncovered until runtime. That's when it is bad to walk away - because an error will halt the script!

BTW v1.1 will have subroutines. I know this is way late... just saying!
 
Just got my controller in the mail (built by others) and the software downloaded and installed. Now time for some ultra super duper newb questions so that other folks won't feel embarrassed to ask their most simple questions.

First one. I'm getting confused with what's going on when trying to add an interface. I understand the concept: add the interface so that Brucontrol can talk to the Arduino. I bought the Arduino Mega 2560 with wi-fi from BrunDog. However, when I try to add the interface, it doesn't recognize the Arduino wirelessly. So then I hooked it up via USB, changed the interface settings in Brucontrol to Serial Port, and wham-o, it connects!

Then I disconnect the USB and switch over to Network TCP and wi-fi, and Brucontrol freezes up. I shut it down via Task Manager, start it back up, and the interface is disonnected. Then while still wireless, I switch back to Serial and it shows I'm connected again.

So, I'm confused. I thought I should choose Network TCP if I am trying to communicate to the Arduino wirelessly. But it shows it is connected only when using the Serial connection.

Someone educate me!
 
You have to run the wifi config and connect it to your network. i think its on the site under resources.
 
OK, I think I know what is happening... BC will try to connect to whatever device is listed in the settings. If you have a serial device setup, it will connect to an interface which is plugged in. Network interfaces support serial communication, but can only use one method at a time (by design). So to set up the interface's communication, you need to shutdown BC or delete the serial interface in the list. Then run the Firmware tool, selecting Network setup. When the terminal opens, send '%0&15;' to enter network configuration. Once it is setup, you can then create the network interface in BC.

If they do not connect, you will need to figure out where the issue is. First, make sure you have the right IP address. The config will report it, but you can turn on reporting with '%1&14;'. Doing this will report WiFi connection status too. If the WiFi is connected, try pinging the IP address to make sure you can communicate with it.
 
BTW, the BruControl website hosting has been updated - it should be much faster now, but its possible some of the links got broken in the move. Please let me know if you have any issues.

Oh my.. so much faster!
 
OK, I think I know what is happening... BC will try to connect to whatever device is listed in the settings. If you have a serial device setup, it will connect to an interface which is plugged in. Network interfaces support serial communication, but can only use one method at a time (by design). So to set up the interface's communication, you need to shutdown BC or delete the serial interface in the list. Then run the Firmware tool, selecting Network setup. When the terminal opens, send '%0&15;' to enter network configuration. Once it is setup, you can then create the network interface in BC.

If they do not connect, you will need to figure out where the issue is. First, make sure you have the right IP address. The config will report it, but you can turn on reporting with '%1&14;'. Doing this will report WiFi connection status too. If the WiFi is connected, try pinging the IP address to make sure you can communicate with it.

Progress! Got the Firmware tool up and running. Unfortunately my computer is not recognizing the device (it's not listed in Device Manager) and it isn't showing up in the Firmware tool.

However, it does look like when I plug in the Arduino it shows up in some semblance under Universal Serial Bus controllers as "Unknown USB Device (Device Descriptor Request Failed)" with location Port_#0003.Hub_#0003.

Firmware1.JPG
 
Ok, download the drivers here: https://brucontrol.com/downloadx/Arduino_Interface_drivers.zip.

Unzip the contents into a temp folder. Open Device Manager, select that device and update the driver, pointing to the temp folder.
No dice. Even uninstalled the device and reinstalled it.

Still getting the error "Windows has stopped this device because it has reported problems. (Code 43) A request for the USB device descriptor failed."

Tried it on my wife's computer and got the same error.

Searched around on the interwebs for how to correct the code 43 error. Tried a few of them to no avail.
1533954351266.jpeg
 
@TexasWine I run BC on an old MacBook Pro, with a Parallels Win 10 virtual machine. When I first fired it up, it took a little back-and-forth with @BrunDog to sort out a COM port issue, but it's working like a champ now. If I can get it to run on a Mac, it won't take long to get you rolling on your system.
 
That's frustrating. We know it works because we load firmware on and test before shipment (test log provided).

Maybe a different cable? Reboot? Are you manually searching and selecting the driver?

It should look like this:


To update manually, right-click then select 'Browse'... then 'Let me pick'... then 'Have Disk...', then open the folder you unzipped the drivers into.
 

Attachments

  • Arduino Device Driver.png
    Arduino Device Driver.png
    23.6 KB · Views: 47
That's frustrating. We know it works because we load firmware on and test before shipment (test log provided).

Maybe a different cable? Reboot? Are you manually searching and selecting the driver?

It should look like this:


To update manually, right-click then select 'Browse'... then 'Let me pick'... then 'Have Disk...', then open the folder you unzipped the drivers into.

Dug around in my old cable stash and couldn't find another cable unfortunately. I've tried rebooting. I manually pointed to the folder with the drivers. I tried manually pointing to the specific driver, but I wasn't sure which one to pick, so I just found one labeled something like USB driver. That didn't fix it either.

I'm going to get a good night's sleep and see if I dream anything up. One thing that is bothering me is my computer thinks there is another device connected to it and suffering from the same issue as the Arduino. But there's nothing else plugged into it.

@BrunDog, you should have my cell number so if you don't want to go back and forth on here feel free to give me a ring tomorrow or Sunday. Once the dust is settled I think this will end up being a educational moment for people like myself who find this thread and are fairly unfamiliar with these types of devices. I'll make sure to recap the resolution.

Thanks everyone for your help thus far.
 
Ahhh...Danica. [earlier pic was supposed to be a humorous reference to GoDaddy, but it wasn't.]
 
Last edited:
Dug around in my old cable stash and couldn't find another cable unfortunately. I've tried rebooting. I manually pointed to the folder with the drivers. I tried manually pointing to the specific driver, but I wasn't sure which one to pick, so I just found one labeled something like USB driver. That didn't fix it either.

I'm going to get a good night's sleep and see if I dream anything up. One thing that is bothering me is my computer thinks there is another device connected to it and suffering from the same issue as the Arduino. But there's nothing else plugged into it.

@BrunDog, you should have my cell number so if you don't want to go back and forth on here feel free to give me a ring tomorrow or Sunday. Once the dust is settled I think this will end up being a educational moment for people like myself who find this thread and are fairly unfamiliar with these types of devices. I'll make sure to recap the resolution.

Thanks everyone for your help thus far.
Sometimes incorrect host drivers will prevent devices from being identified properly.

The odd thing is that you connected BC through it via serial? The good news is once it is set up, you won't need to user serial anymore. Until we issue a new firmware that is...
 
Back
Top