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

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.
how do I look up the device name on the windows machine I'm setting it up on? Pardon my ignorance. If it was connected to the pi I know you'd look under /dev/ and find the tty port it was using (odds are it'd be ttyUSB0)

Or am I supposed to connect this device to the pi zero via usb?

I'm starting to think it's the latter. And that I am a special kind of stupid.

Ah - yeah, you would need to connect it to the Pi if you want to flash from Fermentrack. For a Pi Zero you would need a USB OTG adapter more than likely to connect the D1 Mini.

You can also flash from windows, but I don’t have instructions for that unfortunately.

Sorry about that!
 
There is no apologies needed- this is my brain failing to function.

I did manage to flash it with a developer's firmware, so that I could flash the brewpi ESP8266 firmware onto it. It's entirely possible to set it up without fermentrack on another pi is possible, but it's lengthy. And requires another pi or linux box.

It's best to get a OTG adapter for a pi zero if you're choosing to roll with a pi zero and be done with it. The fermentrack set up is beautifully simple and streamlined. You don't get enough credit for this software that you've compiled.
 
Massive Update

I just pushed live an update to the dev branch for testing prior to release to master. There's a bunch of things included in this update. Here's a list of some of them:
  • Complete refactor of Tilt Hydrometer support
  • Update to include heating/cooling state on graphs (Note - this will only work with beer logs started after the update)
  • Support for "modern" (OEM) BrewPi controllers
  • Support for temperature calibration offsets for temperature sensors
  • Added the Fermentrack logo as the favicon
  • Other bugfixes
All said, it's quite a bit of changes - hopefully all for the better! Despite the list above, there is one key feature that I've been working on that I ended up having to pull out. Expect more updates in a few weeks. ;)
 
Massive Update

I just pushed live an update to the dev branch for testing prior to release to master. There's a bunch of things included in this update. Here's a list of some of them:
  • Complete refactor of Tilt Hydrometer support
  • Update to include heating/cooling state on graphs (Note - this will only work with beer logs started after the update)
  • Support for "modern" (OEM) BrewPi controllers
  • Support for temperature calibration offsets for temperature sensors
  • Added the Fermentrack logo as the favicon
  • Other bugfixes
All said, it's quite a bit of changes - hopefully all for the better! Despite the list above, there is one key feature that I've been working on that I ended up having to pull out. Expect more updates in a few weeks. ;)

Is the Spark 3 now supported?.
 
I was not really using a BrewPi before (only brewpiless) so what happen when RPi crashes? Will it recover automatically? What the controller will do without the connection to RPi? Will it just idle or what?
Is the calculation/algorithm done at the ESP stage or RPi? It would be also nice to choose different GPIOs for actors so I can switch from my brewpiless setups just by flashing firmware :)
I will try to test the frementrack as I have few Pi0W lying around unused :)

Will there be feature that you can control relays directly from RPi?
I know there is a fork of BrewPi where no arduino is needed so something similar here?
 
Last edited:
I was not really using a BrewPi before (only brewpiless) so what happen when RPi crashes? Will it recover automatically? What the controller will do without the connection to RPi? Will it just idle or what?
Is the calculation/algorithm done at the ESP stage or RPi? It would be also nice to choose different GPIOs for actors so I can switch from my brewpiless setups just by flashing firmware :)
I will try to test the frementrack as I have few Pi0W lying around unused :)

Will there be feature that you can control relays directly from RPi?
I know there is a fork of BrewPi where no arduino is needed so something similar here?

The controller handles the cooling/heating algorithm, holding the temperature of the beer to a single set point. The RPi handles the profile, calculating what the set points need to be in order to achieve a gradual temperature “curve”. If the RPi crashes, the controller will just keep holding the temperature of the beer to whatever the last set point was.

Fermentrack doesn’t interact with the Pi’s GPIO pins whatsoever, and there is no plan to change this any time soon - but as you noted, @ame created the Fuscus project which implements the Raspberry Pi controller firmware directly on the RPi itself. Fermentrack supports Fuscus and will control installations that use it. For now, however, you will have to install and configure Fuscus yourself manually if you want to use it. While this may change in the future it’s not being actively developed at this time.
 
Massive Update

I just pushed live an update to the dev branch for testing prior to release to master. There's a bunch of things included in this update. Here's a list of some of them:
  • Complete refactor of Tilt Hydrometer support
  • Update to include heating/cooling state on graphs (Note - this will only work with beer logs started after the update)
  • Support for "modern" (OEM) BrewPi controllers
  • Support for temperature calibration offsets for temperature sensors
  • Added the Fermentrack logo as the favicon
  • Other bugfixes
