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.
Yes, you are correct. Good find. We would need to update the wiring map in FW to make sure the SPI pins line up, but that’s easy enough.

The 4 wire RTD requirement is definitely a miss. I suppose you could splice in your own 4 conductor wire right up to the sensor to make a 4-wire. That would work but would make waterproofing a bit harder.

They already responded back the next day with interest in granting the request on the next design, they verified that there is no snipping with the ground pad right under the pin... They asked a few other questions about the pin header and such, I said it looked fine ans we would likely be jumpering to panel connectors from it using a ribbon cable and leaving 1 wire unused... They also asked if we could use 4-wire, I responded with the fact that if you look on amazon/aliexpress/ebay/brewing supply sites, 99.9% are 3-wire and 4-wire are so hard to find...

A side note on making your own sensors.... the aliexpress RTD in my calibration experiment was easily 10x faster than my 1-wire sensor I made myself just stuffing it in the tube... I was actually shocked when I saw it.... it was nearly as fast as the glass 32-212 lab thermometer... I need to see if there is a high thermal conductivity adhesive I can put on the 1-wire sensor before shoving it in thermowell... the cheap RTD's are really going to up my game in the 2-3 spots I want to get quicker, more accurate temps...
 
I noticed the "ON Offset" setting for the hysterisis element no longer allows decimal place values, only whole integers.

Could this be changed back for the 1.1 release?

And there was mention of the 1.1 beta having the capability of truncating decimals. I can't fin any documentation on that.

I am currently writing out current temperature to an LCD screen using a variable, and I'd like to truncate it to 2 decimal places same as the underlying SPI sensor element.
 
Decimals should work for offset - I'll have to test it. Was this just the touchscreen? Did you try entering the value with a keyboard? Did you try cut and paste?

Use the 'DisplayText' property to get the display you want. Note it is a string, not a value.
 
Tried with both keyboard directly into textbox, and also using pop-up numeric keyboard. Numeric keyboard decimal point is disabled.
Copy and paste worked fine.

DisplayText is working as required. Thanks for the tip.
 
I am finding myself wanting that the Tilt SG to have settings like the analog inputs to reduce 'noise'... I find that the bubbling co2 seems to make the things bounce and throw a whacky reading into the mix...

(edit, maybe there is a better way, such as running a script that takes 5 or 15 minutes worth of readings every x seconds and does an average and updates a variable, and I graph the variable... I can do it in Excel or SQL, but I am scratching my head at how to do this in BC)
 
Are you using the latest FW on the ESP32? Can you post up a graph? I ask these because we added some smoothing to the FW. Perhaps it is not aggressive enough and we need to refine it. I haven't fermented with my TILT via BC yet... so sheepishly admit I don't have live experience to build off yet!
 
I think I have the latest FW, I at least have the version that can do OTA programming, I tested that..

edit: FYI - this is a molasses rum ferment that is designed to ferment at 90F and has a constant recirc through a chillzilla-style coil, and a cooling loop and fan that are the 'PC Pump' and the 'PC fan' that keep at at 89-90

upload_2019-4-17_18-24-17.png
 
That’s way too spikey. Well, any spikes are too spikey. Any way you can confirm the FW?

Is there a trick to quickly see it, or do I have to connect serial and debug?

edit - I will test the OTA... I am 20 minutes away, what could go wrong? hahaha

OK... BruControl.44L.ESP32.W.ino.bin is loaded... waiting for a spike...
(note - it updates every second, I think we can change that to 2, as that is how often the beacon is, and my graph just does every 60 seconds, and I think it takes the 'instant' reading at the 60 second mark, maybe just a graph checkbox to take the mean or average, and would like graphs to accept 900 seconds(15 minutes) for fermentation graphs)
 
Last edited:
The Tilt sends a beacon every 2 seconds, it is not actively polled, correct? (that is how TiltPi and CPBi see it, at least)

