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.
It's not really Fermentrack-specific but here's as good as anyplace. :) Two things I believe will help:
  1. Get a real thermowell. Taking a sensor on the side of your fermenter gives you the temp of the side of your fermenter. Once I got a thermowell things were MUCH better.
  2. Put a small fan in there to eliminate dead spots. You won't know you have them, since your sensors are stationary, but it will help keep things sane in there.
Thanks! Just added a thermowell but didn't have a small fan on hand. I'll let you know how half the solution works.
 
The thermowell will definitely help. The fan will also help to avoid overshoot because the heat is concentrated in/around that paint can (I use the same thing.) Even when the light turns off, there's still quite a bit of residual heat there. Anything can work from a "personal" desktop fan, a small computer cooling fan, pretty much whatever will fit.

With that thermowell I would imagine the swings will slow down a lot.
 
Thanks to your efforts and instructions and of course ame's I have this working well with fuscus using just a pi3a.
I have a dual chamber so I copied the fuscus directory to another directory called fuscusTop. I then changed the ini for the other sensors and changed the path to /dev/fuscusTop. This works fine and I have 2 instances of fuscus running and reading the sensors. One with the path /dev/fuscus and one at /dev/fuscusTop.
I followed your instructions again to add a new device using the new path with no joy.
When I click submit the screen refreshes but the device doesn't get added.
Am I going about this the wrong way?
Cheers,
Jon
 

Attachments

  • Screenshot from 2019-03-31 13-01-34.png
    Screenshot from 2019-03-31 13-01-34.png
    162.5 KB · Views: 55
I got it!
I had to add it via the django admin panel instead.
Cheers,
Jon
 

Attachments

  • Screenshot from 2019-03-31 15-56-00.png
    Screenshot from 2019-03-31 15-56-00.png
    196.4 KB · Views: 77
Major Update

I pushed out an update to Fermentrack last night to support my latest project - the TiltBridge. TiltBridge is a single component ESP32-based Tilt-to-WiFi bridge which supports relaying Tilt readings to Fermentrack, Brewer's Friend, and Google Sheets.

Although Fermentrack supports Bluetooth connections using the Raspberry Pi's Bluetooth radio, I've found in many instances the Pi just isn't quite close enough to my fermenter to pick the signal up - especially when the fermenter is stainless & partially blocks the Bluetooth signal. Using the TiltBridge you can place an inexpensive device in/near your fermentation chamber and closer to the Tilt which can receive the (weaker) bluetooth signal & relay it to the cloud.

The TiltBridge firmware is designed to run on any ESP32 board and as a result can be installed without any soldering/wiring whatsoever. It also supports an optional OLED screen for displaying gravities at your fermenter - including utilizing certain ESP32 boards where the OLED screen is built in. As a result, the hardware for a TiltBridge with an OLED screen can be obtained off-the-shelf and flashed directly from within Fermentrack.


In part to support TiltBridge, Fermentrack now supports flashing ESP32-based devices. To create a TiltBridge using Fermentrack, use the "Firmware Flash" workflow and select the "ESP32" board. When prompted, select the "TiltBridge" firmware.


I've created another thread on HBT for the TiltBridge device which is available here: https://www.homebrewtalk.com/forum/...lt-to-wifi-device-for-tilt-hydrometer.664368/
 
Gonna have to buy me one of those new-fangled things now.

Just one question: Can I still break a hydrometer once in a while just for kicks?
 
Gonna have to buy me one of those new-fangled things now.

Just one question: Can I still break a hydrometer once in a while just for kicks?
Step up your game and start breaking pH meter sensors. I've killed two of them in the last 18 months :(

Cheers!
 
Awesome thread guys and huge thanks to Thorrak! Guys like you make a difference to other peoples lives, whether you realise or not.

Bit of quick history and overview of my brewing evolution; I've played with Pis for years and currently have an original Pi running dual arduinos with BrewPi for my ferm-chambers and another running RaspberryPints with flow meters for my keezer. All good so far.

I found out about Tilt, recoiled at the cost of 4 of them and found out about the iSpindel as a result and have the parts on order for 5 of those.

I started using BeerSmith which is OK, it has its strengths, but prefer the web-hosted functionality of Brewfather so switched to that. I'd like to integrate all my functionality into one tool so with the ability to do that, I started looking for ways to integrate BrewPi (iSpindel is already integrated into Brewfather) data when I came across this thread.