All said, it's quite a bit of changes - hopefully all for the better! Despite the list above, there is one key feature that I've been working on that I ended up having to pull out. Expect more updates in a few weeks. ;)


I just updated and when I start logging a new log or load an old one, it loads the axis titles but no data points load. I messaged you what i see.

Thanks for all of your work!
 
Thorrak. Can you give the pin list for the wemos for the fermentrack build? I'm wanting to test the setup without the LCD while my PCBs are coming, just like I could for the brewpi without the shield.
 
Thorrak. Can you give the pin list for the wemos for the fermentrack build? I'm wanting to test the setup without the LCD while my PCBs are coming, just like I could for the brewpi without the shield.

Sure:

Expected Pinout (NOTE - CHANGED IN v0.3!)
  • D0 - Heat
  • D1 - I2C SCL
  • D2 - I2C SDA
  • D3 - Buzzer (currently unsupported)
  • D4 - N/C
  • D5 - Cool
  • D6 - OneWire Data
  • D7 - Door (Untested)
 
The controller settings are a legacy BrewPi? Like PIDs etc? Is there any explanation how to tune it?

Also based on your reply I assume that it is then not necessary that Raspberry is working all the time? Only to change settings of the controller and the "curves" - profiles? but for just stable temp it is fine to turn it off? I guess that logging will also be not possible as this is stored on RPi not controller? Given that, I can also run fermentrack on PC to change temps etc?
 
The controller settings are a legacy BrewPi? Like PIDs etc? Is there any explanation how to tune it?

Correct. There is no difference. Tuning would be the same as it would be for a legacy BrewPi controller.

Also based on your reply I assume that it is then not necessary that Raspberry is working all the time? Only to change settings of the controller and the "curves" - profiles? but for just stable temp it is fine to turn it off?

Correct, but as you noted this isn't really the ideal use case. You technically would only need to have the Pi on when you're either looking to change the fermentation temperature or are running a profile, but as you noted below, you'd miss out on things like logging.

I guess that logging will also be not possible as this is stored on RPi not controller?

Exactly.

Given that, I can also run fermentrack on PC to change temps etc?

Fermentrack should run perfectly on Debian-based PCs and virtual machines. I've tested it with Ubuntu and it works great. There is no reason you couldn't run Fermentrack on a VM rather than on a Raspberry Pi if you were so inclined.

Technically, you could also run Fermentrack on Windows/MacOS if you went through and got the Python environment set up/configured, but I would recommend a VM over going that route.
 
Fermentrack should run perfectly on Debian-based PCs and virtual machines. I've tested it with Ubuntu and it works great. There is no reason you couldn't run Fermentrack on a VM rather than on a Raspberry Pi if you were so inclined.

I do this - I use vagrant - but Ive also done with virtualbox. No issues. The only thing I haven't tried yet is flashing ESP8266s - but looks like it's doable...
 
Correct. There is no difference. Tuning would be the same as it would be for a legacy BrewPi controller.

Yes that is fine, but is there any tutorial or examples for tuning? I have a problem that my fridge is cycling with heating and cooling all the time. Beer temp drops by 0.03C and it is trying to heat, then it heats too much and is cooling. I have a default PIDs now, I see that Kd is a negative value, changing it to 0 or positive will help? Maybe I will just change deadtime to something big so during waiting for heating, algorithm will see that beer and fridge is finally warming by itself?
I would just turn off the heater but soon here we will have cold nights (colder than set temp) and my freezer stands outside so I will need both, heating at night and cooling at daytime.
 
Hey @Thorrak, I'm having a bit of a problem with Tilt support. I just updated to the latest version of Fermentrack. I also updated two of my controllers to the latest firmware for the esp. I'm on a stock Stretch install on a Pi Model 2B.

When I go to the Tilt page, it gives me the error that my bluetooth packages for python are not installed. When I go through the install instructions for the packages, everything indicates that I already have all of the packages installed and that the service is set up.

I can't get the Tilt to register (it shows the temp and gravity from the last time it was running correctly). When I try to remove the Tilt device to reinstall it, I get an error that prevents the removal.

Any ideas? Thanks a ton for the 100th time, in advance.

EDIT: Here's the error that I get trying to remove the Tilt device:
TypeError at /gravity/sensor/3/uninstall/
argument of type 'GravitySensor' is not iterable
 
