• 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.
One last question: I got everything working and so I got ambitious and installed a physical i2c LCD screen. The screen works and displays the correct information, but it does not update. It displays whatever information was on there at startup. Any idea why this might be the case?
 
One last question: I got everything working and so I got ambitious and installed a physical i2c LCD screen. The screen works and displays the correct information, but it does not update. It displays whatever information was on there at startup. Any idea why this might be the case?
Nope. Never seen that before. Am I correct to assume that you are properly level-shifting the I2C pins?
 
Nope. Never seen that before. Am I correct to assume that you are properly level-shifting the I2C pins?

Hmmm I haven't exercised my EE degree in a while. Like a pull-up/down resistor? If so, no. I have the LCD hooked-up like this pic:

Edit: This is not correct, as I noted below, I am mixing 3.3V and 5V. I will grab a level shifter.
 

Attachments

  • 1657494874651.png
    1657494874651.png
    559.9 KB
Last edited:
Yesterday I released BrewFlasher 1.3.0 for Windows and Mac OS on GitHub. This release adds support for the ESP32-S2 chipset and the latest esptool.

With the release of BrewFlasher support for this chipset, I also posted v14 BrewPi firmware for the ESP32-S2 to GitHub and BrewFlasher. My intent is for this firmware to allow the LoLin S2 Mini to serve as a drop-in, pin-compatible replacement for existing ESP8266 BrewPi builds. The WiFi version of this firmware integrates the Kasa WiFi switch support from the ESP32 firmware, in addition to getting the other benefits of the more modern platform.

For users that prefer serial (wired) connections between their Fermentrack/BrewPi-Remix builds and their controllers, there is a copy of the serial firmware for the ESP32-S2 as well, though this adds no additional features/support beyond those available on the ESP8266 (D1 Mini).
 
Ahhh thought more about it. No. I have the LCD connected to 5V Vin and the I2C pins are getting 3.3V signal. Is that what you mean?

Yep, exactly. You need a level shifter to get (reliable) use of the I2C backpacks. There are bidirectional level shifters available that can easily provide this -- my PCB designs either integrate one of these "backpack" boards, or - in the case of the SMD design - integrate the hardware on the PCB itself.
 
Since brewpi was the first project to get me into small electronics I thought it would be fun to come back to and revamp my builds. So I’ve been working on a custom pcb that could make making a brewpi pretty easy for some people. It’s got a 5v power supply. Extra neutral spots to clean up wiring. And is opto isolated. I’m thinking I’ll add a level shifter for the display cause I didn’t think about it cause my old one didn’t have it and works okay but I suppose it’s asking for trouble. and I think I’ll use the s2 mini instead since you added that support. Making a 3D printed case for it all. Any other things that would be helpful on a pcb or any glaring problems?
 

Attachments

  • 80E19580-69FF-41FB-B630-94B48F8C687C.jpeg
    80E19580-69FF-41FB-B630-94B48F8C687C.jpeg
    1.3 MB
Since brewpi was the first project to get me into small electronics I thought it would be fun to come back to and revamp my builds. So I’ve been working on a custom pcb that could make making a brewpi pretty easy for some people. It’s got a 5v power supply. Extra neutral spots to clean up wiring. And is opto isolated. I’m thinking I’ll add a level shifter for the display cause I didn’t think about it cause my old one didn’t have it and works okay but I suppose it’s asking for trouble. and I think I’ll use the s2 mini instead since you added that support. Making a 3D printed case for it all. Any other things that would be helpful on a pcb or any glaring problems?
You and I had a similar idea, I think. ;) I haven’t finished/posted my design for this yet, but the two things I added - both for circuit protection - were fuses on the AC lines and a varistor for the same. I also am using a 2A supply rather than 1A, but my design targets the ESP32.

I strongly recommend targeting the S2 over the ESP8266, but of course from a PCB perspective the two devices are pin-compatible, so there’s nothing to “target” that would change the design.

At some point I may make use of the extra row of pins to add TFT support to the S2, but at that point you might as well go to the full ESP32
 
You and I had a similar idea, I think. ;) I haven’t finished/posted my design for this yet, but the two things I added - both for circuit protection - were fuses on the AC lines and a varistor for the same. I also am using a 2A supply rather than 1A, but my design targets the ESP32.