Is 'refresh interval' in a graph the period between entries? It maxes at 60 seconds...

I would be happy if the Tilt elements showed the reading every 2 (or 20) seconds on the display, but only put an entry in the graph database every 5 or 15 minutes (300 or 900 seconds) (similar to TiltPi) but it averaged all the readings since the last database entry.
 
Here’s the chain. The TILT broadcasts an advertisement (specifically an iBeacon) every ~1 second. The ESP listens for advertisements in roughly 20 second periods. If it gets an advertisement inside that window, it stores the values in a buffer. When BC refreshes the interface according to the refresh interval * multiple, it gets the values in the buffer. If the interface does not store a value in the buffer after a few minutes, it assumes there is no TILT and stores nulls in the buffer, which BC will pick up on the next refresh.

What I’m not clear on, and needs fixing, is why single nulls are showing up haphazardly. This is either because the WiFi and BT radio transmissions are overlapping or something else. We need to address that, and will.

With respect to the database, an entry is made with each refresh, which is a max of 10 seconds. 5 or 15 mins is not possible but you could disable/enable the device via script every 5 or 15 minutes, wait for a reading, then disable again. Not sure the downside of more data as acquiring it less often will not smooth it.
 
it could be a beacon missing, a corrupt message, or the tilt being jostled by hitting the wall while in the current of the fermentation.. giving that temps do it, at least some of it is the first two. but all can be handled with similar remedies.

