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

    Homebrewing Facebook Group

Fermentrack: Fermentation monitoring & BrewPi-www Replacement for Raspberry Pi

Homebrew Talk

Help Support Homebrew Talk:

This site may earn a commission from merchant affiliate links, including eBay, Amazon, and others.
I'm back and would like to understand what is going on here. Can you point me where to look to see what is going wrong? I'm not seeing anything in /var/log, which is where Google seems to think NGINX will put it's logs.
So the root problem seems to have been a poor choice of power supply (a 5W iPhone cube) for the Raspberry Pi. I swapped it for a 10W iPad charger and it seems to be working, although the RPI is still giving me undervoltage warnings in syslog. I probably have an official RPI PSU somewhere, but can't put my hands on it immediately.

I would still like some guidance on getting access to the application error log(s).
 
Looks like a premature observation.
The Arduino/timer seems to reset when the Pi powers up and links but it was a one off. 5 hours stable now :rock:View attachment 643900

[short version]
Does the controllers access point now require a password and if so what its it!]



[Long version]
With just over 4 years of pretty much 24/7 use my original build (above) is starting to get a little unreliable.
This was an undockered installation of Fermentrack running with multiple WiFi ESP8266s

Having seen this a (much overdue) opportunity to upgrade I thought I'd get that sorted today as I'm an old hand at this now (right?)

It would seem I was overambitious!

New PiOS loaded
New dockerised (is that a word?) version of Fermentrack loaded and set up
Used Fermentrack to flash ESP8266 with latest (version 15c) WiFi version of the controller firmware
Setup the controller, wait, what? Why is the access point asking me for a Password?

Read the Fermentrack documentation - no nothing about the access point having a password there
Did some Google searching - came up dry
Check the log of the log of the flash (seems good, as below)
Tried another ESP8266 board with a fresh flash - same thing - the access point seems to be asking for a password
Tried the obvious (Password, password, BrewPi, Brewpi, brewpi...)

Any help appreciated
1000026831.jpg


Flash Command: esptool.py --port /dev/ttyUSB0 write_flash 0x00000 /app/firmware_flash/firmware/ESP8266 - BrewPi-ESP8266 - vv15cr -- WiFi - firmware.bin 0x300000 /app/firmware_flash/firmware/ESP8266 - BrewPi-ESP8266 - vv15cr -- WiFi - spiffs.bin

esptool.py v2.8
Serial port /dev/ttyUSB0
Connecting....
Detecting chip type... ESP8266
Chip is ESP8266EX
Features: WiFi
Crystal is 26MHz
MAC: a4:cf:12:dd:6c:57
Uploading stub...
Running stub...
Stub running...
Configuring flash size...
Auto-detected Flash size: 4MB
Compressed 490480 bytes to 340364...

Writing at 0x00000000... (4 %)
Writing at 0x00004000... (9 %)
Writing at 0x00008000... (14 %)
Writing at 0x0000c000... (19 %)
Writing at 0x00010000... (23 %)
Writing at 0x00014000... (28 %)
Writing at 0x00018000... (33 %)
Writing at 0x0001c000... (38 %)
Writing at 0x00020000... (42 %)
Writing at 0x00024000... (47 %)
Writing at 0x00028000... (52 %)
Writing at 0x0002c000... (57 %)
Writing at 0x00030000... (61 %)
Writing at 0x00034000... (66 %)
Writing at 0x00038000... (71 %)
Writing at 0x0003c000... (76 %)
Writing at 0x00040000... (80 %)
Writing at 0x00044000... (85 %)
Writing at 0x00048000... (90 %)
Writing at 0x0004c000... (95 %)
Writing at 0x00050000... (100 %)
Wrote 490480 bytes (340364 compressed) at 0x00000000 in 30.4 seconds (effective 129.2 kbit/s)...
Hash of data verified.
Compressed 1024000 bytes to 130681...

Writing at 0x00300000... (12 %)
Writing at 0x00304000... (25 %)
Writing at 0x00308000... (37 %)
Writing at 0x0030c000... (50 %)
Writing at 0x00310000... (62 %)
Writing at 0x00314000... (75 %)
Writing at 0x00318000... (87 %)
Writing at 0x0031c000... (100 %)
Wrote 1024000 bytes (130681 compressed) at 0x00300000 in 12.1 seconds (effective 674.9 kbit/s)...
Hash of data verified.

