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.
Phew, what a thread! Just read through the whole thing in one sitting!


@Thorrak - a few posts back you mentioned a simpler PCB layout, I'd like a controller PCB without any RJ connections, just dupont or screw terminals. I don't need to have a breakout for the sensors as my controller sits on top of the fridge.

Did this ever come through?

No, but I’ll happily pull one together now if you want one. It’s an easy change. Do you want TH or SMD components?

Pshfft! A sidegrade at best! :p

None of the models I know of are without that. The easiest thing would be to put the breakout in the same box with a short CAT5 cable. Or, there's the "drink beer till Eagle makes sense" approach. ;)

Some of us like modern interfaces. ;)

I like your style!

Putting the breakout in the same box, why didn't I think of that? 🤔

I suppose I could dispense with the network cable and just solder short cable runs.

Of course I could just do that to the main board and throw a bit of stripboard in there but I have some pride ...

Also an option, but the advantage to the breakout board is that it makes either moving the sensors or replacing them much easier relative to the main PCB. Still though - it will work!
 
wow, that is above and beyond, thanks very much!

Through hole, my eyesight isnt good enough for surface mount!

Here you go: thorrak/thorrak_hardware

Irony is that the change was pretty quick, it's uploading to DirtyPCBs/OshPark, updating documentation, updating cost estimates, etc. that takes the longest for a new design like this! 🤣
 
You are the man.
Thanks very much for this, I’m in the UK so I’m off to find some more local fabricators.

Does anyone have any recommendations?
 
Thorrak - Actually - i just realised that this may seem incredibly ungrateful of me if you receive any commission from the US PCB manufacturers?

Happy to order from them so you get something back.
 
Thorrak - Actually - i just realised that this may seem incredibly ungrateful of me if you receive any commission from the US PCB manufacturers?

Happy to order from them so you get something back.
You're all good. :) Order from wherever is most convenient to you.

I used to get credit from pcbs.io, but since they became unresponsive I stopped referring people there. Oshpark doesn't provide credit, but is very quick (and produces pretty purple PCBs). I do (supposedly) get some credit at DirtyPCBs, but - while they are cheap - they are slow, and lower quality than Osh.
 
Thank you - I decided to go with Oshpark as I like the purple :)

Hopefully the current situation doesn't delay international shipping too much.
 
I think this has been asked before but I can't find an answer - has anyone modified the legacy firmware to allow for the use of one of those mini OLED displays?

I have a few in my parts box and it would be cool to have them display minimal information. Some of my controllers will only be used in fridge constant mode for conditioning chambers/kegerators etc. so no need for the full interface.

I had a look at the code myself but my C is too rusty ...
 
has anyone modified the legacy firmware to allow for the use of one of those mini OLED displays
Not that I am aware of. The firmware is pretty packed right now - I've said this before but I had to go through and remove a few characters from strings here and there to get the I2C to where it would not crash while running. I would be surprised if it would fit since some of the newer libs are not really optimized for size. That said if you want to open an issue on the GitHub, I'll try it when I get a little time.
 
@Thorrak thanks, first of all, for all your work on this!

I'm writing because I'm running into a continued issue with my ESP8266-based controllers disconnecting from the web interface.

I ran a fresh setup of Fermentrack on a Pi Zero W last week and flashed two controllers built on your PCB's with the latest version of the ESP8266 Wifi firmware. I have one controller running my fermentation chamber and one running my draft system.

I went out of town for the weekend and came home to find that both LCD's were showing no temps read for either controller. Both controllers show connected to my router and can be pinged on the network with the IP address shown and the same IP shows up when the controller is power-cycled. Both are set up with static IP addresses from the router.

Both controllers pass the Device Status, DNS Lookup and Connection Tests on the debug screen but fail the Controller Response Test. Based on the time Idle displayed on the respective LCD's screens both appear to have disconnected from the RPi around the same time.

Any suggestions?
 
I went out of town for the weekend and came home to find that both LCD's were showing no temps read for either controller. Both controllers show connected to my router and can be pinged on the network with the IP address shown and the same IP shows up when the controller is power-cycled. Both are set up with static IP addresses from the router.

When you say "Both LCD's" - Do you mean the actual LCD on the controller itself, or the "LCD panel" in the web interface? If the web interface, do the LCD screens on the controllers read temps?
 
When you say "Both LCD's" - Do you mean the actual LCD on the controller itself, or the "LCD panel" in the web interface? If the web interface, do the LCD screens on the controllers read temps?
Sorry about that, the physical LCD screens on both controllers. Interestingly, if I set one controller to "Beer Constant" the physical LCD screen updates to display the Mode and temperature setpoints but still no current temperature readings. That leads me to figure it's a hardware issue with the controller or the sensor breakout board but the fact that the issue arose with both controllers simultaneously makes me think it's a software issue. Additionally, the fermentation controller in particular has been up and running for a year or more without issue.
 
