• 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.
Don't worry about it. I got some time this evening, so I assembled a new Pi/Fermentrack/Uno/DS18b20 setup. Unfortunately, everything seems to work as expected on my end:

Screenshot 2024-02-16 at 10.28.17 PM.png

Screenshot 2024-02-16 at 10.28.35 PM.png


I don't know why things don't work on your end, but don't see anything that I can do at this point to fix your issue. Sorry about that. :(
 
Don't worry about it. I got some time this evening, so I assembled a new Pi/Fermentrack/Uno/DS18b20 setup. Unfortunately, everything seems to work as expected on my end:

View attachment 841949

View attachment 841950


I don't know why things don't work on your end, but don't see anything that I can do at this point to fix your issue. Sorry about that. :(
Well, so I have to assume that I have outdated firmware on my Arduino.
I'll look into how to update it.
What firmware do you have?
Is an Arduino Uno RevC like mine?
thanks for everything
 
Well, so I have to assume that I have outdated firmware on my Arduino.
I'll look into how to update it.
What firmware do you have?
Is an Arduino Uno RevC like mine?
thanks for everything
Inside Fermentrack if you go to the device menu and click "Flash Device" it will take you to the device flashing workflow which will allow you to then select the firmware you want to flash.

I was testing with a slightly modified version of @LBussy 's 0.2.13 firmware, which is what is available in this workflow:
Screenshot 2024-02-18 at 12.25.57 PM.png

The modifications I made were just to have it log data to the console more frequently so that I could better debug. I made no changes to any functionality that you would care about. There are both RevC and I2C firmware available so you should be covered either way.
 
Good.
I think I made the matter more complicated than necessary: I entered the Django administration to look for the firmware update.

Tomorrow I will test that version (RevC-0.2.13) and let you know the result.
Thanks again

----
EDIT:
Results of the process: I tried to flash the same version 0.2.13 RevC and it gave an error (returned code 1. Flash output b" " and then I cursed my decision: OMGsh...I remembered it was the legacy version installed... so I crossed my fingers and chose the BrewPi Official "Legacy" Branch version - RevC (0.2.10) and tried to update firmware again: all was fine.

I have tried again to uninstall chamber sensor and reinstall it, setting an offset -0.75, being received and configured at -0.25.

Conclusion: The Legacy version firmware maintains this calibration error.
Would the report be interesting to solve it?
I don't know if there will be many users with a Legacy version. I didn't change it because it works fine even with this offset error.
 
Last edited:
That’s weird on both counts. Without looking at the blame log, I don’t anticipate that @LBussy changed anything meaningful with the temperature calibration code, so I’m surprised that you’re having issues with the legacy firmware. Additionally, you should be able to flash any firmware you want onto your Arduino regardless of what might have been flashed there before.

With that in mind - at this point my recommendation would be that if you’re comfortable with uncalibrated temps to leave it alone. It sounds like there might be something going on with your Arduino if it won’t let you flash a different firmware so it’s not worth risking unless you’re comfortable potentially needing to replace it.
 
That’s weird on both counts. Without looking at the blame log, I don’t anticipate that @LBussy changed anything meaningful with the temperature calibration code, so I’m surprised that you’re having issues with the legacy firmware. Additionally, you should be able to flash any firmware you want onto your Arduino regardless of what might have been flashed there before.

With that in mind - at this point my recommendation would be that if you’re comfortable with uncalibrated temps to leave it alone. It sounds like there might be something going on with your Arduino if it won’t let you flash a different firmware so it’s not worth risking unless you’re comfortable potentially needing to replace it.
I agree. It could be something I'm doing wrong (I'm not an expert) but The most appropriate thing would be to leave it as it is.

When Fermentrack requests that I disconnect the hardware to identify it later (firmware update), what I do is disconnect the USB cable from my RPi so that FT can then identify it when I reconnect it and that works fine.

It almost bothers me more that I don't know what's wrong versus not being able to fix it.

Thanks for everything
 
I don’t anticipate that @LBussy changed anything meaningful with the temperature calibration code,
You are correct. When we put the I2C LED code in I had to shorten some strings (16 characters as I remember) to get the code to fit. I also added the screen reset on timer. Other than that, the code is unmolested.

It sounds like a floating point conversion error that may be due to an update in the core libs.
 
Without having tested the board myself I can’t guarantee anything, but looking at the specs it seems like a standard ESP32 so you should be perfectly fine. If you’ve already got the controller just flash the ESP32 IIC LCD firmware to it with BrewFlasher and see if the WiFi AP spins up. If it does, you’re good to go.