I strongly recommend targeting the S2 over the ESP8266, but of course from a PCB perspective the two devices are pin-compatible, so there’s nothing to “target” that would change the design.

At some point I may make use of the extra row of pins to add TFT support to the S2, but at that point you might as well go to the full ESP32
Hahaha awesome great minds think alike. Yeah I’ve been using the s2 mini in tons of projects I like them a lot. I would love to collaborate on this i have used the s2 in other pcbs I had to draw a custom component on easyeda. Once I did that they have been easy to add to pcbs. I just tweaked my design and added logic level shifter to the circuit for the display. I figured I might as well add it onto my pcb since only two channels need shifted I have the commercial ones but those take up space would be another component to buy and all have four channels lol. Plus it’s just a couple resistors and mofset. Here’s the sketch so far. Also I purchased some of these displays to play with OLED displays based on the SSD1306. Im wondering what the feezibility of adding support for these would be as they seem pretty cool.
 

Attachments

  • 4B7186D4-81D0-4C4A-AE41-8A3E8D575948.jpeg
    4B7186D4-81D0-4C4A-AE41-8A3E8D575948.jpeg
    4.5 MB
Last edited:
I gave up on the ESP8266 controller (Lolin D1 mini V4.0) given the ver 4 problemThorrak mentioned. I bought a ESP32-S2 and set it up no problem. Only difference I notice is with pin configuration it does not prompt for heat pin and cooling pin like the esp8266 did. I have a choice of Pin 5, 7or 11 for heat and cool. Does it matter which I use? Here are screen shots of how I have it set up. The heat and cool relays are triggered when I test it, just wondering if maybe I had a bad solder or something since pin setup looked different than the ESP8266. Thanks
 

Attachments

  • Screen Shot 2022-07-26 at 8.37.50 PM.png
    Screen Shot 2022-07-26 at 8.37.50 PM.png
    291.2 KB
  • Screen Shot 2022-07-26 at 8.38.07 PM.png
    Screen Shot 2022-07-26 at 8.38.07 PM.png
    242.5 KB
Last edited:
I gave up on the ESP8266 controller (Lolin D1 mini V4.0) given the ver 4 problemThorrak mentioned. I bought a ESP32-S2 and set it up no problem. Only difference I notice is with pin configuration it does not prompt for heat pin and cooling pin like the esp8266 did. I have a choice of Pin 5, 7or 11 for heat and cool. Does it matter which I use? Here are screen shots of how I have it set up. The heat and cool relays are triggered when I test it, just wondering if maybe I had a bad solder or something since pin setup looked different than the ESP8266. Thanks
I did the same, just could not get the V4.0 to work. I set the pins on the S2 to #5 for Heat and #7 for Cool and everything functioned as it did with the D1 (only it works now!). Many thanks to Thorrak for creating this solution!
 
I gave up on the ESP8266 controller (Lolin D1 mini V4.0) given the ver 4 problemThorrak mentioned. I bought a ESP32-S2 and set it up no problem. Only difference I notice is with pin configuration it does not prompt for heat pin and cooling pin like the esp8266 did. I have a choice of Pin 5, 7or 11 for heat and cool. Does it matter which I use? Here are screen shots of how I have it set up. The heat and cool relays are triggered when I test it, just wondering if maybe I had a bad solder or something since pin setup looked different than the ESP8266. Thanks
UHH. It's always possible that I, in my brilliance, released the firmware but forgot to add the relevant changes to Fermentrack. Let me poke at it a bit.
 
Well I'm pretty excited, after finding this project a few months ago and lurking and gathering all the materials I'm beginning the build. I ordered the ESP8266-SMD main board from Osh Park and it seems like the supply chain issues have hit the BSS138 MOSFET pretty hard. I managed to pick up a couple of the BSS138LCT-ND's just in case, will these work as an acceptable alternative? (otherwise this seems to be the next closest that's actually in stock on the market place https://www.digikey.com/en/products/detail/onsemi/BSS138K/2410031)

That said, the work put together by this community is incredible, not to mention the ongoing support for this is amazing as well. Thanks to all those who have contributed.
 