Sorry about that, the physical LCD screens on both controllers. Interestingly, if I set one controller to "Beer Constant" the physical LCD screen updates to display the Mode and temperature setpoints but still no current temperature readings. That leads me to figure it's a hardware issue with the controller or the sensor breakout board but the fact that the issue arose with both controllers simultaneously makes me think it's a software issue. Additionally, the fermentation controller in particular has been up and running for a year or more without issue.

If there are no temps on the physical LCD screens then it's definitely something on the hardware side, though it's hard to say what it might exactly be. Let's start with the basics --

Have you recently changed any of the hardware driving/connected to each controller? (New D1, new temp sensors, new cable, etc.)
Did you swap the temperature breakout boards between the controllers?
Have you recently upgraded the controller's firmware?
In Fermentrack, when you go to the page to assign your controller's sensors, do all of the sensors show up? Are they all still properly assigned?
 
Have you recently changed any of the hardware driving/connected to each controller? (New D1, new temp sensors, new cable, etc.)
Did you swap the temperature breakout boards between the controllers?
Have you recently upgraded the controller's firmware?
In Fermentrack, when you go to the page to assign your controller's sensors, do all of the sensors show up? Are they all still properly assigned?

- The fermentation chamber controller is all the same with no changes. The draft system controller is a brand new build that was previously working until the weekend (about 5 days of up time before failure).

- The temperature breakout boards were not switched between controllers.

- Both controllers were flashed with the latest firmware last week (0.11?) but no software changes have been made since then.

- In checking the sensor assignment, the sensors all display, but none are assigned. Interestingly neither are the heating and cooling pins. I'll assign those and give it a try but any idea what would cause two physically separate controllers to all drop pin assignment simultaneously? What about the Controller Response Test failure?

Anyway, let me reassign pins and I'll keep you posted.
 
- Both controllers were flashed with the latest firmware last week (0.11?) but no software changes have been made since then.

- In checking the sensor assignment, the sensors all display, but none are assigned. Interestingly neither are the heating and cooling pins. I'll assign those and give it a try but any idea what would cause two physically separate controllers to all drop pin assignment simultaneously? What about the Controller Response Test failure?

Anyway, let me reassign pins and I'll keep you posted.

The controller response test often fails due to a limitation in the implementation of the connection management in the firmware. I need to add a note about it. The issue you have isn't related to the connection though, so you can ignore it.

It is strange that both would drop all pin assignments simultaneously, but there are a few instances that I could see it happening. Are both controllers new or were they previously used for BrewPi-ESP8266 controllers prior to reflashing them last week?

At the moment, I'm leaning towards an issue with the controllers' flash memory. After you assign the pins, try unplugging the controller, waiting a second, plugging it back in, then rechecking Fermentrack to see if power cycling it caused it to lose the pin assignments.
 
Thanks. The Controller Response Test definitely sent me down a rabbit hole checking connectivity. No worries though! Every iteration of this teaches me something new.

So the good news is that when the pins assign everything functions as expected including activating the relay to switch on cooling for the draft system. Now that I've got it all assigned I'll unplug and see if the assignments drop.
 
I power cycled the controller for the fermentation chamber and after about ten minutes without power the pin assignment is still holding. It's curious to me that something hardware-related like memory would fail on two discrete chips at the same time given that one has about ten thousand hours of use and the other is relatively new. Is there something on the RPi side that might trigger an EEPROM reset for all connected controllers?
 
I power cycled the controller for the fermentation chamber and after about ten minutes without power the pin assignment is still holding. It's curious to me that something hardware-related like memory would fail on two discrete chips at the same time given that one has about ten thousand hours of use and the other is relatively new. Is there something on the RPi side that might trigger an EEPROM reset for all connected controllers?

There shouldn't be. The only thing that actively triggers an "EEPROM" reset is the button in the Fermentrack interface.

There is an issue with the version of the espressif arduino framework that the firmware is built on where it doesn't properly initialize the SPIFFS filesystem required to save settings to flash. Unlike Arduinos, there isn't an actual "EEPROM" so we fake it. Normally this is fine, but it does mean that for newly built controllers sometimes things won't save as expected.

If you've performed a power cycle and everything has loaded, you should be fine going forward. I'd keep an eye on it - but I don't anticipate any issues.
 
If you've performed a power cycle and everything has loaded, you should be fine going forward. I'd keep an eye on it - but I don't anticipate any issues.

Good enough, thank you for the quick responses!

I'm brewing this weekend but will be around to supervise so there shouldn't be any problems.
 
@Thorrak - I've been playing with Fermentrack and really want to get some PCBs ordered up - is there any chance you could upload a gerber zip file to PCBway.com?

I've had good results with fast turnaround from them to the UK - I think they have economies of scale where they always have space on a panel so it can be astonishingly cheap ($5 for 5+) and fast (2 to 3 days from order) to get boards manufactured.

Shipping is not really that much different from there to the UK than it is from the US

What do you think?
 