My Pi was pretty devoid of other uses and was just my brewery Pi, so I wiped the SD card, freshly installed NOOBS Stretch, and then tried to install Fermentrack. I get the NGINX gateway error. On initial install and even after running the install.sh script, I get the following error in the installation log:

line 37: /home/fermentrack/venv/bin/circusd: No such file or directory

UPDATE: Fourth time's a charm. For whatever reason, running the install script a few more times did it. I'm up and running with Tilt support. The weird thing is that with a brand new installation on a clean SD card install, it gave me a notice that I wasn't running the latest version of the software. I updated and everything seems to be running as expected.
 
Last edited:
I've been trying to debug my ds18b20 set up- I have the PCBA with the RJ-11 connector. For reasons unknown to me, the DS18b20's aren't showing up on the controller.

I've chased everything through the wiring with a voltmeter, and have found that D6 on my wemos is outputting 3.3v. I pulled the RJ-11 so that I'm not arching something back to the d6 on the wemos downstream. And I still pull 3.3v from D6.

Does d6 output 3.3v?
 
I've been trying to debug my ds18b20 set up- I have the PCBA with the RJ-11 connector. For reasons unknown to me, the DS18b20's aren't showing up on the controller.

I've chased everything through the wiring with a voltmeter, and have found that D6 on my wemos is outputting 3.3v. I pulled the RJ-11 so that I'm not arching something back to the d6 on the wemos downstream. And I still pull 3.3v from D6.

Does d6 output 3.3v?
Have you verified the DS18b20s are the correct ones and not ds18b20 parasitic mode? The voltage is correct
 
Last edited:
Good question. They are thermal well probes with black white and red wires. I may take one apart to see if the VCC is grounded.

This would reset the controller I'd think
 
Good question. They are thermal well probes with black white and red wires. I may take one apart to see if the VCC is grounded.

This would reset the controller I'd think
Somewhere on one of the boards, there is a sketch you can run to test the sensor.
There was a bunch of us that bought the wrong sensors a while back.
 
Yes that is fine, but is there any tutorial or examples for tuning? I have a problem that my fridge is cycling with heating and cooling all the time. Beer temp drops by 0.03C and it is trying to heat, then it heats too much and is cooling. I have a default PIDs now, I see that Kd is a negative value, changing it to 0 or positive will help? Maybe I will just change deadtime to something big so during waiting for heating, algorithm will see that beer and fridge is finally warming by itself?
I would just turn off the heater but soon here we will have cold nights (colder than set temp) and my freezer stands outside so I will need both, heating at night and cooling at daytime.

There's not a tuning tutorial that I know of but I'm sure there's one out there somewhere. If you find one that works for BrewPi legacy generally, it should work with both Fermentrack & the ESP8266 BrewPi port as the settings/options are the same. If you find a good one, let me know - I'll add it to the docs.


Somewhere on one of the boards, there is a sketch you can run to test the sensor.
There was a bunch of us that bought the wrong sensors a while back.

If you ( @flintoid ) are using Fermentrack then you should be able to just flash the "WiFi Reset & Sensor/Wiring Test" firmware and it will output the parasite mode test results to the LCD screen.


Ive got a sketch that works well for me, it's a little involved to add the server for a database and the graphical part but here it is
http://monitor.ozarksmountainbrew.com/d/KR-TixOmz/ozarks-fermentation-session?refresh=10s&orgId=1

infuxdb along with Grafana both on the same server and esp8266 v2 or 3 works, I haven't laid out everything needed but its a sound system, let me know your thoughts

That's pretty neat! I'm working on adding the ability within Fermentrack to push data to an external data target - I'm guessing that would be helpful for setting up something similar to this.
 
Hey @Thorrak, I'm having a bit of a problem with Tilt support. I just updated to the latest version of Fermentrack. I also updated two of my controllers to the latest firmware for the esp. I'm on a stock Stretch install on a Pi Model 2B.

When I go to the Tilt page, it gives me the error that my bluetooth packages for python are not installed. When I go through the install instructions for the packages, everything indicates that I already have all of the packages installed and that the service is set up.

I can't get the Tilt to register (it shows the temp and gravity from the last time it was running correctly). When I try to remove the Tilt device to reinstall it, I get an error that prevents the removal.

Any ideas? Thanks a ton for the 100th time, in advance.

EDIT: Here's the error that I get trying to remove the Tilt device:
TypeError at /gravity/sensor/3/uninstall/
argument of type 'GravitySensor' is not iterable

That's really strange. There is a new package that is used to manage Bluetooth support, but it should be installed as part of the standard "pip --upgrade" that is run when Fermentrack updates.