Leaving...
Hard resetting via RTS pin...
 
Nothing but love from me @Thorrak - appreciate all that you do :mug:
Thanks! I went ahead and yolo-merged from my phone, since after thinking about it I’m pretty sure the dangerous bits I was worrying about only happen when I create a release. I hope. We’ll soon find out. ;)

Thanks again for mentioning this, and thanks again @danb35 for the PR.
 
I'm running brewpi-esp32 + fermentrack. Hardware wise I have a esp32 with a sensor board + 3x waterproof probes from microcenter https://www.microcenter.com/product...rproof-temperature-sensor-47k-resistor-(3pcs)

Everything has been working great until 2 days ago, the temp readings cut out and the freezer stops cycling since the controller can't get a temp reading. I tried resetting the brewpi-esp32, replacing the rj45 cable, I visually inspected the sensor board and I don't see any shorts or issues with the probe wiring. After doing all this my sensors were detected again in brewpi. Now again tonight I'm not getting any temp readings so my freezer is off. Any tips on how to troubleshoot this?

Would it be more reliable to switch to a inkbird wireless temp sensor? I went with the wired sensors thinking they would be more reliable. Is it possible a temp probe has failed can causing issues? Is there a way to test connection from the esp32 to the remote sensor board, I guess I could short the door pin to see if that works.

lucky things started acting up after fermentation so the freezer is just keeping my beer cold. I would hate for this to happen during active fermentation. For some reason both times it stopped working was at night around 10-11pm, not sure if temperature has to do with it.
 
Last edited:
I'm running brewpi-esp32 + fermentrack. Hardware wise I have a esp32 with a sensor board + 3x waterproof probes from microcenter https://www.microcenter.com/product...rproof-temperature-sensor-47k-resistor-(3pcs)

Everything has been working great until 2 days ago, the temp readings cut out and the freezer stops cycling since the controller can't get a temp reading. I tried resetting the brewpi-esp32, replacing the rj45 cable, I visually inspected the sensor board and I don't see any shorts or issues with the probe wiring. After doing all this my sensors were detected again in brewpi. Now again tonight I'm not getting any temp readings so my freezer is off. Any tips on how to troubleshoot this?

Would it be more reliable to switch to a inkbird wireless temp sensor? I went with the wired sensors thinking they would be more reliable. Is it possible a temp probe has failed can causing issues? Is there a way to test connection from the esp32 to the remote sensor board, I guess I could short the door pin to see if that works.

lucky things started acting up after fermentation so the freezer is just keeping my beer cold. I would hate for this to happen during active fermentation. For some reason both times it stopped working was at night around 10-11pm, not sure if temperature has to do with it.