If you are designing your own PCB/circuit then it’s your call as to whether you use a TFT or an old-school LCD. Pinouts for both are on GitHub.

If you want to use an LCD, you will need an LCD2004 module with an I2C backpack. This one looks like it might work, but you can probably get it for half the price on Amazon. Depending on the specific board you get, it may expect 5V logic, so you may need to add a bidirectional level shifter to your design.

For TFTs, you’ll need a 320x240 TFT with an ILI9341 driver. This one should work if you only use the SPI pins, but it’s not a backpack style I’ve personally used so I can’t guarantee it. Like with the LCD, you can probably get one (with just an SPI interface, which is all you need) for half that price on AliExpress or Amazon. The size is a matter of personal preference, but it needs to have the right driver chip (ILI9341), resolution (320x240), and expose/run off the SPI pins (MOSI, MISO, etc).
Hi thorrak,

Just fyi, got Fermentrack 2 to work with these 30 and 38 pin dev kit modules. System up and running with LCD display. Just checking this doesn't have brewfather integration yet, as I can't find it anywhere within the system.

Thanks
 
I've been using Fermentrack on a RP3 with an Arduino UNO now for some 4 years and put down a lot of great brews, however the last 6 or 7 brews I have had the 'Cannot receiveLCD text fromController/Script" turn up once every ferment. Generally the ferment temperature stays at the last recorded temp but there has been occasions where the temperature has started to lower to the lowest set temperature on the ferment profile.

It's easily fixed to each current ferment by rebooting the RP3 but is a bit annoying, particularly when you are away from the unit for a day or so. I've check all the hardware and made sure all connections are good, still the problem exists.

The below shows the graphing from a Ferment from one of the brews that has the Fermentrack and an Ispindle (not attached to Fermentrack) plotted

1711853937120.png



Appreciate a direction to head with this. Thanks
 
@Thorak, do you know if theres a way to use ispindel without entering coefficients or going through guided calibration? In other words using the device as is and accepting its readings?
 
@Thorak, do you know if theres a way to use ispindel without entering coefficients or going through guided calibration? In other words using the device as is and accepting its readings?
I could be mistaken, but back when I was building the iSpindel support I don't think that the message payload included a device-calibrated gravity. I'm working on rebuilding gravity support for Fermentrack 2 -- if it includes one now, I can definitely add that as an option.
 
I've been using Fermentrack on a RP3 with an Arduino UNO now for some 4 years and put down a lot of great brews, however the last 6 or 7 brews I have had the 'Cannot receiveLCD text fromController/Script" turn up once every ferment. Generally the ferment temperature stays at the last recorded temp but there has been occasions where the temperature has started to lower to the lowest set temperature on the ferment profile.

It's easily fixed to each current ferment by rebooting the RP3 but is a bit annoying, particularly when you are away from the unit for a day or so. I've check all the hardware and made sure all connections are good, still the problem exists.

The below shows the graphing from a Ferment from one of the brews that has the Fermentrack and an Ispindle (not attached to Fermentrack) plotted

View attachment 845409


Appreciate a direction to head with this. Thanks
Hey there - I apologize for the delayed response on this one -- we're in the process of moving, and due to a combination of poor timing and other life changes are having to effectively move four separate times over a month and a half. You happened to post this right as we were working through the first leg of the moves, but I'm hoping to have everything back to normal by late May.

Unfortunately, periodic "cannot receive LCD text" errors are what prompted the rewrite of the BrewPi-Script daemon early last year which is also what prompted the development of Fermentrack 2. I don't have a good solution for Legacy Fermentrack, but should have a solution for Fermentrack 2 to use Arduinos (and serial-connected devices) within the next few months. This is the feature I'm working on next after gravity support.
 
How do I Create a New Beer Profile and have the current beer temperature, be a variable number, as Set Point 1, and say add 6 degrees over the next 2 days?
I do not want to keep creating new beer profiles, with 0s (zero seconds, or the current temperature) being the first start set point that I must say what it is, and then the second point would be 2d (2 days) X+6 degrees. I just want the new profile to see what the current temperature is, on its own, and + or - degrees over set days.
In the past, I kept creating new Beer Profiles, with whatever the current temperature of the beer that is now fermenting, having to define this temperature as Set Point 1 - 0s.
 
