• Please visit and share your knowledge at our sister communities:
  • If you have not, please join our official Homebrewing Facebook Group!

    Homebrewing Facebook Group

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

Homebrew Talk

Help Support Homebrew Talk:

This site may earn a commission from merchant affiliate links, including eBay, Amazon, and others.
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!
 
That was all Davespeak for they definitely get hot when switching (like in a PWM,) they can get a little hot when turned on just from internal resistance, and it's all about the specs.

I also agree that all SSRs are not created equal. Chinese parts are a "you get what you pay for" thing in most cases. THAT said, I have used this one from our friends at Inkbird, and have been happy. I was using it for a PWM application, and while it got warm and needed the heatskink, I didn't melt it. They don't provide specs any more than the rest of the Chinese sellers, but they have been good to this community and seem to source a good product. You could always email Inkbird for the specs, I have in the past and someone has always answered.

For a little more surety on the cooling, make sure to use some thermal paste between the heatskink and the plate to which it mounts.
 
I just pushed v15-beta5 to BrewFlasher. This release adds the following vs. Beta 4:
  • Automatic reset if the Bluetooth scanner stops responding
  • Converts from active to passive scanning mode (see note below)
  • Adds ability to configure minimum delays for heating/cooling
A major bug was discovered in Beta 4 where due to issues with Espressif's Bluetooth stack the Bluetooth scanner could stop detecting devices. If Inkbird or Tilt sensors were used as a beer/fridge sensor, this could lead to temperature control ceasing to function. Beta 5 adds a check for this condition which will then reset the controller -- but this appears to be triggered about once every 3-4 hours on average (which is far more frequently than I would like).

To prevent this, I have temporarily switched from "active" to "passive" scanning mode which should reduce the frequency of this occurring -- but will also prevent the use of Inkbird sensors with this version of the firmware. This will remain necessary until v3.x of the Arduino framework is released, incorporating the library changes from v5.x of esp-idf -- assuming that the chatter in the esp-idf issues are correct, and v5.x actually resolves the problem. I am not expecting this to be released for several months, however, so Inkbird support appears to now be a v16+ feature.
 
I just pushed v15-beta6 to BrewFlasher. This release may fix a bug that might be present in beta 5 which prevents heating/cooling from shutting off at the designated time. The problem with the bug is that it shouldn't exist, and therefore may be hardware-related rather than software -- but this change has no effect at worst, and makes things a bit more explicit at best, and thus makes sense to be included in v15.
 
v15 - ESP32, Bluetooth, and HTTP Interface Support

I just officially released v15 of the BrewPi-ESP firmware. For those who have read my beta announcements, you know what this contains, but for those who have not followed this firmware contains a number of significant changes and enhancements, as compared to the previous wide release (v11):
  • File system initialization enhancements
  • Substantial refactoring and upgrades (e.g. JSON handling)
  • Unified handling of Serial and WiFi output
  • Add ability to add human-readable names to probes (Thanks @speshak)
  • Swap SPIFFS for LittleFS for ESP8266 Builds
  • Fix message displayed with temperature control is set to “OFF” (rather than IDLE)
  • Added WiFi information command to get signal strength
  • Add support for ESP32 and ESP32-S2 modules
  • Add Bluetooth scanning support
  • Add support for using Tilt Hydrometers as a temperature sensor
  • Add support for using TPLink Kasa WiFi switches
  • Add mandatory confirmation to firmware to prevent accidental EEPROM resets (“network scanner” bug)
  • Add support for TFT LCD Displays on ESP32
  • Add support for "extended settings" not traditionally part of the BrewPi firmware
  • Added a new HTTP interface for quick sensor assignment & settings updates
  • Adds ability to configure minimum delays for heating/cooling

Note about future support

v15 will likely be the final official release of this firmware for the ESP8266 microcontroller. Although there may be future releases, it is highly recommended that the ESP32 be used for new builds, and existing users that want to use new, upcoming features should explore migrating to the ESP32-S2 which - in builds using Lolin's D1 Mini - has a pin-equivalent board available that may be a direct, drop-in replacement. For discussion as to why, please see this post.

Note about the project name

