Native ESP8266 BrewPi Firmware - WiFi BrewPi, no Arduino needed!

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'm not sure if this belongs here on in the Fermentrack thread, but it sounds to me more like here, so...

Just finished up the beer that was my reason for trying Fermentrack/BrewPi-ESP, a Belgian Quad that called for ramping up 1°F/day from 68°F to 80°F. Since the weather's cooling off here, that meant running both a 40W heat belt and the glycol chiller. And, well, it seems the cooling overshot. A lot. Here's the graph out of Brewfather (I could post the graph from Fermentrack, but it's a lot busier):
View attachment 836110
On 12/4, I just turned off the chiller until yesterday, when the cold crash was due. And starting about midnight on 12/6 was when Fermentrack lost communication with the controller and had to be rebooted.

Each of those spikes is about 4°F below the target temp. It seems there ought to be some adjustments to this--but where, and what?
Hey DanB35, I saw the reference for Glycol here. Did you follow a guild to get Gycol function to work, or did you just set it for Fridge constant, and let the fridge sensor be the Beer temp?
 
Need some held guys. I built a new ESP32 S2 to work with Fermentrack, loaded BrewPi-ESP, ESP32-S2, BrewPi-ESP32-S2-v15d-WiFi. It is up and working with sensors and relays BUT. I cannot for the life of me get my I2C LCD to work. Per @Thorrak's instructions here: GitHub - thorrak/brewpi-esp8266: An implementation of the BrewPi device code on an ESP8266 (No arduino needed!). On my S2 Mini Wemos.cc v1.0.0 I have pin 33 connected to I2C SDA and 35 connected to I2C SCL. No screen. I have read that the code "Scans" for I2C as well. Just stuck and have spent a ton of time trying to get this working. Any help appreciated.
What’s the rest of the circuit? These screens require a level shifter - do you happen to know if you have one?
 
Hey DanB35, I saw the reference for Glycol here. Did you follow a guild to get Gycol function to work, or did you just set it for Fridge constant, and let the fridge sensor be the Beer temp?

Oh man - this reminds me that I need to draft a project status update here soon. Lots to cover, but with regards to glycol, I was finally able to preorder the @SpikeBrewing glycol chiller (eta: March) as well as all the accessories (house with basement, ETA: April) necessary to make it work. Without promising anything - official glycol support may have some news here in the second half of this year.
 
What’s the rest of the circuit? These screens require a level shifter - do you happen to know if you have one?
I DO NOT have a lever shifter. Only the Serial controller on the back of the display. Was this mentioned in the documentation somewhere I missed? Also I have another unit with a D1 Mini that is also Not using a lever shifter that works perfectly.
 
@Apothbeer
I do not have a glycol chiller, but I do circulate 38-40 F water through my SSBrewtech cooling coil, in the 14 gallon conical. I get about 1 to 2 degree over-cooling, then the set point. This will slowly hone into the setpoint, but never really get close. Usually gets to within 1 degree (too cold).
Not having a Glycol Chiller, my question is - Can you adjust the temperature of the chilled water with your chiller? Say.... set the water to around 40?
Hopefully Spike can hurry up, @Thorrak 's, chiller order!
 
It’s tough — the problem is that it entirely depends on the specific screen you are using (and individual manufacturers of the screens/backpacks may ultimately support different things). Most of these screens are designed for Arduino which use 5V logic. The ESP uses 3v3 logic. Sometimes this is enough for the backpack to detect/work - but sometimes it isn’t.
 
Hey DanB35, I saw the reference for Glycol here. Did you follow a guild to get Gycol function to work, or did you just set it for Fridge constant, and let the fridge sensor be the Beer temp?
I set it to Beer Profile. A Tilt Pro in the fermenting beer acts as the beer temp sensor, a 18B20 outside the fermenter but inside its insulation jacket is the "fridge" temp sensor, and another 18B20 in room air for room temp. And it works, kind of. There are probably ways of tuning out the massive temperature swings, but I'm not sure at this point what they are.
 
I've not seen big temp swings on my system. Use one sensor taped under insulation on the fermenter about 15cm below the liquid level. The other sensor in the fridge.
Ispindel reports it's reading via brewspy, half a degree centigrade would be a massive swing on my setup.
 
It’s tough — the problem is that it entirely depends on the specific screen you are using (and individual manufacturers of the screens/backpacks may ultimately support different things). Most of these screens are designed for Arduino which use 5V logic. The ESP uses 3v3 logic. Sometimes this is enough for the backpack to detect/work - but sometimes it isn’t.
OK, I think I get it. So something like this: Amazon.com

Should work wiring S2 pin 33 to LV1 pin 35 to LV2, Then from the level shifter H1 to to SDA on the LCD and H2 to SCL, Corect
 
OK, I think I get it. So something like this: Amazon.com

Should work wiring S2 pin 33 to LV1 pin 35 to LV2, Then from the level shifter H1 to to SDA on the LCD and H2 to SCL, Corect
Son of a biscuit. So stupid, contrast on the I2C was set very high and couldn't see the text projected. Sorry for the waist of time, and looking forward to Glycol integration. Using my Glycol setup in Fridge constant mode with Fridge constant reading the beer temp, and the Cooling relay powering the Glycol pump. Works but Temp drift is better on my chamber.
 
It’s been almost a year since the v15 release which brought support for Tilt hydrometers as temperature sensors, a built in web interface for managing the controller, and support for Kasa WiFi switches as relays. Since then, there have been a handful of small bug fix releases, but most of the development has been going on behind the scenes in preparation for one of the biggest updates yet.

The upcoming v16 release of BrewPi-ESP is designed to work in conjunction with the upcoming release of Fermentrack 2, and features a complete reimagining of the way that BrewPi communicates with Fermentrack. By replacing the existing BrewPi-Script interface with a new REST API, the v16 firmware eliminates one of the primary sources of crashes/feeezes/other errors and allows you to use a local temperature controller with a copy of Fermentrack installed in the cloud rather than requiring a local installation. It retains all of the great features that came with v15 while also setting the stage for some awesome features yet to come.

The alpha of v16 will be released in the coming few weeks for the ESP32, ESP32-S2, and ESP8266 concurrent with the opening of the Fermentrack 2 beta via Fermentrack.net.

For more information, check out my blog post on Fermentrack 2, sign up for the mailing list at Fermentrack.net, or read the post I made over in the Fermentrack thread.
 
I flashed my controller with the Fermentrack v16 Alpha firmware and sign into fermentrack 2 however cannot figure out how to link the controller? A box popes up to click for instructions but it doesn't work.
 
I flashed my controller with the Fermentrack v16 Alpha firmware and sign into fermentrack 2 however cannot figure out how to link the controller? A box popes up to click for instructions but it doesn't work.
I’ll fix that later tonight - sorry about that.

Connect to your controllers web interface (the IP/URL on the screen when it boots up) and there should be a link on the left. Choose fermentrack.net and it will ask you for the info it needs.

Edit: Going to fix the documentation link tomorrow. German food hits harder than I care to admit!
 
Last edited:
This is a great project that I am revisiting again after a few years. Thanks for all your efforts Thorrak.

I have been attempting to build the solderless version this time. Although the Kasa plugs are properly identified, the Inkbird IBS-TH2 is not. I did some digging, and this sounds like this might be a known issue. Is this the case? Or am I doing something wrong?

I'm also struggling with the Fermentrack Thingspeak integration. Connections are made to Thingspeak, but no data is sent (entry_id is populated & incrementing though). Is this something that has been working for others?

Thank you!
 
This is a great project that I am revisiting again after a few years. Thanks for all your efforts Thorrak.

I have been attempting to build the solderless version this time. Although the Kasa plugs are properly identified, the Inkbird IBS-TH2 is not. I did some digging, and this sounds like this might be a known issue. Is this the case? Or am I doing something wrong?

I'm also struggling with the Fermentrack Thingspeak integration. Connections are made to Thingspeak, but no data is sent (entry_id is populated & incrementing though). Is this something that has been working for others?

Thank you!

Unfortunately, due to an upstream bug with Espressif's base firmware for ESP32, there is a bug with the Bluetooth stack that causes the device's radios to lock up when performing "active scanning" of BLE devices. The Tilt broadcasts in a way that allows passive scanning to work, but Inkbird temperature sensors require active scanning to get any data. As a result, I ended up removing support in the v15 firmware release.

Although Espressif hasn't fixed the bug, I re-enabled support in the v16 firmware release along with a watchdog timer that restarts the controller if the radio is detected to have locked up. This isn't ideal (and I'm hoping that Espressif releases the v3 Arduino framework which supposedly has a fix ahead of the official release) but for now if you use the v16 beta you should be able to see the Inkbird.

With regards to Thingspeak: That's an integration that someone else added, and which I cannot speak to, unfortunately. Once I start building out external push support for Fermentrack 2 I will dig into it - until then, if someone debugs what is going on I'm happy to help build a fix, but cannot provide much guidance myself, unfortunately. :(
 
I’m thinking of upgrading my esp8266 based controller to a esp32 controller and checking out Fermentrack 2.0.

One off-the-shelf product that has caught my eye is the new-ish Sonoff THR316 that is an ESP32 based board with a single relay plus rj10 1-wire connector at a good price point. It would be ideal for a heat only setup or with the addition of a Kasa plug and 1-wire ‘hub‘ / TILT could be a full setup.

As has already been mentioned on this thread, the pins are not currently compatible with the standard brewpi pins and although I’m happy to hack bits of electronics, compiling software is something that I wouldn’t even know where to start!

Would there be any possibility you could make a Sonoff THR316 specific build of brewpi-esp to test out? The pins are as documented here so GPIO25 for 1-wire bus and GPIO21 for the single relay.

Bonus points if it’s possible to have the red led turn on for when it’s heating and blue for cooling, but I’d happily settle for just the relay and 1-wire!

Many thanks for an awesome project, looking forward to checking out Fermentrack 2.0.
 
Back
Top