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 am running the latest version of Fermentrack.
SI i tried to use the latest version, and my unit would never update. As I mentioned I had to load an earlier version that uses USB to connect to the BeerPi, it uses WiFi to transfer data to and from the Fermentrack interface. You might try that and see if it corrects your issue.
 
I just can't seem to find a hat/shield for the D1 mini for my relays that seems right. Not sure why... but these little purple boards ya'll are using, where is a link to them?

I want to recover my Pi4 for another use and am interested in dabbling with brewpiless...
 
I just can't seem to find a hat/shield for the D1 mini for my relays that seems right. Not sure why... but these little purple boards ya'll are using, where is a link to them?

I want to recover my Pi4 for another use and am interested in dabbling with brewpiless...
I am using the board from the Fermentrack build and just uploaded the firmware directly to the D1. The board from Fermentrack have to be built. I forget who I used to build them but pretty sure it was on the Fermentrack build page
 
Yup those appear to be the same ones.

I Found the link after the fermtrack mention. Much appreciated brutha.
 
I just pushed v15-beta out to BrewFlasher. This version incorporates a number of bugfixes and "under-the-hood" tweaks in preparation for additional features to come. As a reminder, features included with the v14 beta include:
  • Support for the ESP32 and ESP32-S2 chipsets
  • Support for Tilt Hydrometer and Inkbird temperature sensors (Tilt Pro recommended)
  • Support for TPLink Kasa WiFi Switches
  • "EEPROM Reset" Confirmation Requirement
  • TFT-Display Support
Bugfixes in v15 include:
  • Resolves issues preventing calibration from being properly captured/appliedm
  • Allows for calibration to be applied to Tilt and Inkbird temperature sensors
  • Fixes a bug that may prevent sensor setup from persisting through reboots

Migration to v15 is recommended for all new builds, and for any v14-based builds that are having issues.
 
Update regarding the ESP8266

Over the past several months, I've been working on a project to bring a REST interface to BrewPi controllers. Part of this work led to the discovery of a number of bugs in the v14 firmware release, which is concerning considering that firmware has been out for almost a year now. To ensure there were no bugs in the v15-beta firmware I created a testing matrix -- but this has revealed a separate, related issue: At the moment I’m maintaining way too many versions of this project.

v15-beta testing.jpg

As you may know, the Espressif controller landscape has changed considerably over the past seven years. Building on the ESP8266's popularity, Espressif has released newer chips such as the ESP32, ESP32-S2, ESP32-S3, and ESP32-C3, which offer significant new features like multiple cores and Bluetooth support. While the ESP8266 was once a popular and cost-effective choice, Espressif's level of support has dropped resulting in major, breaking issues persisting in the official framework without attention for months/years. Although I've been able to work around these bugs in many cases, time spent doing this is time I'm not able to use working on new features.

As a result of this changing landscape, I've decided to focus future development efforts on the ESP32 and ESP32-S2 platforms following the full release of v15. This means that I will no longer be testing against ESP8266-based chips and will not be providing primary troubleshooting and support for issues related to these chips. However, I will continue to release firmware - including some of the new features planned for v16 - for these chips as long as they continue to compile without significant errors.

For brand new users, my recommendation is to either use the ESP32 (preferably with a TFT!) or an ESP32-S2. The LoLin S2 Mini is a pin compatible replacement for the D1 Mini, meaning that both new and existing builds using my PCB designs should be able to directly replace the controller with a LoLin S2 Mini without other hardware changes.

If you have any questions or concerns, please do not hesitate to either post here or reach out directly. I'll post another reminder about this when v15 is released.
 
Hey Thorrak,
I reflashed my ESP32-S2 board with the 0.15 beta wifi firmware and that fixed the issue with entering an offset for the probe, but now as soon as the controller boots up, the cooling relay kicks on. The display still shows control as "Off". I can start a profile, but the cooling stays on even when it trys to heat. The controller worked fine with V 0.14 other than not being able to set an offset for the temp probe. It appears to be trying to fire both relays, as both indicator lights come on. Any ideas?
 