To me, the two most likely culprits are that (at least) one of the sensors is bad, or there is an issue with the power supply to your controller. To test the power supply, if you have a different (hopefully, better) power supply available you could try swapping to that and see if that eliminates the issue. Testing the sensors is difficult given the fact pattern you describe, but here are some questions that might help to narrow it down:

  • When you report that the "temp readings cut out", do all 2 (3?) temp readings cut out, or just the fridge/beer?
  • When the temp readings cut out, do they stay out permanently, or do they sometimes come back without intervention?
  • If they require intervention, what kind of intervention is required? Just resetting the controller, or unseating/reseating the sensors as well?
  • Are you powering the sensors off 5v or 3v3? Have you tried switching the power level? (For my PCB designs, there's a jumper that selects this)

I will note that for the builds I've personally used at home, I've never had an issue with any of the sensors after the first ~day of use. If they have issues, they tend to manifest almost immediately -- what you're describing is quite strange!

The Inkbird sensor support was removed in later versions of v15, as Espressif currently has a bug that causes the bluetooth stack on ESP32 to fail after an indeterminate period of time when both Bluetooth active scanning and WiFi coexistence are enabled. I have a workaround designed for this bug, but it works by monitoring when any device hasn't been detected within a certain period of time, and assuming silence means the bluetooth stack has crashed and a device restart is required. Due to compressor protection, if this occurs frequently it can result in your beer not being properly chilled.

This bug supposedly is fixed in ESP-IDF v5.1 which comes alongside ESP32 Arduino v3. This version recently had its first alpha release, but has been under development for the past ~6 months, so my hope is that it's out soon.

The reason Tilt integration works is because it doesn't require Bluetooth active scanning. :)
 
To me, the two most likely culprits are that (at least) one of the sensors is bad, or there is an issue with the power supply to your controller. To test the power supply, if you have a different (hopefully, better) power supply available you could try swapping to that and see if that eliminates the issue. Testing the sensors is difficult given the fact pattern you describe, but here are some questions that might help to narrow it down:

  • When you report that the "temp readings cut out", do all 2 (3?) temp readings cut out, or just the fridge/beer?
  • When the temp readings cut out, do they stay out permanently, or do they sometimes come back without intervention?
  • If they require intervention, what kind of intervention is required? Just resetting the controller, or unseating/reseating the sensors as well?
  • Are you powering the sensors off 5v or 3v3? Have you tried switching the power level? (For my PCB designs, there's a jumper that selects this)

I will note that for the builds I've personally used at home, I've never had an issue with any of the sensors after the first ~day of use. If they have issues, they tend to manifest almost immediately -- what you're describing is quite strange!

The Inkbird sensor support was removed in later versions of v15, as Espressif currently has a bug that causes the bluetooth stack on ESP32 to fail after an indeterminate period of time when both Bluetooth active scanning and WiFi coexistence are enabled. I have a workaround designed for this bug, but it works by monitoring when any device hasn't been detected within a certain period of time, and assuming silence means the bluetooth stack has crashed and a device restart is required. Due to compressor protection, if this occurs frequently it can result in your beer not being properly chilled.

This bug supposedly is fixed in ESP-IDF v5.1 which comes alongside ESP32 Arduino v3. This version recently had its first alpha release, but has been under development for the past ~6 months, so my hope is that it's out soon.

The reason Tilt integration works is because it doesn't require Bluetooth active scanning. :)
The power supply is a 5v 2amp amazon fire stick usb wall adaptor. My fridge sensor first starting cutting out, then it was fridge and beer sensor and now all 3 won't read. I was able to get things working for about 24hr by plugging in a new ethernet cable, resetting the brewpi a few times and clearing everything. All 3 one wire sensors got detected, I swapped the fridge sensor with the room one. The next night it stopped reading temps again, beer and fridge which causses the fridge to stop cooling. I messed around with it again, poured a beer and came back 1 hr later. I put have somehow jammed my picnic tap open because all the beer leaked out of the keg and I could hear the co2 running. The remote sensor box was floating in beer. I cleaned everything today and all 3 sensors are no longer detected.

I wonder if there was a short that damaged the brewpi? I have to get the brewpi working before I can start my next fermentation, wanted to have homebrew for thanksgiving. I might have to order a cheap inkbird controller until I can get the brewpi working again.
 
The power supply is a 5v 2amp amazon fire stick usb wall adaptor. My fridge sensor first starting cutting out, then it was fridge and beer sensor and now all 3 won't read. I was able to get things working for about 24hr by plugging in a new ethernet cable, resetting the brewpi a few times and clearing everything. All 3 one wire sensors got detected, I swapped the fridge sensor with the room one. The next night it stopped reading temps again, beer and fridge which causses the fridge to stop cooling. I messed around with it again, poured a beer and came back 1 hr later. I put have somehow jammed my picnic tap open because all the beer leaked out of the keg and I could hear the co2 running. The remote sensor box was floating in beer. I cleaned everything today and all 3 sensors are no longer detected.

I wonder if there was a short that damaged the brewpi? I have to get the brewpi working before I can start my next fermentation, wanted to have homebrew for thanksgiving. I might have to order a cheap inkbird controller until I can get the brewpi working again.
It’s possible, but what you are describing sounds like there is an issue with the OneWire sensors.

Are you powering the sensors with 3v3 or 5V? If you are using my PCB this is the jumper. If you are currently using 3v3, I would try switching the jumper to 5V. Additionally, how long is the Ethernet cable you are using? Shorter cables are definitely the way to go, here!

As a second step, what I would do is try to desolder (or clip) the (former) fridge sensor from the data line (if that’s the one you think might be having issues) to see if having one fewer sensor helps. Room sensors aren’t necessary for the control algorithm to work, as long as the beer and fridge sensors work you should be OK.

Thinking about it, @day_trippr - would you recommend I add provisions for decoupling capacitors on the “sensor breakout” PCB for the power lines? Think that would help something like this? (I could add a footprint for the data line too, as a test to see if people can follow directions… ;) )
 
What is this image trying to tell me? Is this a temperature plot - and those are 0° temperature readings?

1699276490221.png


fwiw, I still run BrewPi "classic" on a fleet of RPi systems with UNO controllers using the shield I helped develop here, which provides a minimal level of decoupling on the power lines, and all with sets of full length 3 meter probes. I never have flakey behavior from any of them. I don't think there's a need for more than a 0.1uf cap near the connector(s) for the sensors - One-Wire sensors are actually pretty resilient to modest voltage noise levels.

I would want to see the actual log file from when that image was created...or an equivalent. There must be sensors disconnecting and reconnecting...

Cheers!
 
What is this image trying to tell me? Is this a temperature plot - and those are 0° temperature readings?

View attachment 833280

fwiw, I still run BrewPi "classic" on a fleet of RPi systems with UNO controllers using the shield I helped develop here, which provides a minimal level of decoupling on the power lines, and all with sets of full length 3 meter probes. I never have flakey behavior from any of them. I don't think there's a need for more than a 0.1uf cap near the connector(s) for the sensors - One-Wire sensors are actually pretty resilient to modest voltage noise levels.

I would want to see the actual log file from when that image was created...or an equivalent. There must be sensors disconnecting and reconnecting...

Cheers!
Do I have to find the logs in the file system running on the frementrack or is it accessible via the web interfaces?
 
It’s possible, but what you are describing sounds like there is an issue with the OneWire sensors.

Are you powering the sensors with 3v3 or 5V? If you are using my PCB this is the jumper. If you are currently using 3v3, I would try switching the jumper to 5V. Additionally, how long is the Ethernet cable you are using? Shorter cables are definitely the way to go, here!

As a second step, what I would do is try to desolder (or clip) the (former) fridge sensor from the data line (if that’s the one you think might be having issues) to see if having one fewer sensor helps. Room sensors aren’t necessary for the control algorithm to work, as long as the beer and fridge sensors work you should be OK.

Thinking about it, @day_trippr - would you recommend I add provisions for decoupling capacitors on the “sensor breakout” PCB for the power lines? Think that would help something like this? (I could add a footprint for the data line too, as a test to see if people can follow directions… ;) )
I clipped the fridge sensor and no change, still not reading any temps. I will open the main controller today and check the sensor voltage, when I was building the unit it only worked on 1 sensor voltage setting. Is there a way to test the temp probe I cut off with a multimeter?
 