As a result of the migration away from the ESP8266, the project is also going to undergo a name change from BrewPi-ESP8266 to BrewPi-ESP. This shouldn't really matter, but if you ever see me refer to "BrewPi-ESP", thats the same thing as "BrewPi-ESP8266".


As always, feedback, bug reports, and feature requests are always welcome - both here and on GitHub.
 
If anyone is interested, I've recently been changing out some equipment around here, and happen to have an extra (older) BrewPi-ESP8266 build available for free* over here. Shoot me a PM if interested!
 
I'm having an odd issue where BrewPi isn't kicking on cooling, but goes straight to idling. I have them it up properly, but this is the first time actually using them to ferment a beer. I say properly, I tested heating and cooling using a light, and the light turned on appropriately when heating and cooling was called for.

I brewed a beer today and racked out at 59F. I hooked my glycol lines up the coils in the fermenter, and plugged in the light to heat to 66F. To my surprise, it heated up to 76F, and then won't cool. If I change the temp to 82F, it'll turn on heating quickly, but if I then turn the temp back to 66F, I'll get a message about "time left to heat", then when that timer clicks off, it'll go straight back to idling.

It's not an issue with the glycol chiller. The setup is a reservoir in a mini-fridge with two pumps. The other BrewPi doesn't appear to have an issue cooling using the glycol, and when I plug the pump directly in to power, it turns on and starts working.

Any help would be greatly appreciated.
 
I'm having an odd issue where BrewPi isn't kicking on cooling, but goes straight to idling. I have them it up properly, but this is the first time actually using them to ferment a beer. I say properly, I tested heating and cooling using a light, and the light turned on appropriately when heating and cooling was called for.

I brewed a beer today and racked out at 59F. I hooked my glycol lines up the coils in the fermenter, and plugged in the light to heat to 66F. To my surprise, it heated up to 76F, and then won't cool. If I change the temp to 82F, it'll turn on heating quickly, but if I then turn the temp back to 66F, I'll get a message about "time left to heat", then when that timer clicks off, it'll go straight back to idling.

It's not an issue with the glycol chiller. The setup is a reservoir in a mini-fridge with two pumps. The other BrewPi doesn't appear to have an issue cooling using the glycol, and when I plug the pump directly in to power, it turns on and starts working.

Any help would be greatly appreciated.
Since you mention glycol, just for the avoidance of all doubt - how do you have your fridge sensor hooked up? (And to where?)
 
Assume you've looked at the post just above number 3763 that mentions possible bug re cooling heating?
That was an interesting one. I wish I had taken better notes as to what exactly I saw in the logic — here’s the pull request. I just remember seeing something weird happen in testing and tracing it back to the change that became this PR. Very weird all around.
 
Since you mention glycol, just for the avoidance of all doubt - how do you have your fridge sensor hooked up? (And to where?)
Fair question. The mini-fridge is cooled via an Inkbird ITC-308, with the probe placed in the glycol/water mix, and the fridge power cord hooked up to the cooling side of the Inkbird. Verified temperature using a separate thermometer, so it's cooling properly, and the pumps run. Based on this build thread: Metzen's Mini Fridge Glycol Chiller Conversion
 
Fair question. The mini-fridge is cooled via an Inkbird ITC-308, with the probe placed in the glycol/water mix, and the fridge power cord hooked up to the cooling side of the Inkbird. Verified temperature using a separate thermometer, so it's cooling properly, and the pumps run. Based on this build thread: Metzen's Mini Fridge Glycol Chiller Conversion
HUH! That's an interesting thread -- I'm hoping to be in the market for a Glycol system at some point -- I'll have to take a look to see if that might work!

How are the probes hooked up to your BrewPi? Do you have both a beer and a fridge probe? Where is the fridge probe?
 
I just upgraded my build to v15. It appeared to flash ok and boots up but when it boots the letters come across the screen slowly like an old typewriter. I can log into the web interface but it is extremely slow. Pages take 2-3 min to open. Under about controller it show the following screen. I am using safari on Mac.

Thanks for all the hard work. I love building these!
 