Hey Thorrak,
I reflashed my ESP32-S2 board with the 0.15 beta wifi firmware and that fixed the issue with entering an offset for the probe, but now as soon as the controller boots up, the cooling relay kicks on. The display still shows control as "Off". I can start a profile, but the cooling stays on even when it trys to heat. The controller worked fine with V 0.14 other than not being able to set an offset for the temp probe. It appears to be trying to fire both relays, as both indicator lights come on. Any ideas?
Yep. Sadly. The "invert" setting is wrong (which is due to a bug in Fermentrack). I know exactly how to fix this on the firmware-side, but it's going to be tomorrow before I can get another beta out. Sorry about that.
 
Thanks Thorrak, just glad it wasn't something I did
I just uploaded Beta 2 which should have the necessary fix. That said, both the coding and the release were done from my phone, so this is 100% untested. Give it a shot though, and let me know if it works for you!

I mean, it compiled (eventually)
 
Last edited:
I just released Beta 3, which adds an HTTP interface to the controller:

Screen Shot 2023-03-01 at 3.37.27 PM.png



From this interface, you can:
  • See the current status (including the virtual LCD)
  • Configure/assign pins, Tilts, Inkbird sensors, and OneWire temp sensors
  • Change the temperature control mode & set point
In other words: This provides an emergency fallback in case your local install of BrewPi Remix or Fermentrack is on the fritz on brew day.

For obvious reasons, this has only been added to WiFi controllers. Just like the "telnet" interface, anyone that can connect to the interface can change your settings, so you will want this behind a firewall (and not accessible to the open internet). This has been added to the ESP32-S2, ESP8266, and ESP32 WiFi binaries, but will not work with the "no spiffs init" versions.
 
I just uploaded Beta 2 which should have the necessary fix. That said, both the coding and the release were done from my phone, so this is 100% untested. Give it a shot though, and let me know if it works for you!

I mean, it compiled (eventually)
I used to dream about becoming a better programmer and writing ALL the programs that would make the world a better place.

And then I saw Thorrak maintain his excellent software on his phone. Now I'm happy being a minion who just consumes such things!

Thank you Thorrak and all the other creators who are fighting the good fight in their spare time and giving it away to us knuckleheads!
 
I just pushed out Beta 4, which I think is the release candidate for v15. All the features/bugfixes I wanted for v15 are now in, and everything appears to be working. That said, I'm going to leave things alone until this weekend -- if anyone wants to test this release

Main differences between Beta 3 and Beta 4 are:
  • "Low Delay" mode is now a setting rather than a specific firmware type
  • Fixed several issues with the TFT LCD

I used to dream about becoming a better programmer and writing ALL the programs that would make the world a better place.

And then I saw Thorrak maintain his excellent software on his phone. Now I'm happy being a minion who just consumes such things!

Thank you Thorrak and all the other creators who are fighting the good fight in their spare time and giving it away to us knuckleheads!

Thank you for your interest in the project! Hopefully it helps you brew better beer!
 
Slightly bad news, though I have a feeling there's an audience of one for this at the moment: Bluetooth support needs some work. There's a longstanding bug in the ESP32's bluetooth library that causes the bluetooth radio to periodically just die. It's a serious problem for something like BrewPi, as it would cause your temperature control to suddenly stop working for no reason. I've got a number of ideas for how to fix this, but - as I work through those - I recommend either being careful if you use the Bluetooth support, or waiting for the next beta release.
 
Slightly bad news, though I have a feeling there's an audience of one for this at the moment: Bluetooth support needs some work. There's a longstanding bug in the ESP32's bluetooth library that causes the bluetooth radio to periodically just die. It's a serious problem for something like BrewPi, as it would cause your temperature control to suddenly stop working for no reason. I've got a number of ideas for how to fix this, but - as I work through those - I recommend either being careful if you use the Bluetooth support, or waiting for the next beta release.
Now I'm a little confused :rolleyes:, I thought the BrewPi/Fermentrack were just using wifi for normal control. Is this just an issue with the original ESP32, or also a problem with the S2 Mini?
 