Now, I'm ready to ditch BrewPi and move to Fermentrack. Is there any way to feed the data from Fermentrack into Brewfather?
 
Last edited:
Holy cow, that is a SWEET job you have done there! Completely switched over from BrewPi in a couple of hours, flawless install and neat interface. Thanks Thorrak!

I can see from the Github comments that there is work ongoing to interface with Brewfather so I'm off to check that out.
 
Hi there
Last week I installed Fermentrack on a BeagleBone Black Wireless, and everything is running smooth.
Awsome install script (y)
I use the NodeMcu WeMos D1 Mini and a DS18B20 for controlling the temperature in the fridge.

I would like to use the iSpindel to measure the Beer Temp, but I can't seem to figure it out.

I can read the gravity and temperature from the iSpindel in fermentrack, but I can't map the reading to the Beer Temp.
The iSpindel is running the latest software (6.0.5) from universam1 https://github.com/universam1
fermatrack is also the latest on git.

Is it not possible to use the iSpindel for Beer Temp?
 
In the midst of my first fermentation with Fermentrack, and I just want to say, thanks for putting together such an excellent, useful project! Just look at this sweet, sweet temp control, slowly ramping while staying within .1ºF of the setpoint! :D:mug:
Screen Shot 2019-04-03 at 12.01.26 PM.png
 
Hi there
Last week I installed Fermentrack on a BeagleBone Black Wireless, and everything is running smooth.
Awsome install script (y)
I use the NodeMcu WeMos D1 Mini and a DS18B20 for controlling the temperature in the fridge.

I would like to use the iSpindel to measure the Beer Temp, but I can't seem to figure it out.

I can read the gravity and temperature from the iSpindel in fermentrack, but I can't map the reading to the Beer Temp.
The iSpindel is running the latest software (6.0.5) from universam1 https://github.com/universam1
fermatrack is also the latest on git.

Is it not possible to use the iSpindel for Beer Temp?

No, unfortunately - there isn’t functionality to pipe in an unconnected sensor’s readings into the BrewPi firmware.

That said, the biggest issue using an iSpindel for beer temp is reading frequency, as you really need readings every few seconds for everything to work well.
 
No, unfortunately - there isn’t functionality to pipe in an unconnected sensor’s readings into the BrewPi firmware.

That said, the biggest issue using an iSpindel for beer temp is reading frequency, as you really need readings every few seconds for everything to work well.

Let's say that we can get the temperature from iSpindel every 2 minute, then let an "estimater" feed an estimated temperature into the BrewPi firmware, updated more frequent.
I'm new to BrewPi and fermentrack, and would like to play with the iSpindle data.
Would it be possible to make a TCP socket, where an estimator running on localhost, can feed Beer Temp data into. The data will be a best guess, based on input from the iSpindel, and status of the cool and heating devices.
 
Let's say that we can get the temperature from iSpindel every 2 minute, then let an "estimater" feed an estimated temperature into the BrewPi firmware, updated more frequent.
I'm new to BrewPi and fermentrack, and would like to play with the iSpindle data.
Would it be possible to make a TCP socket, where an estimator running on localhost, can feed Beer Temp data into. The data will be a best guess, based on input from the iSpindel, and status of the cool and heating devices.