I think all three can be solved by using some sort of 'mean' function, maybe this can be built into the hydrometer properties like the analog sensors do? Ideally it would throw out zero or missing values, and allow a fairly large number of samples to be averaged, ( every 20 seconds is 15 per five minutes and 45 per 15 minutes, and we don't need to graph more granular than that, but it woudl be nice to SEE the new reading every 20 seconds (maybe even have the 20 seconds set from the hydrometer properties page at 1-60 seconds?)

speaking of the hydrometer page, some small corrections for the items underlined in red might help readability for new Tilt folks:
upload_2019-4-18_6-34-48.png
 
Tried with both keyboard directly into textbox, and also using pop-up numeric keyboard. Numeric keyboard decimal point is disabled.
Copy and paste worked fine.

DisplayText is working as required. Thanks for the tip.
I had the same issue but not always and on every setting box. I had to create a notpad and copy and pste numbers like my thermister vvalues into brucontrol because it would no let me type them in or keypad them in. Figured it was a known issue with new build.
 
I think I have the latest FW, I at least have the version that can do OTA programming, I tested that..

edit: FYI - this is a molasses rum ferment that is designed to ferment at 90F and has a constant recirc through a chillzilla-style coil, and a cooling loop and fan that are the 'PC Pump' and the 'PC fan' that keep at at 89-90

View attachment 622570
I am getting similar but very infrequent spikes on my tilt. I have tracked down to when the furnace which is about 8 ft away from the esp interface, kicks on... They are on totally separate power circuits but I was going to try using a usb powerbank to see if the noise was coming through the power or somehow through the bluetooth signal.
 
I am getting similar but very infrequent spikes on my tilt. I have tracked down to when the furnace which is about 8 ft away from the esp interface, kicks on... They are on totally separate power circuits but I was going to try using a usb powerbank to see if the noise was coming through the power or somehow through the bluetooth signal.


Interesting... My tilts are near my furnace as well.
 
FYI - for those on a budget, the cheapie $5 ESP32 works just fine https://www.ebay.com/itm/ESP-WROOM-...th-Development-Board-for-Arduino/183688068095

Also, for those ever needing to program an ESP32 dev board without access to the microUSB connector, I also used this opportunity to verify the FTDI connecter like used for the BruControl SonOff fermenter control 'application note' and just connected to 3.3v, gnd, tx and rx and it burned the 44L firmware. It needed 5v from an external source to program the network, 3.3v had it in a boot error loop in termite.
 
The pins which tell the SPI devices to communicate are driven high upon startup for those FW’s. We made separate FW’s so someone who typically uses active high devices won’t have them forced on on those pins/ports.
 
that is a very good reason... would a note/asterisk/(H) in the BC wiring map suffice? I remember finding out the hard way with RPi and the lower 8 GPIO's, because they completely ignore it in CBPi and the add-on board docs...
 
Looking for the perfect Tilt hydrometer fermenter controller, I ran across this Armtronix ESP32 quad relay board...

It has AC input, 4 relays, ESP32...

I figure I could mount in a plastic box, wire to a 4-gang box and be able to use Hysteresis, not a script, since the tilt and the device element are on the same interface...

Thoughts?



s-l500.jpg
 
I like that a lot, nice and neat with power supply built in. Too bad it's out of stock at the moment on tindie. Do you have a different source for it?
 
that is a very good reason... would a note/asterisk/(H) in the BC wiring map suffice? I remember finding out the hard way with RPi and the lower 8 GPIO's, because they completely ignore it in CBPi and the add-on board docs...

The outputs are purposely driven high... we haven't tried to leave them high impedence, but probably could get away with it. Just would require testing.
 
Looking for the perfect Tilt hydrometer fermenter controller, I ran across this Armtronix ESP32 quad relay board...

It has AC input, 4 relays, ESP32...

I figure I could mount in a plastic box, wire to a 4-gang box and be able to use Hysteresis, not a script, since the tilt and the device element are on the same interface...

Thoughts?



s-l500.jpg

Looks cool. Note that right now, Hydrometer temp is not a potential input for Hysteresis. You would need a legit temp probe or run a script off the Hydrometer temp.
 
The outputs are purposely driven high... we haven't tried to leave them high impedence, but probably could get away with it. Just would require testing.

Looking at the RTD amplifier (the Adafruit one, at least), the CS pins are pulled high by a hearty enough resistor. Therefore it seems we could not worry about pulling them high on purpose, then have RTD work with all FW's and not have separate files (nor wiring maps). We'll give it a deeper look then confirm.

Thanks for asking the question @clearwaterbrewer... we did this a while ago and never looked at it again.

Edit: Side benefit... users could add more than 4 RTD's if they wanted to.
 
Ok... some quick changes and we can post a FW which has no limits on the RTDs. We would need to creatre a wiring map for it as a test. Who is willing to give a beta FW a try with different pins/ports to confirm it will work?
 
OK... no jumpers but that didn't deter us. Posted v44N of some firmwares... the option codes are E, W, S for ethernet, wifi and serial, but they do have RTD enabled, so they are funtionally ER, WR, and SR, respectively. Looking for someone to test and report back. I tested on a Feather without issue using both port 11 (normal, previous RTD capable port) and port 15 (aka A1... not previously RTD capable) and both worked.

Now, port 15 will not show RTD as an option in BC right now... an updated interface wiring map is needed. LMK which interface you want to test, and I'll send you one.
 
Is it correct to assume that any Temperatures (1 Wire, 10K NTC and SPI) all have a precision of 1?

Temperature Display xxx.X format?

So if displaying a Temperature on the new digital Gauge, 4 Digit Count would be normal?

If that is correct, it would be better if the Default Digit Count was 4 and not 1.
 
I suppose you are right. Most probably want more than one digit for their temp display! But the display doesn't really know what data is coming in. For example, you could have a value that is a simple value from 1-5, so a single digit would make sense. It is up to the user to decide what is right for their application. Sorry - we're not that smart yet!
 
Just my "coding" sense. What you do every day, one click away. What you rarely do, no more than 3 clicks. If you never do it, any amount of Clicks. Since you set this once and never touch it again, it would fall under never.

That being said, Defaulting to the most common use makes sense. You have a lot of Application Defaults but Digit Count and Precision are not among them.

While what you said is True, I would bet 99% of Gauges will be for Temps and Targets.
 
Back
Top