Now I'm a little confused :rolleyes:, I thought the BrewPi/Fermentrack were just using wifi for normal control. Is this just an issue with the original ESP32, or also a problem with the S2 Mini?
tl;dr: you're fine.

Brewpi and Fermentrack use WiFi to communicate. BrewPi-ESP32 can (optionally) use Tilt Hydrometers and Inkbird Bluetooth temperature sensors if you don't want to use hard-wired OneWire temp sensors. That's what the issue is with -- if you don't use Bluetooth sensors, you're fine. ;)
 
On the one hand, I think I may have found a solution — at least for now. On the other, unfortunately, it may mean that support for @inkbird sensors won’t work. :(

Unfortunately, it appears that Inkbird sensors require active scanning (which is what causes the bug to rear its head on these chips). Not Inkbird’s fault - entirely Espressif’s.

Tilts do work, so at least that’s something!
 
Bad news: Plans A, B, C, and D to try to get the ESP32 to work with the Inkbird sensors have failed. I’ve got a competing sensor en route from Amazon (arriving late, thanks Jeff) which - if it works - solves the problem, but as of now it seems like the only path forward is to release without Inkbird support and wait for Espressif to release Arduino v3 (… and hope that this guy is right about it fixing the bug).

The downside to not having Inkbird support is that it means building a fully solder-free BrewPi requires using two Tilts - with one sitting at an angle, not inside beer. I’ve got two other manufacturer’s sensors on order to see if they don’t require active scanning — if passive works, then I’ll add support. If not, then I’ll start wrapping v15 up with only Tilt support.
 
Hey Thorrak, just updated one of my controllers (ESP32-S2 mini) to the Beta 4 release. The web interface is a really cool addition! I did notice that the beer temp isn't displaying on the "Current Temps". It is fine on the LCD Display. Just figured I'd let you know in case there's a bug. Thanks again!
 
Welp, competing sensor 1 also requires active scanning. Oh well. Competing sensor 2 arrives tomorrow.

Hey Thorrak, just updated one of my controllers (ESP32-S2 mini) to the Beta 4 release. The web interface is a really cool addition! I did notice that the beer temp isn't displaying on the "Current Temps". It is fine on the LCD Display. Just figured I'd let you know in case there's a bug. Thanks again!

Huh... Looks good on my end:

Screen Shot 2023-03-09 at 10.00.57 PM.png


Could be something I fixed post-beta-4 though. Beta 5 coming soon!
 
Well, I've had an issue recently with my controllers (ESP32-S2 mini running v0.14 with Fermentrack Dev branch) locking on the cooling relay. I'm concerned that my fridges may be drawing too much power at startup (drawing a little under 7.3 amps running). It happened the second time last night during a cooling ramp to cold crash for kegging. The relay wasn't fried like I had suspected, and functioned normally after firing it back up for a couple hours this morning. Not a huge deal as I caught it before it froze the beer, but could be a much bigger problem if it went unnoticed for too long since I bypassed the fridge thermostat with the controller. Being the relay wasn't "locked on" and functioned normally after restarting, could it be the controller itself? Fermentrack was calling for heat when it shot past the setpoint, not sure if it was actually able to heat as I didn't check the heater and just shut it off since it was past my bedtime. The dual relay board is wired as suggested which I believe shouldn't allow it to do both, but the cooling relay was obviously on and it was calling for heat.

I suspect I may need to switch to an SSR instead of the mechanical relay to control the cooling and was wondering if anyone had recommendations as to how best to set it up.
Would it be best to use the mechanical relay to fire an AC/AC SSR or use the signal from the controller to fire a DC controlled SSR?
Is a 40A SSR sufficient for this?
Would I need to add a heat sink?

Thanks for any help!
 
7A running is high, very high. How big a unit is it?

AC/AC SSR is one way to go. A DC controlled SSR is more than enough. Your compressor should have an "RLA" or "LRA" rating which would be your peak. I'd have 2-3x that available to be safe with Chinese parts. If you just want to buy a part and not do any sleuthing, a 40A should be more than good.
 
7A running is high, very high. How big a unit is it?

AC/AC SSR is one way to go. A DC controlled SSR is more than enough. Your compressor should have an "RLA" or "LRA" rating which would be your peak. I'd have 2-3x that available to be safe with Chinese parts. If you just want to buy a part and not do any sleuthing, a 40A should be more than good.
Thanks Lee,
These are True GDM-10PT's. They are commercial 10cf merchandising fridges with a 1/3hp compressor. The only rating I can find is a Full Load rating of 7.3A. I was using a Kill-A-Watt meter to get the Amp reading, but not sure if that's the running amps or peak (pretty sure it's not peak). A 40A relay is usually about the same price as a 25A, so might as well go with the 40.
I have some questions about wiring a SSR in.
1) The way these relays are wired, the cooling relay gets power in and the heat relay is fed from the NC side of the cooling relay so that they arent supposed to be able to fire at the same time. If I used the signal from the controller to fire a DC controlled SSR, wouldn't I loose the protection of not being able to fire both at the same time?
2) If I did use a DC controlled SSR, would you just change the cooling signal from the controller to the SSR and jumper the ground to it also? 3) If cost's are similar between SSR's, would I be better off to just go with an AC controlled and fire it from the mechanical relay?
4) I know SSR's generate a lot of heat, which can shorten thier life. Is it the switching that generates heat, or just the "on" condition itself? In other words, would I need a heat sink for the SSR? With the cooling power of these fridges, cooling is rarely on longer than the 3 minute min.

