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.
Anyone hook up a tilt. Mine starts logging and then stops and each graph after is same temp and gravity but when I open up phone tilt app it's updating every 10 sec. My fermentrack is on a pi 3 b+
 
Hi Thorrak,

Thanks for all the work making (and supporting) Fermentrack. Back in the original thread you mentioned that support for glycol-chilled fermenters was on the to-do list (somewhere down the line). I'm curious as to your thoughts on whether you think this would work for a single fermenter with Fermentrak as currently written (maybe with some modifications to the PID variables): having a reservoir of liquid that acts as the "fridge" by being circulated through coils in (or a jacket outside) the fermenter, and then controlling the temperature of the liquid as you currently control the fridge now. I was thinking of a 4-8 gallon reservoir of water (or glycol solution) in a cooler with an aquarium chiller on the "cool" circuit and an aquarium heater on the "heat" circuit.

For a single fermenter I'm sure it would be simpler to just put the fermenter in a fridge, but I think this might work better for my planned brew space.
 
I just installed Fermentrack a couple of days ago after using Brewpi for the last couple of years. It started great until last night there were some really weird fluctuations. I did change the beer constant this morning to 70 because it had dipped down to 66 while at a 68 setpoint.
Any suggestions why this would have such a dramatic change?
upload_2018-6-20_17-22-6.png
 

Attachments

  • upload_2018-6-20_12-39-6.png
    upload_2018-6-20_12-39-6.png
    120.6 KB · Views: 115
If I had to guess I’d say you have a stuck relay - those cheap relay modules I find to be very susceptible to such issues.

Alternatively, if you changed your device constants that could also explain a change in behaviour.
 
If I had to guess I’d say you have a stuck relay - those cheap relay modules I find to be very susceptible to such issues.

Alternatively, if you changed your device constants that could also explain a change in behaviour.

I changed the beer setting constant after it started to act strange to see if it would correct it but didn't seem to. I have the Pi connected to a SainSmart Uno arduino. Maybe I need to reflash the arduino or something?

Edit: I'm just going to replace the relay module like you mentioned and see if that works
 
Last edited:
I changed the beer setting constant after it started to act strange to see if it would correct it but didn't seem to. I have the Pi connected to a SainSmart Uno arduino. Maybe I need to reflash the arduino or something?

Edit: I'm just going to replace the relay module like you mentioned and see if that works

If you do have non default device constants, you can post them here and we can let you know if anything looks funky... based on the plot the chamber temperature is following the chamber set point quite well, so that’d be my guess. Or just reset the device constants to the defaults.
 
If you do have non default device constants, you can post them here and we can let you know if anything looks funky... based on the plot the chamber temperature is following the chamber set point quite well, so that’d be my guess. Or just reset the device constants to the defaults.

Constants were kept default and reset then just in case but still had the same strange fluctuation.
I've changed it to run off of fridge constant now for the time being.
 
Hi Thorrak,

Thanks for all the work making (and supporting) Fermentrack. Back in the original thread you mentioned that support for glycol-chilled fermenters was on the to-do list (somewhere down the line). I'm curious as to your thoughts on whether you think this would work for a single fermenter with Fermentrak as currently written (maybe with some modifications to the PID variables): having a reservoir of liquid that acts as the "fridge" by being circulated through coils in (or a jacket outside) the fermenter, and then controlling the temperature of the liquid as you currently control the fridge now. I was thinking of a 4-8 gallon reservoir of water (or glycol solution) in a cooler with an aquarium chiller on the "cool" circuit and an aquarium heater on the "heat" circuit.

For a single fermenter I'm sure it would be simpler to just put the fermenter in a fridge, but I think this might work better for my planned brew space.

Fermentrack will support whatever you throw at it - the issues you'll face will be with the BrewPi controllers. That said, what you're discussing doesn't sound unreasonable. You might need some custom wiring/sensors in addition to BrewPi if your plan is to use a single reservoir for multiple fermenters, but that depends on how exactly you design your glycol circuit.

Unfortunately, glycol support isn't something I've prioritized adding to the ESP firmware as I have no means of testing it in my apartment. I'll try to add it using what has worked for others, but it will unfortunately remain a black box to me until I can find somewhere with more space.

I just installed Fermentrack a couple of days ago after using Brewpi for the last couple of years. It started great until last night there were some really weird fluctuations. I did change the beer constant this morning to 70 because it had dipped down to 66 while at a 68 setpoint.
Any suggestions why this would have such a dramatic change?