Aside from a sensor with welded inputs (bt/dt - "It's dead, Jim") you won't find much about an ds18b20 that works even occasionally using a multimeter on its three wires.

I recommend providing 5VDC to ds18b20 VDD line, then - depending on what it's signal line is connected to - use a 2K pull-up resistor to 3.3V, or a 4.7K pull-up resistor to 5V. Generally RPi and ESPs use 3.3V signaling, while older Arduinos use 5V signaling...

Cheers!
 
Thinking about it, @day_trippr - would you recommend I add provisions for decoupling capacitors on the “sensor breakout” PCB for the power lines? Think that would help something like this? (I could add a footprint for the data line too, as a test to see if people can follow directions… ;) )

I always had weird issues until I put decoupling caps on power ingress points. Used a 1uF for 5v main and 0.1uF each for OneWire temp sensors, ESP8266 VCC, from the heat/cool relay signal lines out to a separate small board with some status LEDs that get flipped on by some transistors acting as signal inverters, etc. No issues since then.
 
I'm running into kind of an odd issue, and not sure whether it belongs to Fermentrack or to BrewPi-ESP. I started a fresh batch of beer Friday afternoon, my first actual beer using Fermentrack (I'd tested it with water, but not with actual beer). It's in a Fermzilla Tri-Conical, cooling by way of their Temp Twister and a glycol chiller. It also has a thermowell that's in contact with the cooling coil. Heat is provided by a 40W heat belt. I started by sensing the beer temp using a 18B20 in the thermowell, and I'm also using a Tilt Pro to track both temperature and gravity.