Attachments

  • Screenshot 2023-05-08 at 6.01.21 PM.png
    Screenshot 2023-05-08 at 6.01.21 PM.png
    104.4 KB
I just upgraded my build to v15. It appeared to flash ok and boots up but when it boots the letters come across the screen slowly like an old typewriter. I can log into the web interface but it is extremely slow. Pages take 2-3 min to open. Under about controller it show the following screen. I am using safari on Mac.

Thanks for all the hard work. I love building these!
What board?
 
I just upgraded my build to v15. It appeared to flash ok and boots up but when it boots the letters come across the screen slowly like an old typewriter. I can log into the web interface but it is extremely slow. Pages take 2-3 min to open. Under about controller it show the following screen. I am using safari on Mac.

Thanks for all the hard work. I love building these!

One of mine does the same thing, it's really wierd. One of mine loads super quick and the other is extremely slow. They are both ESP32-S2 mini builds . They were flashed a couple weeks apart (I believe the quick one was beta 4 and the other was beta 5 version, but I won't swear to it. I thought one processor was just slow for some reason. Same difference when I direct access them via the wifi web page, the latest one is WAY slower to load. As always, Thanks for all you do @Thorrak !
 
Since I am having the slowness issue I decided the flash the other 2 esp32-s2 boards I had (i bought a 3 pack) . Should these be able to flash right out of the package witohut installing headers and putting in the PCB? I try to flash the 2 new ones with brewflasher and cant get past 1200 baud touch, which says ..done and then it trys to connect and flash but says cant flash. Maybe the other 2 boards are bad ? Not sure how to check (I don't see a LED on these boards, not even sure if they have one). Now I cant even flash the original esp32-s2 which was flashing fine a few days ago. I tried the reset method with the 2 side buttons and still wont flash.

Thorrak, I am trying to clean out all the old controller boards I have and I remember you saying there is a problem with the Lolin D1 mini v 4.0. Is this still the case. If they are of no use I will get rid of them.

Thanks again! I am still learning and appreciate the help and hard work you put in.
 
Last edited:
HUH! That's an interesting thread -- I'm hoping to be in the market for a Glycol system at some point -- I'll have to take a look to see if that might work!

How are the probes hooked up to your BrewPi? Do you have both a beer and a fridge probe? Where is the fridge probe?
So an update on this. Not surprisingly, the issue was that I'm bad at wiring. I had the NO and COM wires switched in the relay. Takeaway is don't try to troubleshoot things when you're frustrated. I swear I looked at it a million times when I couldn't get the cooling to kick on. Didn't brew for a couple of weeks, decided to take a look, and saw it right away.

But strong recommend on that mini-fridge glycol project. It works great! I probably need to run a fan over the compressor, but I can keep 2 lagers going at the same time, or cold crash 1 beer and keep another at ale temps.
 
Since I am having the slowness issue I decided the flash the other 2 esp32-s2 boards I had (i bought a 3 pack) . Should these be able to flash right out of the package witohut installing headers and putting in the PCB? I try to flash the 2 new ones with brewflasher and cant get past 1200 baud touch, which says ..done and then it trys to connect and flash but says cant flash.

I swear that I wrote documentation on this, but of course I'm struggling to find it now. For the S2 boards, the “1200 bps hack” is a function of the Arduino boot loader — not a function of the device itself. As a result, for the first flash of a “fresh out of the box” controller, you will need to hold down the “boot”, “flash”, or “0” button as you plug the device in to the computer being used to flash it to force it into the mode where it is flashable.

Try that and let me know if you still have any issues!

Thorrak, I am trying to clean out all the old controller boards I have and I remember you saying there is a problem with the Lolin D1 mini v 4.0. Is this still the case. If they are of no use I will get rid of them.

Thanks again! I am still learning and appreciate the help and hard work you put in.

Great question. I don’t test against the v4.0 boards as a result of the issues we were experiencing, but I’m assuming there hasn’t been movement towards a fix. I’ll try to test it tonight and see if it can flash now.
 
Nope can't any of the 3 esp32-s2 to flash. Maybe I messed them up trying so many times. The one that is in my current controller build still works and brings up data on the LCD screen it is just very slow.
 

Latest posts

Back
Top