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.
I'd defer to @day_trippr here as he has actual knowledge in this space, but I'm guessing that what you're referring to is the fact that the Sainsmart-style 2-channel relay modules have two separate circuits that can be driven independently to switch the relays. One controls the optoisolator and the second is controlled by the optoisolator and actually drives the relay.

The idea is that optoisolators themselves have relatively low current requirements and therefore can be driven directly off the GPIO pins from an Arduino/ESP. The relay, on the other hand, consumes far more current when being switched on/off as there is a magnetic coil that needs to be driven to move the hardware and complete switching the circuit. For an SSR this isn't necessary (for an Arduino*) as the relay itself contains the optoisolator and doesn't have a power-hungry coil to drive.

There are two problems to be aware of with SSRs, however:

First - the reason for the asterisk above - Arduinos use 5v on the GPIO pins while ESPs use 3.3v. For the Fotek SSRs, the input voltage to switch the SSR is 4-32v DC, with "switch off" voltage being <3.5v. This means that if you drive a Fotek SSR directly off an ESP's GPIO pin, even when "high" the signal to the SSR is below the "off" threshhold. Fixing this isn't difficult -- but effectively involves manually building the same optoisolator-controlled 5v circuit that is on the Sainsmart board.

Second, SSRs by their nature produce a fair bit of heat. You'll want to make sure you have proper cooling available to ensure the SSR doesn't fail -- as well as some kind of backup control mechanism (or risk tolerance), as most SSRs typically fail closed.
@Thorrak thank you very much for this information! Yes, your quote is correct, but you also have provided me with the information I was looking for insofar as the SSR contains the optoisoloation.

I understand that the ESPs use 3.3v, as I have had to workaround this before. I have a few logic level shifters left over from a previous project. While it complicates the design a little more by essentially rebuilding the Sainsmart board, I suppose I could connect the output from your ESP32 pcb to a logic shifter to boost the voltage up to at least 5v for the SSR. What do you think? This is essentially the same as @BrewdyQuah recommendation.

Secondly, I was thinking that the SSR would not generate that much heat, given the 'relatively' small duty cycle of my refrigerator for fermenting lager/ales. Am I incorrect? These will create more heat that the Sainsmart mechanical relays? I have a 30A Auber brewing controller, so I have certainly figured out how hot an SSR (even with a heatsink) can get on a brew day, but the operation for fermentation is different than controlling a much higher power source, right? I have 3D printed your enclosure for this project, and everything fits nicely. But a traditional SSR heatsink will certainly not fit inside, nor work as it should inside the controller.

The fridge I am currently using is a True GDM10, which is rated at 5A for the first load. I suspect this is actually higher since I can see lights dim when it kicks on. Would you recommend using a different relay board instead? Something such as: Grove - SPDT Relay (30A) ?

Thanks again for your help!
 
I also use GDM-10 refrigerator's and was having occasional relay failures. The solution I came up with was using an AC triggered SSR like this and just controlling it via the relay board. Not sure it was necessary, but my enclosure was big enough to handle the SSR with a heat sink, so I used it. I've had no issues since
 
I also use GDM-10 refrigerator's and was having occasional relay failures. The solution I came up with was using an AC triggered SSR like this and just controlling it via the relay board. Not sure it was necessary, but my enclosure was big enough to handle the SSR with a heat sink, so I used it. I've had no issues since
@RocketBrewer Thanks for your input! Your fermentation setup looks sweet! Do you happen to have a schematic or image of this solution? I'm kind of a visual person haha. Thanks!
 
In the interest of cleaning off my desk - both physical and proverbial - I'm going to try to release/clear out as much stuff as I can over the next few weeks leading into year end. The first of these is currently live, and may be of interest to some of you -- I've got 13x 9x BrewPi-ESP PCBs available for free on the "For Sale" forum. Link is here.

I previously had these available for anyone who didn't want to buy/(fully) solder their own boards, but have been moving away from the design in favor of the ESP32 design. Although these are a legacy design originally intended for an ESP8266, I plan to maintain support for these in future firmware releases when powered by a Lolin ESP32-S2 Mini.

If you're interested (or have friends/a homebrew club/whatever) that you think might be interested, they're free - just cover shipping!

This includes ONLY the "base" PCB and "sensor" PCB. This does NOT include things like the relay board, power supply, 3D printed case, etc.
 