I noticed quite a discrepancy between what the Tilt was reporting (black line in the graph below), and what the thermowell sensor was reporting (yellow line).
1701028127337.png

Yesterday, I just unplugged the heater, and the temps came much closer together. Believing the Tilt to be the better reading of the beer temp, I went to Configure Sensors/Pins and told the controller to use the Tilt as the Beer temp sensor.

That's when the problem started. Since I made that change, whenever I try to go to Configure Sensors/Pins for that controller, I get this:
1701028288712.png

I've power-cycled the controller, and I've rebooted Fermentrack, but this persists. I'm able to browse to the controller itself, and there I can see that the Tilt is set as the beer temp sensor. But inside Fermentrack, I get that error.
 
I'm running into kind of an odd issue, and not sure whether it belongs to Fermentrack or to BrewPi-ESP. I started a fresh batch of beer Friday afternoon, my first actual beer using Fermentrack (I'd tested it with water, but not with actual beer). It's in a Fermzilla Tri-Conical, cooling by way of their Temp Twister and a glycol chiller. It also has a thermowell that's in contact with the cooling coil. Heat is provided by a 40W heat belt. I started by sensing the beer temp using a 18B20 in the thermowell, and I'm also using a Tilt Pro to track both temperature and gravity.

I noticed quite a discrepancy between what the Tilt was reporting (black line in the graph below), and what the thermowell sensor was reporting (yellow line).
View attachment 834884
Yesterday, I just unplugged the heater, and the temps came much closer together. Believing the Tilt to be the better reading of the beer temp, I went to Configure Sensors/Pins and told the controller to use the Tilt as the Beer temp sensor.

That's when the problem started. Since I made that change, whenever I try to go to Configure Sensors/Pins for that controller, I get this:
View attachment 834885
I've power-cycled the controller, and I've rebooted Fermentrack, but this persists. I'm able to browse to the controller itself, and there I can see that the Tilt is set as the beer temp sensor. But inside Fermentrack, I get that error.
What do the device logs say?
 
The new fancy fermenters in my brewery wants me to ditch the STC1000s I’ve been using to control fermentation temps up until now, and BrewPi/Fermentrack looks like a perfect fit for controlling and logging temps (thanks a lot for a that work Thorrak!). After some tests running Fermentrack on a RPi 3 with an SD card, the plan is to get an SSD and a RPi 4 to run Fermentrack and I suppose that shouldn’t give me too much of a headache. But before starting to collect the hardware I have a couple of questions about PCB and board and would greatly appreciate some input.

Up until now I’ve had a single jacketed fermenter and a 1/3 hp DIY glycol chiller. A STC100 is controlling the chiller temp and another STC1000 is switching a pump on and off to control the fermenter temp. Now I’m adding two more jacketed fermenters and will also use electromagnetic valves to control the glycol flow to each fermenter. I haven’t yet decided how to control the pump but it’ll likely be either a pressure control that’ll switch the pump on when a valve opens, or if the same signal that opens the valve also will switch on the pump. Regardless, I’d like to control the valves and pump with the BrewPi controllers and log it all with Fermentrack.

I have some old Wemos/Lolin D1 (with the 8266 chip) for testing but after reading the suggestions on how to select a board on the Brewpi esp8266 Github page, I consider getting some Lolin D32 pro board instead. However, looking at the ESP32 Brewpi boards page on Github, Thorrak warns about using the info on that page to build a controller. It’s a bit unclear to me if it suggests to stick to one of the old PCB designs for 8266 board and get Lolin S2 mini boards (which seems to have their own issues according to earlier posts here?), or if it’s ok to use the new “all-in-one” PCB design and a Lolin D32 pro with some additional info that hasn’t yet been published there?

If it boils down to choosing between a bit old/low performance but solid vs new fancy and fast but buggy, in this particular case it’s probably better for me to have something that is fairly reliable as I’m a bit short on time at he moment.