To a similar note as above, what you're describing would be BrewPi related - not necessarily Fermentrack related - so I think you're on the right track with resetting the control constants. To me, looking at that graph, it appears as if you're running your heating & cooling circuits at the same time which BrewPi shouldn't allow to happen. I'd start by swapping out the relay module (they're cheap & easy to swap!) and only if that fails start worrying about the Arduino.
 
Fermentrack will support whatever you throw at it - the issues you'll face will be with the BrewPi controllers. That said, what you're discussing doesn't sound unreasonable. You might need some custom wiring/sensors in addition to BrewPi if your plan is to use a single reservoir for multiple fermenters, but that depends on how exactly you design your glycol circuit.
I don't currently have plans to run more than one fermenter; I agree that it gets much more complicated for multiple fermenters.
Unfortunately, glycol support isn't something I've prioritized adding to the ESP firmware as I have no means of testing it in my apartment. I'll try to add it using what has worked for others, but it will unfortunately remain a black box to me until I can find somewhere with more space.
Happy to be a guinea pig whenever I get my conical set up!
 
Does Fermentrack not plot the actual cooling and heating states ala BrewPi?
That'd be a show-stopper for me...

Cheers!

[edit] The info might be in those traces - I dunno - but the colors are so indistinguishable it's impossible to tell...
 
I had it run with a fridge constant overnight and everything went back to normal. This morning when I went to work, I put it back into beer constant mode and saw those weird fluctations again.
The new relay gets here tomorrow, I'll replace that and then go from there.
 
Does Fermentrack not plot the actual cooling and heating states ala BrewPi?
That'd be a show-stopper for me...

Cheers!

[edit] The info might be in those traces - I dunno - but the colors are so indistinguishable it's impossible to tell...

It tracks it, but doesn’t plot it. If anyone knows dygraphs and is willing to help, I’d appreciate it. Working with dygraphs was one of the more painful parts of getting Fermentrack built...
 