How do I Create a New Beer Profile and have the current beer temperature, be a variable number, as Set Point 1, and say add 6 degrees over the next 2 days?
I do not want to keep creating new beer profiles, with 0s (zero seconds, or the current temperature) being the first start set point that I must say what it is, and then the second point would be 2d (2 days) X+6 degrees. I just want the new profile to see what the current temperature is, on its own, and + or - degrees over set days.
In the past, I kept creating new Beer Profiles, with whatever the current temperature of the beer that is now fermenting, having to define this temperature as Set Point 1 - 0s.
At the moment, there aren't variable setpoint beer profiles, but I was thinking of creating something like this as a "cold crash now" button for the end of fermentation. Is that what you're trying to do, or are you thinking of doing this at the start of fermentation? (If so, is your beer temperature really that variable at the start? Do you no-chill or something?)
 
At the moment, there aren't variable setpoint beer profiles, but I was thinking of creating something like this as a "cold crash now" button for the end of fermentation. Is that what you're trying to do, or are you thinking of doing this at the start of fermentation? (If so, is your beer temperature really that variable at the start? Do you no-chill or something?)
This is, at or near the end! I just want the profile to see what the exact current temp is, and either warm up to get the last gravity points out (or diacetyl clean up), or cool down (or crash). I just dont want to look at what the exact current temperature is ..... then create a New Profile, defining this as the start point, and then the second point would be + or -
 
At the moment, there aren't variable setpoint beer profiles, but I was thinking of creating something like this as a "cold crash now" button for the end of fermentation. Is that what you're trying to do, or are you thinking of doing this at the start of fermentation? (If so, is your beer temperature really that variable at the start? Do you no-chill or something?)
EXACTLY, @Thorrak ! "cold crash now" OR warm up NOW, button, will prevent having to make a new beer profile. This new button will insert an add-on Profile, that picks up at current temperature. Therefore, no need for anyone to manually look at the current temperature, make this set point 1, and then setpoint 2.... would be your crash or accelerated warm-up.
Thanks!
 
Or just being able to hold a temp until I want to trigger the next step of a profile, like for a diacetyl rest after fermentation slows. :D
Yes, but this is a little easier to do - Just turn off Profile and then Set Beer Constant temperature.
So much labor went into this project from John, @Thorrak , me crying about a quicker way to accomplish something, makes me wonder if he needs to send me a bill..;)
 
So much labor went into this project from John, @Thorrak , me crying about a quicker way to accomplish something, makes me wonder if he needs to send me a bill..;)
Agreed! And @Thorrak has repeatedly rejected my offers to contribute to help him cover at least his out of pocket expenses. He is truly a generous soul, and I hope to at least send him a couple beers after he gets settled in his new house!


Yes, but this is a little easier to do - Just turn off Profile and then Set Beer Constant temperature.
As it is, I usually break up each profile into several smaller profiles because it's hard to know exactly when I want to start to ramp up for a diacetyl rest or starting a cold crash. I know that he hopes to make it so a Tilt can trigger different steps of a profile eventually, but I hadn't really considered a way to manually trigger each step until he mentioned adding a "Cold Crash Button". It would save having so many profiles if there was a way to have a complete profile that included "stop points" that require a trigger (whether manual, or by Tilt reading) to continue to the next set point.

I think Thorrak appreciates peoples ideas and input, and knows he's free to use or discard suggestions as he sees fit. I'm sure that Fermentrack wouldn't be what it is, if not for him taking the ideas that knuckleheads like me throw at him and making them work :mug:
 
Agreed! And @Thorrak has repeatedly rejected my offers to contribute to help him cover at least his out of pocket expenses. He is truly a generous soul, and I hope to at least send him a couple beers after he gets settled in his new house!



As it is, I usually break up each profile into several smaller profiles because it's hard to know exactly when I want to start to ramp up for a diacetyl rest or starting a cold crash. I know that he hopes to make it so a Tilt can trigger different steps of a profile eventually, but I hadn't really considered a way to manually trigger each step until he mentioned adding a "Cold Crash Button". It would save having so many profiles if there was a way to have a complete profile that included "stop points" that require a trigger (whether manual, or by Tilt reading) to continue to the next set point.

I think Thorrak appreciates peoples ideas and input, and knows he's free to use or discard suggestions as he sees fit. I'm sure that Fermentrack wouldn't be what it is, if not for him taking the ideas that knuckleheads like me throw at him and making them work :mug:
I am doing the same "thing". I have way more Profiles than beers I brewed, hoping one of the Profiles will fit my Cold Crash or Diacetyl cleanup.
This Software would cost a lot of money if only sold to whoever had the money! If you look at the commercial control systems, they don't do anything much better than Fermentrack or BrewPi. Really have to thank the recent programmers that are keeping this alive - @LBussy and @Thorrak !!
 