Please forgive me if this is already explained in detail somewhere but some admittedly sloppy searching didn’t enlighten me much.
 
Sorry for any confusion - I’ve been wrapped up in other projects, and need to revisit the hardware documentation here soon.

The “all-in-one” board has been out in the wild for awhile now, and works well. For a new build, that will result in the most feature-rich, future-proof option.

For your setup, you’ll likely want to keep the STC-1000 controlling your glycol bath and get one PCB/controller per fermenter that you want controlled, all pumping off that bath. Your setup of actuated valves/single pump is an interesting one and will almost certainly require some ingenuity on your part to make work. Generally most glycol setups have a single pump per fermenter, where the pump is switched on/off by the controller.

I’ll have to leave it to others in this thread to comment on (current) best practices for glycol as that’s not (currently) a setup I have/use. More to come on that front soon, though. ;)
 
Thanks a lot for your quick reply Thorrak, and no worries about my confusion - it's more than compensated by the time and effort you've put down here! I'll go for the all-in-one boards and D32 pro.
And if anyone has opinions about running a system with a single pump and solenoid valves I'll be happy to hear/read them!
I'm also looking forward to learn more about a glycol setup that you may have in mind :)

Sorry for any confusion - I’ve been wrapped up in other projects, and need to revisit the hardware documentation here soon.

I’ll have to leave it to others in this thread to comment on (current) best practices for glycol as that’s not (currently) a setup I have/use. More to come on that front soon, though. ;)
 
Im back to brewing after my normal Summer/fun/too hot to brew. I see I need an update, but after fallowing the instructions, ./install.sh did not work. So I then inserted sudo./install.sh That seemed to get the update moving along but then came back with this message after a while -
Screenshot from 2023-11-27 16-11-16.png

Thanks John!
 
Im back to brewing after my normal Summer/fun/too hot to brew. I see I need an update, but after fallowing the instructions, ./install.sh did not work. So I then inserted sudo./install.sh That seemed to get the update moving along but then came back with this message after a while -
View attachment 834978
Thanks John!
It's cliche, but any luck after restarting the Pi?

What do you see if you run "sudo docker ps"?
 
Thanks a lot for your quick reply Thorrak, and no worries about my confusion - it's more than compensated by the time and effort you've put down here! I'll go for the all-in-one boards and D32 pro.
And if anyone has opinions about running a system with a single pump and solenoid valves I'll be happy to hear/read them!
I'm also looking forward to learn more about a glycol setup that you may have in mind :)
@SurPopp
I have been running chilled water with very small inexpensie acquarium pumps, and switching them via Fermentrack and Brewpi for years now. Pumps and Heaters just switch on/off with a 110 vac relay modules, switched by the low voltage from the UNO Seinsmart (or others)
I do not use Solenoid valves (can get expensive), just electrical outlets connected to the Relay Modules. Each Fermenter is just another "Chamber".
 
@Thorrak , when I run sudo docker ps,. after I did a reboot, I got this -
Also, now when I try to log onto the IP address of the connected Raspberry Pi, I get 502 Bad Gateway
Maybe I will do what Plumbers do, when they do not know Script too well - Reformat a SD card, and reinstall Fermentrack from scratch....
Thanks!
 
Thanks for the input Bloombrews! Perhaps that's the way to go for me as well.

@SurPopp
I have been running chilled water with very small inexpensie acquarium pumps, and switching them via Fermentrack and Brewpi for years now. Pumps and Heaters just switch on/off with a 110 vac relay modules, switched by the low voltage from the UNO Seinsmart (or others)
I do not use Solenoid valves (can get expensive), just electrical outlets connected to the Relay Modules. Each Fermenter is just another "Chamber".
 
Thanks for the input Bloombrews! Perhaps that's the way to go for me as well.
I can send you some pictures of what I do. The only thing that may not be doable for you, is a big 55 gallon drum of 35F water. This sits inside my walkin cooler and I pump out of this for the chilled water. you can probably get by with garbage can of water inside a freezer or fridge. Other then how you keep the water cold, the rest is cheap and the controls are done with the great Fementrack or BrewPi.
[email protected] if you want any pictures
 
Back
Top