My first Fermentrack brew started, although I dropped my iSpindle and now need to recalibrate it :(

Untitled.png
 
It tracks it, but doesn’t plot it. If anyone knows dygraphs and is willing to help, I’d appreciate it. Working with dygraphs was one of the more painful parts of getting Fermentrack built...

Is there a reason your using Dygraphs instead of something like charts.js? I know nothing of your setup so keep that in mind lol.
 
Is there a reason your using Dygraphs instead of something like charts.js? I know nothing of your setup so keep that in mind lol.

Nope! I honestly don't recall if I looked at charts.js when I started out (or why I decided against it, if I did). It might be worth looking at (and switching, if it would allow for additional features). The only package I remember looking at and explicitly rejecting was highcharts due to the license.
 
charts.js is the de facto charting out there it can pretty much make any plot you could possibly want with the right configuration and dataset.

BrewPi has some pretty generic charts so it shouldnt be that hard to reproduce.

That said if you just want the hot/cold bars on the bottom you can always just look at brewpi-www/js/beer-chart.js and see what settings he uses for Dyngraph.
 
fwiw, I didn't want to sound so binary about the state plots, but it has helped me diagnose problems over the years. For example, one of my ferm fridges has a nasty internal controller design that says the first time it powers up it goes through a defrost cycle, which causes the BrewPi PID logic to think there's a hella long response time to a Cool demand. The result is epic ping-ponging with overshoots galore causing the Heat logic to try to get things stable (which it totally doesn't). I always end up having to reload all of the PID defaults to restore sanity on that fridge.

It's wicked easy to visualize via the state plot...

Cheers!
 
Just a quick update that it does appear that I had a relay issue. Replaced that, did a test run using beer constant and everything seems back to normal. Thanks for the feedback guys.
 
@day_trippr - Never let it be said that I don't have a masochistic streak...

Screenshot 2018-06-26 23.37.58.png

(Neither the colors nor the feature are finalized yet - this was done with fake data in a fake format, so there's still a ways to go)

Also, apparently I took notes on why I ended up using dygraphs. In other news, I have the memory of a goldfish. Too much (not enough?) beer!
 
hahahaha! That's hilarious (the goldfish thing :D)
I appreciate the effort for sure. I've been distracted by Stretch vs RaspberryPints but once that gets sorted I'll be able to start playing with Fermentrack...

Cheers!
 
I have a bit of a different setup here. I had access to a mac mini that has both wifi and bluetooth so I figured I would attempt to put the raspian OS on and install Fermentrack to work with my new Tilt. Not being a linux guy, I fumbled my way through the install and got it up and running and managed to get Fermentrack installed. I have run the configuration and I can add the tilt but when I look at the tilt page, I get the following message: Bluetooth packages for python have not been installed. Tilt support will not work. Click here to learn how to resolve this issue.

I ran through the steps in the resolution but I get a couple of error codes when I run the pip install pybluez. The first error comes back saying:
error: invalid command 'bdist_wheel'

And later in the script I get this error:
In file included from bluez/btmodule.c:20:0:
bluez/btmodule.h:5:33: fatal error: bluetooth/bluetooth.h: No such file or directory
#include <bluetooth/bluetooth.h>

Any idea on how to resolve this?

Cheers
 
I have a bit of a different setup here. I had access to a mac mini that has both wifi and bluetooth so I figured I would attempt to put the raspian OS on and install Fermentrack to work with my new Tilt. Not being a linux guy, I fumbled my way through the install and got it up and running and managed to get Fermentrack installed. I have run the configuration and I can add the tilt but when I look at the tilt page, I get the following message: Bluetooth packages for python have not been installed. Tilt support will not work. Click here to learn how to resolve this issue.

I ran through the steps in the resolution but I get a couple of error codes when I run the pip install pybluez. The first error comes back saying:
error: invalid command 'bdist_wheel'

And later in the script I get this error:
In file included from bluez/btmodule.c:20:0:
bluez/btmodule.h:5:33: fatal error: bluetooth/bluetooth.h: No such file or directory
#include <bluetooth/bluetooth.h>

Any idea on how to resolve this?

Cheers

Sadly, no. While there is rumored support for PyBluez on MacOS, installing it isn’t something I’ve attempted in the past. The instructions you are referencing are intended for Raspbian users.

The only feature that not having PyBluez impacts is Tilt support. If your main complaint is the error message, let me know, and I’ll see if I can add a flag somewhere that would allow it to be turned off. ;)
 
See - What makes me sad is that I haven't yet found out how to get FindChips to give me a price for a complete BoM rather than each of the components within a BoM. That is - I want it to say, "Buying everything from Mouser costs $16.95, Buying everything from Digikey costs $19.02." Even better if it included shipping.

It's certainly possible that feature is in there somewhere, but I wasn't able to find it unfortunately.
 
Can't hurt to ask.
I've used "Contact Us" links for much much less :D

btw, the site is impressive in scope - it found a rather exotic 12ghz 1:8 zero delay clock driver. I didn't expect that...

Cheers!
 
Very quick update on Tilt support:

For the past two months there's been a lack of official updates to Fermentrack available to users of either the dev or master branch as I've been focused on a handful of unreleased features - mostly focused on Tilt Hydrometer support/improvements. One of the features I'm working on now is a complete rewrite of both the Tilt monitor & configuration code.

Amongst other things, the rewrite is going to change a handful of the values associated with the TiltConfiguration object, including:
  • Remove the average_period_secs option for smoothing data coming from the Tilt
  • Change median_window_vals to smoothing_window_vals and only provide a moving average function (not median filter)
  • Remove the option to set a bluetooth_device_id
While I'm not anticipating much of an impact, if anyone out there has had to change the bluetooth_device_id parameter to get your Tilt to connect, let me know and I'll see if I can find a way to re-create that setting somewhere.
 
Very quick update on Tilt support:

For the past two months there's been a lack of official updates to Fermentrack available to users of either the dev or master branch as I've been focused on a handful of unreleased features - mostly focused on Tilt Hydrometer support/improvements. One of the features I'm working on now is a complete rewrite of both the Tilt monitor & configuration code.

Amongst other things, the rewrite is going to change a handful of the values associated with the TiltConfiguration object, including:
  • Remove the average_period_secs option for smoothing data coming from the Tilt
  • Change median_window_vals to smoothing_window_vals and only provide a moving average function (not median filter)
  • Remove the option to set a bluetooth_device_id
While I'm not anticipating much of an impact, if anyone out there has had to change the bluetooth_device_id parameter to get your Tilt to connect, let me know and I'll see if I can find a way to re-create that setting somewhere.
I am still trying to figure out why it wont work with my Pi 3 B+ and i bought a second one and it will not connect. If i put it in my PI 3 standard like i have it in now, it has been communicating to it for 14 days with no issues. If i switch the card back in again it does not pick it up.

the image is Strech with latest Fermentrack and did latest get update and get upgrade.
 
I am still trying to figure out why it wont work with my Pi 3 B+ and i bought a second one and it will not connect. If i put it in my PI 3 standard like i have it in now, it has been communicating to it for 14 days with no issues. If i switch the card back in again it does not pick it up.

the image is Strech with latest Fermentrack and did latest get update and get upgrade.

I'm guessing that it has something to do with the Bluetooth receiver in the B+, but it's very strange. One thing I'm adding in the upcoming update is the ability to see what the signal strength was on the last received broadcast from each Tilt. Not sure how helpful it will ultimately be, but it might be an interesting diagnostic point!
 
Really looking forward to getting this setup once I get all the parts to build my ispindels! Thanks for keeping up on this project!! I have a spare pi3 looking for some love.
Neil
 
If installing a headless setup on a pi zero W... be sure to set up your wifi_supplicant.conf to the correct band of wifi. I kept trying to connect to a 5ghz wireless N network when the zero W can only do 2.4ghz.... lol
 
I'm guessing that it has something to do with the Bluetooth receiver in the B+, but it's very strange. One thing I'm adding in the upcoming update is the ability to see what the signal strength was on the last received broadcast from each Tilt. Not sure how helpful it will ultimately be, but it might be an interesting diagnostic point!
Bummer.. I haven't tried yet but I also have a 3 B+ and a tilt. TiltPi works really well on it so I'm not sure its a bluetooth issue.
 
Bummer.. I haven't tried yet but I also have a 3 B+ and a tilt. TiltPi works really well on it so I'm not sure its a bluetooth issue.

TBQH, neither am I. After playing with it a bit, I decided to just rip out & rewrite everything from scratch. I'm in the process now of testing everything & finishing up a few new features - my hope is to have everything released to dev within the next two weeks.
 
TBQH, neither am I. After playing with it a bit, I decided to just rip out & rewrite everything from scratch. I'm in the process now of testing everything & finishing up a few new features - my hope is to have everything released to dev within the next two weeks.
Thanks for your work on this!!
 
any tips on getting fermentrack to auto connect with a wemos d1 mini? I've got what is the most recent fermentrack build on a pi zero w and the wemos is powered properly through Thorrak's wonderful PCBA (I can see the pythonwifi)

Perhaps a thumb drive is preventing the software from seeing the comm ports open up during the process? I connect the USB cable when the procedure prompts me to, and I can see the comm port open in my device manager but it fails to detect any differences in my serial bus.

Perhaps I should just flash the wemos and connect it to my wifi manually? Anyone have a good procedure for that?
 
any tips on getting fermentrack to auto connect with a wemos d1 mini? I've got what is the most recent fermentrack build on a pi zero w and the wemos is powered properly through Thorrak's wonderful PCBA (I can see the pythonwifi)

Perhaps a thumb drive is preventing the software from seeing the comm ports open up during the process? I connect the USB cable when the procedure prompts me to, and I can see the comm port open in my device manager but it fails to detect any differences in my serial bus.

Perhaps I should just flash the wemos and connect it to my wifi manually? Anyone have a good procedure for that?

Out of curiosity, what kind of Raspberry Pi are you using (and which version of Raspbian)? Also, did you get your Wemos directly from Wemos’s (now Lolin) AliExpress store or from another vendor?


Do you know the exact device name of the Wemos (something beginning with /dev/)? If so, I can add a feature to the flash mechanism to let you specify the path directly without using the autodetection process.
 
It's a Lolin, and I got it from Aliexpress: https://www.aliexpress.com/item/D1-...036.html?spm=a2g0s.9042311.0.0.4b504c4dyVM9jf

I am using a Pi Zero W (v1.1) with a full version of raspbian stretch. Tonight as part of the troubleshooting I was going to reflash it with stretch light as it's a headless install anyways.

The D1 mini is properly powered as I've connected to it via serial in PuTTy. It's a 9600 baud rate connection, which leads me to believe that it's got some seriously old firmware on it. Most online resources state that newer firmware needs the 115200
 
Do you know the exact device name of the Wemos (something beginning with /dev/)? If so, I can add a feature to the flash mechanism to let you specify the path directly without using the autodetection process.

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.
 
Back
Top