Last edited:
I can't find the BSS138LCT-ND anywhere to check specs on it, but my expectation is that you'll probably be fine. You're pushing very little current/voltage through these things, so as long as it's an N-channel mosfet in a SOT23-3 footprint you're likely good to go.
 
AH, then I'm pretty sure that I've used that exact one. I anticipate you'll be fine.
😅awesome and thank you for the help. I've got another round of soldering to do and will get that installed then. I have been finding that process somewhat enjoyable, much more so after I got things dialed in, my first resistor... Was not pretty haha
 
Does anyone have issues with relays failure prematurely? Doesn't seem like I can get 2-3 beers before they fail. Using sainsmart Amazon 5v 2ch.
 
I’ve not had a relay board fail yet - and I have a build that has been controlling my keezer for 4+ years. :(

What is the load you’re switching that is causing them to fail?
 
I’ve not had a relay board fail yet - and I have a build that has been controlling my keezer for 4+ years. :(

What is the load you’re switching that is causing them to fail?
Have a small merchandiser, should be sub 8a max and a smaller merchandiser they both have the same problem.
 
Thorrak,

Any suggestions on adjusting the cooling delay on my Fermentrack setup? I am currently using the V0.11 serial set up as I kept having problems with the Wi-Fi version, I was using a Wemos D1 mini v4, but switched them out to the v3 due to the issues you have mentioned in previous threads.

I see in the packet "TempCrontrol.h" there are parameters for delay setting, but comparing the various version (v0.11, 0.14, 0.14 low delay, etc.) they all appear to have the same settings in this portion of the code (see attached).

As mentioned I am having problems with Wi-Fi stability so I am using serial ports which at least let the program run.

Appreciate any feedback you can provide
 

Attachments

  • TempControl-h.PNG
    TempControl-h.PNG
    29.8 KB
Thorrak,

Any suggestions on adjusting the cooling delay on my Fermentrack setup? I am currently using the V0.11 serial set up as I kept having problems with the Wi-Fi version, I was using a Wemos D1 mini v4, but switched them out to the v3 due to the issues you have mentioned in previous threads.

I see in the packet "TempCrontrol.h" there are parameters for delay setting, but comparing the various version (v0.11, 0.14, 0.14 low delay, etc.) they all appear to have the same settings in this portion of the code (see attached).

As mentioned I am having problems with Wi-Fi stability so I am using serial ports which at least let the program run.

Appreciate any feedback you can provide


By delay, you mean the minimum on/off time? As you noted, those are set at 5 minutes and 3 minutes in order to protect the compressor in a typical setup, and the delay really shouldn't be reduced. There is a "LowDelay" version of the firmware which has lower delay timings, but the intent was really for those who choose to use this with glycol.
 
By delay, you mean the minimum on/off time? As you noted, those are set at 5 minutes and 3 minutes in order to protect the compressor in a typical setup, and the delay really shouldn't be reduced. There is a "LowDelay" version of the firmware which has lower delay timings, but the intent was really for those who choose to use this with glycol.
Thorrak,

Yes the LowDelay is what I referring to, I am running a glycol system. I guess the real question is, can I use that SW version with a serial connection? It is listed as a Wi-Fi set up and so far every time I attempt to use the Wi-Fi version I have connection issues.
 
Talking about setting I saw an option on heating asking if you are you using a heating bulb. I use a fermwrap heater for the heating so would I check that box?
 
Have a small merchandiser, should be sub 8a max and a smaller merchandiser they both have the same problem.
Is the 8 amp the running/continuous rating? What is the surge or locked rotor current spec? It could be you are significantly exceeding the relay rated current long enough the contacts are eroding.
 
Is the 8 amp the running/continuous rating? What is the surge or locked rotor current spec? It could be you are significantly exceeding the relay rated current long enough the contacts are eroding.
This was my best guess for the larger cooler (don't know the locked amps off hand), the whole unit was 8a I believe. But my small unit should be nowhere near the relay max and they both fail the same way. I did find some 5v 30a relays, but they need the full 5v to trigger (3.3v won't).
 
What would be the best way to step up my 3.3v relay signal to 5v? Could this be integrated into future pcbs?
 

Latest posts

Back
Top