@Thorrak - I've been playing with Fermentrack and really want to get some PCBs ordered up - is there any chance you could upload a gerber zip file to PCBway.com?

I've had good results with fast turnaround from them to the UK - I think they have economies of scale where they always have space on a panel so it can be astonishingly cheap ($5 for 5+) and fast (2 to 3 days from order) to get boards manufactured.

Shipping is not really that much different from there to the UK than it is from the US

What do you think?
Sure, I’ll take a look.

The raw files are also all available on GitHub: thorrak/thorrak_hardware
 
@Thorrak - I've been playing with Fermentrack and really want to get some PCBs ordered up - is there any chance you could upload a gerber zip file to PCBway.com?

I've had good results with fast turnaround from them to the UK - I think they have economies of scale where they always have space on a panel so it can be astonishingly cheap ($5 for 5+) and fast (2 to 3 days from order) to get boards manufactured.

Shipping is not really that much different from there to the UK than it is from the US

What do you think?

Which boards specifically were you interested in?
 
Which boards specifically were you interested in?

I spent several bleary minutes crafting that post in the middle of the night and the only vital bit of information didn't survive my edits. Must stop interneting in my sleep! :rolleyes:

The 'D1 - LCD TH Dupont NoRJ' - I zipped the SCH and BRD files up for PCBway.com but they complained they couldn't read the BRD file and my Eagle 9.4 complained about the newer file format when I tried to investigate. :eek:

Thank you :cool:
 
Good enough, thank you for the quick responses!

I'm brewing this weekend but will be around to supervise so there shouldn't be any problems.
I wound up with the same issue as before, both ESP8266 controllers dropped their pin assignment simultaneously. For now I'm just using Inkbirds for fermentation and draft control and tracking my Tilt with Fermentrack. Would moving to an ESP32 help? Or if I can live without WiFi just fall back to an Arduino-based controller?
 
1604611204147.png
 
I spent several bleary minutes crafting that post in the middle of the night and the only vital bit of information didn't survive my edits. Must stop interneting in my sleep! :rolleyes:

The 'D1 - LCD TH Dupont NoRJ' - I zipped the SCH and BRD files up for PCBway.com but they complained they couldn't read the BRD file and my Eagle 9.4 complained about the newer file format when I tried to investigate. :eek:

Thank you :cool:
You need to convert the .brd files to Gerber. PCBWAY used to have a file converter on their website
 
I wound up with the same issue as before, both ESP8266 controllers dropped their pin assignment simultaneously.
That seems ... odd. I mean there are a lot of users here who don't have this issue. And you have two different controllers dropping both temp probes and they independently do it at the same time?

Do you love near Chernobyl by any chance?
 
That seems ... odd. I mean there are a lot of users here who don't have this issue. And you have two different controllers dropping both temp probes and they independently do it at the same time?

Do you love near Chernobyl by any chance?
Correct. And that's been the thing that's making me crazy about this. Two different ESP8266-based controllers both up and running with no problem for some random period of time then losing pin assignment. Interestingly the last time the draft system controller was connected via WiFi (I confirmed the IP address was correct, static and could be pinged on my network) and the fermentation controller was connected to the RPi via USB. Granted they both dropped during the day when I was at work so I can guarantee it was exactly the same time but both worked in the morning and didn't in the afternoon. The common failure on two distinct devices really makes me want to assume it's something pushed from the RPi but Thorrak indicates there's no function that would do that so I'm stumped.

I think at this point I'll just run the draft system on the Inkbird and give the fermentation controller a final try with an Arduino I have around the house.
 
Does the controller change modes and/or lose its setpoint? Revert to C from F mode? I vaguely remember something with Arduinos that caused the USB to transmit an "E" which erases all settings.
 
Does the controller change modes and/or lose its setpoint? Revert to C from F mode? I vaguely remember something with Arduinos that caused the USB to transmit an "E" which erases all settings.
The controller defaults back to "Off" with no set point but I know you can't establish a setpoint without temperature values so it's a bit of a "chicken and egg" argument in my mind about whether the pin assignment fails first. Temperature mode remains in Fahrenheit. The ESP retains all of the other settings except pin assignment from what I can tell.
 
Check communication logs. When I was getting BrewPi to run over a Wi-Fi link between host and Uno years ago, garbled comms would cause the host to pretty much shoot the Uno in the head, wiping it's eeprom and all settings...

Cheers!
 
Hello all, I've recently switched to Fermentrack from BrewPi Remix as I'm thinking of setting up a second chamber. In my last (first) ferment with it, I really just needed cooling, but now I'm fermenting with a Kveik and need some heat. The problem lies with the heat duty cycle being too low. If I remember correctly (it was 3 years ago that I first set up a BrewPi), BrewPi self-corrects the PID algorithm over time, but how can I force it to heat more now?

1605273369993.png


Note: I've also lengthened my filter times to try to get rid of those drops to 0C.
 

Latest posts

Back
Top