@RocketBrewer Thanks for your input! Your fermentation setup looks sweet! Do you happen to have a schematic or image of this solution? I'm kind of a visual person haha. Thanks!
Quick disclaimer.... I am not an electrician, don't take this as advice, just explaining what I did. If you're not familiar with electrical wiring, I recommend enlisting someone who is! Also assuming that you are in the USA with 120v single phase AC power.


Sorry, I don't have a diagram, but wiring the AC controlled SSR was fairly simple. Instead of wiring the AC "hot" lead directly from the cooling relay to the fridge, It becomes the "trigger" for the SSR and got connected to terminal 3 on the SSR. Terminal 4 got an AC "neutral" (white) connection. Terminal 2 got a AC "hot" supply connection. And terminal 1 is now the switched AC "hot" going to the fridge.


The biggest problem that I’ve had with using the GDM-10 is these fridges cool so fast, it can cause wild overshooting and cycling between heating and cooling, especially the closer the setting is to the room temperature. Through a lot of trial and error, I’ve managed to reduce that quite a bit with the controller settings. If you have issues, just PM me and I can try to help identify the changes I’ve made
 
For today's release, I've pushed out an update to my hardware repo on GitHub. Mostly minor stuff, but a few things of note:
  • Added build information for the PCBs I have available for free on the "For Sale" forum
  • Added a new lid design for LoLin D32 Pro builds which allows a LoLin D32 v1.1.0 LCD screen to be used instead
  • Renamed the "All-in-One" PCB to "One Size Fits Most" to more accurately represent what it actually is
  • Released some PCB designs for breaking out RJ-11 and RJ-45 jacks
That repo definitely needs some additional work - we'll see how the next few weeks fare!
 
Last edited:
Alpha Release Announcement - BrewPi-ESP v16-alpha2

Today is a fun one. I've just released BrewPi-ESP v16-alpha2 which adds expanded support for @inkbird 's IBS-TH1 Plus and IBS-TH2 Plus temperature sensors. The "plus" line of devices have two sensors -- an onboard "internal" sensor and a temperature probe. Previously, BrewPi-ESP would only use the external temperature probe -- now, you can use both.

Why is this awesome? A single IBS-TH2 Plus can simultaneously serve as both the beer and fridge sensor in a "solder free" build. Stick the IBS-TH1 Plus itself inside your fridge to serve as the fridge sensor, and use the probe in a thermowell as your beer sensor. No Tilt? No problem.


Some notes on how this was implemented

BrewPi-ESP assumes that every Bluetooth device provides a single sensor, and tracks it via the device's radio's unique MAC address. In order to support a single device having multiple sensors, I am fudging the MAC address for the external sensor. In the on-device web interface the UI will detect that this is happening and correct the MAC address it displays but Fermentrack.net does not yet have this built in. For now, if you see two devices with their first octet one apart (e.g. 45:00:00:00:00:01 and 46:00:00:00:00:01, or 49:00:00:00:00:01 and 4a:00:00:00:00:01) the one with the higher first octet (46: and 4a: in my examples) is the external probe.

Why the external sensor? The internal sensor is always present, but since the external sensor is connected with a headphone cable it can become disconnected. If this happens, the device will continue to report a temperature on its actual MAC address. In alpha1 this could lead to a scenario where the ambient temp would be reported as the probe temperature, leading to improper heating/cooling.


Oh, and one more thing

This alpha also adds German, Spanish, Portuguese, and Dutch language support to the on-device web interface. More languages to come - if you have requests, let me know!
 
Managed to something finished up today that I've been working on since ~January. There is now support for eSPI screen types based on ESP32 controllers.

eSPI Controller.jpg


Support for these is particularly nice for solder-free builds as they are commonly sold as a prepackaged unit. With these, a solder-free build can also become a screwdriver-free one!

Available now on BrewFlasher.
 
Managed to something finished up today that I've been working on since ~January. There is now support for eSPI screen types based on ESP32 controllers.

View attachment 864493

Support for these is particularly nice for solder-free builds as they are commonly sold as a prepackaged unit. With these, a solder-free build can also become a screwdriver-free one!

Available now on BrewFlasher.
@Thorrak , all of your hard work for us Brewers, is really appreciated, even if you do not hear this every day.
Your Fermentrack have been working in my Brewery, along with Tiltbridge, for years now, with great success!
Thanks a Million Toasts!
 
@Thorrak
With all of your "free time", is it easy for us non-programmers, to edit our Dashboard from saying "Beer Profile" to Wine or Meade, Profile ? Also applies to Wine Constant.... etc.
No biggy, just mentally strange using Fermentrack on a Wine, that says "Beer ......"
Edit.....
Sorry, wrong Forum here. Can not figure out how to "Edit" and delete this post here.
 