My Pi was pretty devoid of other uses and was just my brewery Pi, so I wiped the SD card, freshly installed NOOBS Stretch, and then tried to install Fermentrack. I get the NGINX gateway error. On initial install and even after running the install.sh script, I get the following error in the installation log:

line 37: /home/fermentrack/venv/bin/circusd: No such file or directory

UPDATE: Fourth time's a charm. For whatever reason, running the install script a few more times did it. I'm up and running with Tilt support. The weird thing is that with a brand new installation on a clean SD card install, it gave me a notice that I wasn't running the latest version of the software. I updated and everything seems to be running as expected.

I'm not surprised about the upgrade notice - by default the installation script uses the "master" branch which is a ways behind the "dev" branch. Assuming you select to update from "dev", it will prompt for an update pretty soon after you install everything.
 
I wasn't sure but thought there was a way to test probes in Fermentrack.

Not directly, unfortunately. Theoretically one could be added for people with Fuscus-based builds as the DS18b20 sensors would be connected to the Pi and could be read over GPIO, but at the moment that’s an edge case, sadly.
 
When you're fermenting using a beer profile, is there a way to see where you are in the current profile?
 
any idea when we will see a feature to re-calibrate a temperature sensor?
The feature is already there. When you assign a one-wire probe, during the configuration of the probe you have the option of including a temperature offset. If you're trying to configure an installed probe, unassign it and then reassign it to add the offset.
 
Very interested in this project. If I'm reading right, it now supports basic functionality of the V3 BrewPi hardware, but requires 1 BrewPi per fermenter? Can the other BrewPi be an off the shelf Arduino board?

What are the plans for when the long-promised new release of BrewPi comes out?
 
"V3"?

The current and "long promised" official BrewPi releases are based on Spark. This and the other two BrewPi ports are based on the legacy Arduino "Rev C" BrewPi code (one of the reasons why you need a microcontroller or emulation thereof per chamber).

I don't see any of these fine folks chasing Elco down the Spark branch...

Cheers!
 
Fermentrack supports “legacy” controllers (Arduino-based, Python-based, and ESP8266-based) explicitly. It also currently supports “modern” controllers to a degree (Spark-based clones and OEM BrewPis).

To the extent support can be extended/improved for “modern” controllers, I’ll do so, but there is no guarantee Elco won’t introduce breaking changes later that I won’t be able to match.
 
Thorrak,

Fermentrack is awesome! I have allot of respect for the work you have done. I am experiencing some issues however. I have a pi3 b+, and ardriuno uno, all commissioned yesterday per your well documented instructions. all works well for 3ish hours then my "lcd display" on my dash board reads "cannot read script from controller lcd". I can tell that the contoller is still fuctioning, but I lost my eyes and ears. The only way I have been able to remedy this issues to re-flash the uno. After every re-flash the PI functions properly then 3ish hours go by and I lose communication with the controller.

Im good at following instructions, which got me this far. but since I'm not a progammer I am lost.

Can you please advise.

Cheers!
 
Thorrak,

Fermentrack is awesome! I have allot of respect for the work you have done. I am experiencing some issues however. I have a pi3 b+, and ardriuno uno, all commissioned yesterday per your well documented instructions. all works well for 3ish hours then my "lcd display" on my dash board reads "cannot read script from controller lcd". I can tell that the contoller is still fuctioning, but I lost my eyes and ears. The only way I have been able to remedy this issues to re-flash the uno. After every re-flash the PI functions properly then 3ish hours go by and I lose communication with the controller.

Im good at following instructions, which got me this far. but since I'm not a progammer I am lost.

Can you please advise.

Cheers!

That’s weird. Do you have an LCD connected to the Uno? If so, after Fermentrack reports the controller as nonresponsive, does it still look like you would expect (timers still counting, temps still updating, etc) or does it look strange?

If you disconnect/reconnect the Uno to the Pi does the issue resolve itself?

What about if you restart the Pi?
 
No LCD hooked up. After the fermentrack reports the controller is non responsive the controller continues to work. I have watched the fridge cycle on / off while fermentrack is in this state. I have disconnected / connected the uno / power cycled the PI and issue still exist.

possibly a power drop since I'm powering everything via usb? thinking about providing a 5v 2a vdc power supply to arduino. do you know if there is a jumper i need to use to use external power?
 
If you use the barrel receptacle on the Arduino it automatically does the internal switching, no jumpers required.
But you need to use at least a 7.5V and far preferably a 9V power supply for that purpose. 1A should be plenty...

Cheers!
 
Back
Top