Unfortunately, that functionality doesn’t currently exist in the firmware. :(
 
Could the "ispindel-tcp-server-thingy" be used as an intermediate step ? As far as I understand it gives you local control (among other things) over your ispindel-data before it is sent of into the sky....

just $0.02...

regs,
peram

No, unfortunately—

The iSpindel readings are already being picked up & processed by Fermentrack which is what the TCP server does. The issue here is BrewPi.

The BrewPi firmware expects to have 2-3 DS18b20 temperature sensors directly connected to the controller which it can poll about once every second or so. The BrewPi firmware has no functionality to have temperature readings piped in from an outside source.

The biggest problem though is that the rapid response of readings is part of what allows the BrewPi firmware to control temps so tightly. Basically what the firmware is doing is measuring how many seconds of cycle time results in fractional degrees of movement in the beer temperature, and using that to predict what the proper cycle length is to maintain tight control of temps. Due to the long cycle times required by the iSpindel, I don’t anticipate it working out very well.

By contrast, the Tilt sends readings every 0.8 seconds so it’s perfect from a cycle time perspective — but the minimum temperature resolution is 1 deg F which means that the resolution isn’t high enough by an order of magnitude.

Doing some research, however, the at rest current usage of a DS18b20 appears to be on the order of microamps (and the at work current usage is 1mA) so if someone wanted to create a submersible device, with BLE, and a DS18b20 for use as a wireless temperature sensor then there would be an argument for building out functionality to allow temps to be piped into the firmware. Absent that, building this functionality would probably be a lot of work for very little reward.
 
building this functionality would probably be a lot of work for very little reward
I think that's the important part. You're asking to take a system which was basically hacked to add Tilt/iSpindel support and make it in to a Tilt or iSpindel system which is hacked to create temp control support. While I fully appreciate the "one ring to rule them all" desire, it's not really something that's likely to be widely used/needed. Is there a situation where adding a real sensor is not practical? That would be a good argument in favor of it.
 
I think that's the important part. You're asking to take a system which was basically hacked to add Tilt/iSpindel support and make it in to a Tilt or iSpindel system which is hacked to create temp control support. While I fully appreciate the "one ring to rule them all" desire, it's not really something that's likely to be widely used/needed. Is there a situation where adding a real sensor is not practical? That would be a good argument in favor of it.

Yeah - it's kind of a chicken and the egg problem. Neither the Tilt nor iSpindel are really fit for purpose for something like this, and as such it doesn't make sense to build the functionality. On the flip side, I don't think there's much incentive to build a sensor that would work for this, as there's a very limited market.

Where I could see something like this being used is with things like 5 gallon corny kegs being used as fermenters for Zymatic brews. The liquid level is low enough in the keg that a standard lid-mounted thermowell won't work, and I doubt anyone would want to drill/weld a corny keg to add a side mounted thermowell. Although the "sponge bungee corded around a DS18b20" method kind of works, for a scenario like this, a wireless thermometer would be great.
 
Is there a way to configure the "Push Support" to send data to ubidots?

I have been trying with different settings, and I can't seem to make it send data. TCPDUMP shows nothing being send, and I can't find any errors or status in the logfile directory.

How can I check that the polling service is running, and output of the polling script?

Can you recommend other services to collect and view data from fermatrack.
 
I am trying to get the Fermentrack up and running. I just applied power to my "
Makerfocus D1 Mini NodeMcu 4M Bytes Lua WiFi Development Board Base on ESP8266 ESP-12F N Compatible NodeMcu Arduino (D1 Mini)
purchased from Amazon.

I am following the GUIDED DEVICE SETUP IN Fermentrack and I get the following error when it begins to flash.
"
TypeError at /firmware/flash/6/
__init__() got an unexpected keyword argument 'max_errors'
Request Method: POST
Request URL: http://192.168.0.17/firmware/flash/6/
Django Version: 1.11.20
Exception Type: TypeError
Exception Value:
__init__() got an unexpected keyword argument 'max_errors'
Exception Location: /home/fermentrack/venv/lib/python3.5/site-packages/redis/connection.py in make_connection, line 1025
Python Executable: /home/fermentrack/venv/bin/python3
Python Version: 3.5.3
Python Path:
['/home/fermentrack/venv/lib/python3.5/site-packages/git/ext/gitdb',
'/home/fermentrack/venv/bin',
'/home/fermentrack/fermentrack',
'/home/fermentrack/venv/lib/python3.5/site-packages',
'/usr/lib/python35.zip',
'/usr/lib/python3.5',
'/usr/lib/python3.5/plat-arm-linux-gnueabihf',
'/usr/lib/python3.5/lib-dynload',
'.',
'/home/fermentrack/venv/lib/python3.5/site-packages/gitdb/ext/smmap']
Server time: Sat, 13 Apr 2019 18:51:02 +0000

Steps 1 , 2 and 3 were ok and in the Select Firmware To Flash screen I have " Serial Port/dev/ttyUSB0Device FamilyESP8266BoardNodeMCU (ESP-12E)"

I then select " BrewPi/w WiFI" "Flash to Device" and thats where I get that error.

Can anyone help.
Jerrydfl
 
This weekend I finally finished up getting my Fermentrack running stable (Bad Chinese 5v transformer have had me scratching my head for a while).
I’m running a water test to see how well the Fermentrack could keep on temp target staring out at 25c then going to 15c and then to 5c. The issue I’m having is that the heating and cooling keeps overshooting. The cooling cools so much that the heater kicks in and then the heater heats so much that the cooler kicks in and the loop continues.
I figure I need to adjust the Control Constants but thought I ask you guys for some pointers instead of just using trial and error.
I’m using a rather big freezer and a 200w tube heater for heating and cooling.

Logg pic below (the long cooling time with no effect is me forgeting connecting the freezer) :
upload_2019-4-15_9-28-41.png
 
Last edited:
I could see this behavior being essentially legit if the freezer is totally empty with the probe(s) hanging in the air.
That said, 200 watts strikes me as 4 or 5 times too high for a heater and it will likely inspire similar pissing matches in the future.
fwiw I use 40 w reptile bulbs on my 17cf chambers in an unheated basement and they've proved quite capable without causing havoc...

Cheers!
 
I could see this behavior being essentially legit if the freezer is totally empty with the probe(s) hanging in the air.
That said, 200 watts strikes me as 4 or 5 times too high for a heater and it will likely inspire similar pissing matches in the future.
fwiw I use 40 w reptile bulbs on my 17cf chambers in an unheated basement and they've proved quite capable without causing havoc...

Cheers!

Thanks for the input!
Ye I figured 180w (misremembered) was a bit much, but it was what I had at hand. I was hoping I could run it in shorter cycles to compensate. Maybe I’m overcomplicating it and should just get a less powerful heater?
 
When you say "water test", how much water? You should be using the full mass you intend to be fermenting.

Its about 17 liter of water, Im doing batched between 10-30 liter so its in the range of what I will be using it for.
 
I have been unable to flash the firmware to my new Esp8266 D1 mini.
I can flash a led test program to the esp8266 via the Arduino IDE program and that is ok.
I have Fermentrack installed on my pi.
Do I have to have Brewpi program flashed to the ESP8266 before I flash the Fermentract.
I am completely lost.
Jerrydnj
 
I have been unable to flash the firmware to my new Esp8266 D1 mini.
I can flash a led test program to the esp8266 via the Arduino IDE program and that is ok.
I have Fermentrack installed on my pi.
Do I have to have Brewpi program flashed to the ESP8266 before I flash the Fermentract.
I am completely lost.
Jerrydnj

Im using a wemos D1 mini and I just used the Fermentrack web interface to flash it, worked like a charm for me.
Login to the Fermentrack web interface on your pi, got to "Select Device to Control", then "flash device" follow the instructions and it should work :)
 