Last edited:
@Thorrak , all of your hard work for us Brewers, is really appreciated, even if you do not hear this every day.
Your Fermentrack have been working in my Brewery, along with Tiltbridge, for years now, with great success!
Thanks a Million Toasts!
Thanks! This is a really fun project to work on - especially as I find new things to try to integrate it with. I’m looking forward to getting v16 finished up so I can focus on finishing FT2 gravity support so I can come back and work on building official glycol support now that I (as of last week) finally have a (working, leak-free) glycol chiller. Lots of fun stuff to come!

@Thorrak
With all of your "free time", is it easy for us non-programmers, to edit our Dashboard from saying "Beer Profile" to Wine or Meade, Profile ? Also applies to Wine Constant.... etc.
No biggy, just mentally strange using Fermentrack on a Wine, that says "Beer ......"
Edit.....
Sorry, wrong Forum here. Can not figure out how to "Edit" and delete this post here.

Do you mean for Fermentrack, or the on-device dashboard?

If Fermentrack, maybe - but you would need to be at least slightly familiar with Docker (and would absolutely want to back up everything first).

I’m on my phone so I can’t confirm, but I think this is the file you would want to edit.

To edit it, however, you would need to download the source from GitHub, edit the file, and then build the docker image yourself. Once done, if you edit the docker compose file in your fermentrack tools directory to point to the image you built you should be golden.

One thing to note - It has been a year since I last built Fermentrack, so you also need to be aware that things may have broken in the interim that would need to be rebuilt to get it to build properly. Hopefully not, but that pandora’s box is part of why I switched to using docker in the first place. (that said, if you get to this point, I’m happy to help with this part.)


If what you want to change is the dashboard on the device, that is a very different process/set of tools, but I’m guessing that is not what you meant. If that is what you meant, wait until I have the v16 beta out and the change will be much more straightforward.
 
Thanks! This is a really fun project to work on - especially as I find new things to try to integrate it with. I’m looking forward to getting v16 finished up so I can focus on finishing FT2 gravity support so I can come back and work on building official glycol support now that I (as of last week) finally have a (working, leak-free) glycol chiller. Lots of fun stuff to come!



Do you mean for Fermentrack, or the on-device dashboard?

If Fermentrack, maybe - but you would need to be at least slightly familiar with Docker (and would absolutely want to back up everything first).

I’m on my phone so I can’t confirm, but I think this is the file you would want to edit.

To edit it, however, you would need to download the source from GitHub, edit the file, and then build the docker image yourself. Once done, if you edit the docker compose file in your fermentrack tools directory to point to the image you built you should be golden.

One thing to note - It has been a year since I last built Fermentrack, so you also need to be aware that things may have broken in the interim that would need to be rebuilt to get it to build properly. Hopefully not, but that pandora’s box is part of why I switched to using docker in the first place. (that said, if you get to this point, I’m happy to help with this part.)


If what you want to change is the dashboard on the device, that is a very different process/set of tools, but I’m guessing that is not what you meant. If that is what you meant, wait until I have the v16 beta out and the change will be much more straightforward.
I just wanted to change a few Fields, from saying "Beer Profile....." to read Wine Profile or Meade Profile.
I am not touching the Script. The last programming I did, was back in 1976-1982, with COBOL, RPG, FORTRAN, and BASIC +
I don't want to blow up the Compiler and smoke my beer with 100 degree heat stuck ON.....
I can live with the wrong nomenclature!
THANKS!
 
LOL
I would, but its on my TV screen up on the wall in the brewery and that would look strange....
What do I want for FREE?
Oh no. Oh no no no.

Please don’t tell me what you need is a customizable fermentation status dashboard on your TV. That sounds like something I would build, and I have enough projects at the moment.
 
Its as simple as picking - A, B, or C, what you want to ferment! And Viola, it is on the screen!
Just like McDonalds ordering kiosks.. LMAO

KEG SCREEN ! TO THE RESCUE!!!! LMFAO, again!!!
Your the BEST
 
Its as simple as picking - A, B, or C, what you want to ferment! And Viola, it is on the screen!
Just like McDonalds ordering kiosks.. LMAO

KEG SCREEN ! TO THE RESCUE!!!! LMFAO, again!!!
Your the BEST
Ehhhhh.... I don't know that KegScreen will solve it or ever be released but KegScreen TV + Fermentrack could be an interesting combination.
 
I've got a bunch of new things today to play with! First off, some new hardware that I'm really excited about:

1734709437835.png


