Quantcast

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

HomeBrewTalk.com - Beer, Wine, Mead, & Cider Brewing Discussion Community.

Help Support Homebrew Talk:

OP
T

Thorrak

Supporting Member
HBT Supporter
Joined
Feb 7, 2016
Messages
2,610
Reaction score
1,556
Location
New York, NY
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!
 
OP
T

Thorrak

Supporting Member
HBT Supporter
Joined
Feb 7, 2016
Messages
2,610
Reaction score
1,556
Location
New York, NY
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! 🤣
 

HairyJamie

Member
Joined
Apr 15, 2016
Messages
24
Reaction score
4
Location
Edinburgh
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?
 

HairyJamie

Member
Joined
Apr 15, 2016
Messages
24
Reaction score
4
Location
Edinburgh
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.
 
OP
T

Thorrak

Supporting Member
HBT Supporter
Joined
Feb 7, 2016
Messages
2,610
Reaction score
1,556
Location
New York, NY
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.
 

HairyJamie

Member
Joined
Apr 15, 2016
Messages
24
Reaction score
4
Location
Edinburgh
Thank you - I decided to go with Oshpark as I like the purple :)

Hopefully the current situation doesn't delay international shipping too much.
 

HairyJamie

Member
Joined
Apr 15, 2016
Messages
24
Reaction score
4
Location
Edinburgh
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 ...
 

LBussy

A Cunning Linguist
HBT Sponsor HBT Supporter
Joined
Jan 19, 2013
Messages
2,702
Reaction score
944
Location
Kansas City
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.
 

HairyJamie

Member
Joined
Apr 15, 2016
Messages
24
Reaction score
4
Location
Edinburgh
Thanks, I will do :)

when I say legacy I do mean the ESP WiFi firmware for Fermentrack use that Thorrak has in his repo.
 

lateknightucd

Active Member
Joined
Jul 4, 2012
Messages
30
Reaction score
0
Location
Grand Rapids
@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?
 
OP
T

Thorrak

Supporting Member
HBT Supporter
Joined
Feb 7, 2016
Messages
2,610
Reaction score
1,556
Location
New York, NY
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?
 

lateknightucd

Active Member
Joined
Jul 4, 2012
Messages
30
Reaction score
0
Location
Grand Rapids
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.
 
OP
T

Thorrak

Supporting Member
HBT Supporter
Joined
Feb 7, 2016
Messages
2,610
Reaction score
1,556
Location
New York, NY
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?
 

lateknightucd

Active Member
Joined
Jul 4, 2012
Messages
30
Reaction score
0
Location
Grand Rapids
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.
 
OP
T

Thorrak

Supporting Member
HBT Supporter
Joined
Feb 7, 2016
Messages
2,610
Reaction score
1,556
Location
New York, NY
- 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.
 

lateknightucd

Active Member
Joined
Jul 4, 2012
Messages
30
Reaction score
0
Location
Grand Rapids
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.
 

lateknightucd

Active Member
Joined
Jul 4, 2012
Messages
30
Reaction score
0
Location
Grand Rapids
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?
 
OP
T

Thorrak

Supporting Member
HBT Supporter
Joined
Feb 7, 2016
Messages
2,610
Reaction score
1,556
Location
New York, NY
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.
 

lateknightucd

Active Member
Joined
Jul 4, 2012
Messages
30
Reaction score
0
Location
Grand Rapids
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.
 
Top