Okay I’m officially a dumb ass.
I just went to check that I was correct in my earlier statement about 17 liter of water, I was but…the temp probe had snagged and was not reaching down in the water just dangling in the air in the fermenting bucket. So day_trippr was very accurate in saying my graphs looked like the temp probes was just dangling in the air, my hat off to you sir.
Sorry for taking up your guys time.
 
Okay I’m officially a dumb ass.
I just went to check that I was correct in my earlier statement about 17 liter of water, I was but…the temp probe had snagged and was not reaching down in the water just dangling in the air in the fermenting bucket. So day_trippr was very accurate in saying my graphs looked like the temp probes was just dangling in the air, my hat off to you sir.
Sorry for taking up your guys time.

It is VERY hard to get ANYTHING past @day_trippr . You have to get up AWFULLY early in the morning.
 
Got my spindles calibrated last night. Have three in brews just wondering on the landing page under ispindle's name it says unbound? Does this mean it's not connected to the server?
 
Got my spindles calibrated last night. Have three in brews just wondering on the landing page under ispindle's name it says unbound? Does this mean it's not connected to the server?

Fermentrack supports BrewPi devices and gravity sensors as independent objects which allows using it to support iSpindels even if you don’t have a BrewPi controller. Unbound simply means that the gravity sensor is working as a standalone device - not “bound” to a BrewPi controller.
 
I now have my BrewLessPi (ESP version) controlled by Fermentrack, however sometimes when set to cooling I get a huge delay? Anyone know the cause? Or it it due to the beer/fridge temp difference?

TIA
Screenshot_20190418-104512_Chrome.jpg
 
Ha, it didn't look right to me.

I have reset the EEPROM, and reassigned the pins, we'll see if that helps

It doesn't seem right to me, either.
You might need to check the control constants, like deadTime, minCoolIdleTime, and etc.
The only things about temperature control that have been changed are the minimum time settings, to support Glycol. That where it might go wrong, if it did.
 
Back
Top