This is a true all-in-one "main" PCB design which combines the DC power supply and 2-channel relay board with the breakouts necessary to build a BrewPi-ESP. This design dramatically reduces the wiring required and helps ensure a stable source of power.

I've got a full write-up with assembly instructions in this blog post.


In addition to this all-in-one board, a few other releases which are a bit more niche, but could be interesting:
This hardware design has been in the works for the past two years -- I'm glad to finally get this finished up, and out there into the world!
 
Just thought i'd poke my head back in this thread, good to see BrewPi still lives on so many years after making that initial thread.
I found an extra ESP8266 not too long ago i think i may jump back in and replace my Inkbird because, why not....

I can go searching but figured i'd ask here first, are there good 3d printable enclosures for a Pi/ESP8266 setup now adays? Figure i can get the best of both hobbies ...
 
Just thought i'd poke my head back in this thread, good to see BrewPi still lives on so many years after making that initial thread.
I found an extra ESP8266 not too long ago i think i may jump back in and replace my Inkbird because, why not....

I can go searching but figured i'd ask here first, are there good 3d printable enclosures for a Pi/ESP8266 setup now adays? Figure i can get the best of both hobbies ...
My designs are all over here, but they're targeted towards my PCBs' screw hole footprint. That said, if you're interested in a PCB, I've got a stack available for free at the moment... ;)
 
FuzzeWuzze is in the house! :rock:
Been awhile, hope all is well with you and yours!

Cheers!
Thanks yea doing well, I'm hoping to get into more DIY brewing things again in 2025, what that means i'm not sure yet.

Unrelated question to this thread necessarily but i figured it would be a good place to start, what is the current situation with DIY hydrometers?
Is everyone still just building those DIY Ispindels based in the PET tubes? I've looked all over for mine and cant find it, so if i cant find it in the next few days i may have to remake something to put GravityMon on, as i think it seems to be the best to integrate with Fermentrack now?

I'm worried in one of my garage cleaning frenzies i may have thrown my old one out, hopefully not.
 
Quick disclaimer.... I am not an electrician, don't take this as advice, just explaining what I did. If you're not familiar with electrical wiring, I recommend enlisting someone who is! Also assuming that you are in the USA with 120v single phase AC power.


Sorry, I don't have a diagram, but wiring the AC controlled SSR was fairly simple. Instead of wiring the AC "hot" lead directly from the cooling relay to the fridge, It becomes the "trigger" for the SSR and got connected to terminal 3 on the SSR. Terminal 4 got an AC "neutral" (white) connection. Terminal 2 got a AC "hot" supply connection. And terminal 1 is now the switched AC "hot" going to the fridge.


The biggest problem that I’ve had with using the GDM-10 is these fridges cool so fast, it can cause wild overshooting and cycling between heating and cooling, especially the closer the setting is to the room temperature. Through a lot of trial and error, I’ve managed to reduce that quite a bit with the controller settings. If you have issues, just PM me and I can try to help identify the changes I’ve made
Thanks for your input! I am pretty familiar with electrical wiring and my father is also a licensed electrician...So will definitely make sure all wiring/terimal inputs and outputs are correct. I will look at some of the SSR options available and make a choice. Seems like a lot of the reviews of the most popular ones on Amazon have photos of melted/burned units. Obviously from different applications, but this is certainly something I want to avoid.

I can second your point on the GDM cooling capabilities. Usually my IPA fermentations look like a see-saw between the fridge cooling to temp, and the heater pad bringing the temp back up a half a degree or so to match the set temperature. Once I purchase the SSR and wire things up, I may PM you to see what kinds of steps you took to remedy your issues. Thanks!
 
I will look at some of the SSR options available and make a choice. Seems like a lot of the reviews of the most popular ones on Amazon have photos of melted/burned units. Obviously from different applications, but this is certainly something I want to avoid.
From what I've gathered, the biggest problem with these Chinese knock-off SSR's is that the internal components aren't rated for the amperage that they are putting on the SSR and when people use them near their "rated" capacity, they melt down. These fridges don't draw anywhere near 40A and they're not rapidly switching like some applications, so I figure it's not a huge chance of melt down
 
New hardware day! Got my test boards in, as well as the test batch of the “all-in-one” design based around the IRM-10-5.

IMG_8691.jpeg

The “AIO” design is interesting and all, but honestly I’m just glad to finally have an easy way to test BrewPi-ESP firmware on actual hardware. The checklist for a new release is getting long.

Image 12-28-24 at 8.45 AM.jpeg
 
Back
Top