Thanks again for the help!
 
The way these relays are wired, the cooling relay gets power in and the heat relay is fed from the NC side of the cooling relay so that they arent supposed to be able to fire at the same time. If I used the signal from the controller to fire a DC controlled SSR, wouldn't I loose the protection of not being able to fire both at the same time?
You would; in practice I've not seen that happen unless people do something Very Wrong™.

If I did use a DC controlled SSR, would you just change the cooling signal from the controller to the SSR and jumper the ground to it also? 3) If cost's are similar between SSR's, would I be better off to just go with an AC controlled and fire it from the mechanical relay?
I have not run an SSR on BrewPi, but from what I understand people set the point to non-inverted (Elco probably wishes he had used a different term.) One for the control point and one to the board ground (or at least the ground bonded to the board).

I know SSR's generate a lot of heat, which can shorten thier life. Is it the switching that generates heat, or just the "on" condition itself? In other words, would I need a heat sink for the SSR? With the cooling power of these fridges, cooling is rarely on longer than the 3 minute min.
They generate heat when using them for PWM because of the switching. I would imagine you would be fine.
 
SSRs generate heat both because of non-zero "on state" resistance and also generate heat while switching between that non-zero on state through the resistive transition to its very high impedance "off state" where dissipation is very nearly zero...

Cheers!
 
Thanks for the input guys. Please forgive me, as my electrical knowledge is somewhat limited. I truely appreciate the advice from you with much more knowledge and experience than I 😁
SSRs generate heat both because of non-zero "on state" resistance and also generate heat while switching between that non-zero on state through the resistive transition to its very high impedance "off state" where dissipation is very nearly zero...

Cheers!
So, I'm guessing that you feel I should use a heatsink?

I know that many of the inexpensive SSR's are chinese knockoffs, which are underbuilt for thier ratings. I have also seen many people complain that the DC controlled ones sometimes wont fire on a 3.3v signal like they should. I was thinking about using a 40-60A AC controlled SSR, and using the mechanical relay already in place to fire it. Here is a 60A SSR with a heatsink I found for a reasonable price, what are your thoughts on it? I have also seen people mention using a varister on the load side for protection with an induction load like a fridge. Is that something that should be done?
 
That page has lots of warnings about the need for heat sinks and possibly fans. Also, that price seems too cheap for quality, and some comments would give me pause. Indeed, I could never buy a component like that without a full suite of specifications - most importantly the RDS(on) spec that is not mentioned anywhere in the ad...

Cheers!
 
Back
Top