I don't think my problem is a Fermentrack one but there might be some ideas.

I live remotely so have 4G home broadband. The LTE router has most configurable settings hidden by the provider (no help there). Router is connected to a switch and then three wireless Access Points by cable. One is in the shed I ferment my beer (very, very cheap AP, only bought for intermittent use).

I built two controllers with what I had to hand. One esp8266, one esp32. The former works fine.
The esp32 built controller works fine connected to AP in the house. Connected to AP in brew shed it counts down from nine minutes "cooling starts in..." until it reaches five minutes and then resets - loses contact, reconnects, starts counting down from nine minutes again. Repeat ad infinitum.

I tried reflashing, resetting, restarting etc. Any ideas welcome. Is the solution likely to be a new AP, rebuild with esp8266? I don't want to give up on it too fast.
 
I don't think my problem is a Fermentrack one but there might be some ideas.

I live remotely so have 4G home broadband. The LTE router has most configurable settings hidden by the provider (no help there). Router is connected to a switch and then three wireless Access Points by cable. One is in the shed I ferment my beer (very, very cheap AP, only bought for intermittent use).

I built two controllers with what I had to hand. One esp8266, one esp32. The former works fine.
The esp32 built controller works fine connected to AP in the house. Connected to AP in brew shed it counts down from nine minutes "cooling starts in..." until it reaches five minutes and then resets - loses contact, reconnects, starts counting down from nine minutes again. Repeat ad infinitum.

I tried reflashing, resetting, restarting etc. Any ideas welcome. Is the solution likely to be a new AP, rebuild with esp8266? I don't want to give up on it too fast.
Which esp32. I had all sorts of issues with an S2 mini build freezing up etc a while back and have been just fine with the classic d1 mini esp8266 instead. I haven’t tried the a S2 again in a while cause I’ve been busy.
 
Version is BrewPi-ESP32 - WiFi I2c Display, v15d, I have some I2c displays, was thinking about using them but I don't have a box big enough to accommodate. Was wondering if the fact there isn't a display attached would cause problems but it works fine unless sited in the shed, which is where it should be 🤷‍♂️
The shed isn't particularly remote from the house, as sheds go. The house is in the Outer Hebrides. 😜
 
Hmm, v15d surprises me. Have you tried the v16 alpha? While I can't think of anything that changed that would resolve the issues you describe, there are a bunch of updates to v16 that were targeted at connection stability, and might help here.

My expectation was that you were already on the v16 alpha. Due to a bug in Espressif's framework, to have Inkbird support enabled in the v16 alpha requires that I monitor for a loss of the bluetooth radio. If no bluetooth devices happened to be in range of the controller, it might have interpreted that as the radio locking up.
 
I'll give it a go. No harm trying, not wildly difficult, especially so given your impressive flashing tool. Better than trying to flash with Arduino IDE :)

I don't really want you to waste your time on this since I doubt it's a Fermentrack issue but the error log is here if you want to see it, this snippet of text is repeated over and over.
 
Last edited:
I've been using Fermentrack on a RP3 with an Arduino UNO now for some 4 years and put down a lot of great brews, however the last 6 or 7 brews I have had the 'Cannot receiveLCD text fromController/Script" turn up once every ferment. Generally the ferment temperature stays at the last recorded temp but there has been occasions where the temperature has started to lower to the lowest set temperature on the ferment profile.

It's easily fixed to each current ferment by rebooting the RP3 but is a bit annoying, particularly when you are away from the unit for a day or so. I've check all the hardware and made sure all connections are good, still the problem exists.

The below shows the graphing from a Ferment from one of the brews that has the Fermentrack and an Ispindle (not attached to Fermentrack) plotted

View attachment 845409


Appreciate a direction to head with this. Thanks
OK, no one has experienced this one before.......darn! :)

Looks like are rebuild or another direction
 
OK, no one has experienced this one before.......darn! :)

Looks like are rebuild or another direction
This has happened to me as well, only been using fermentrack a couple of weeks. I have two home-made controllers running two fridges. Usually happens when I adjust or power down a controller, the other loses connection and the only way to get it to work again is to re-flash the board. I put it down to a bad build and probable EMI. I thought I should fix that before I complain :D
 
OK, no one has experienced this one before.......darn! :)

Looks like are rebuild or another direction
I also had this problem on both of my Fermentrack controllers a few weeks ago and I'm also using the combination of RP4 and Arduino Uno.
Now since I did the latest update/upgrade of the RP4 it looks like it is stabel again! 🤞
 
Back
Top