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

    Homebrewing Facebook Group

Native ESP8266 BrewPi Firmware - WiFi BrewPi, no Arduino needed!

Homebrew Talk

Help Support Homebrew Talk:

This site may earn a commission from merchant affiliate links, including eBay, Amazon, and others.
Getting an error.
Capture2.JPG
 
I hooked up the pi zero to the ethernet and ran sudo apt-get update and upgrade and all seems to work .still installing but I got to the green Fermentrack screen
I used full auto install curl -L install.fermentrack.com | sudo bash
 
Last edited:
I'm genuinely blown away by this, @Thorrak - I've fought tooth and nail with the original BrewPi software. Ages to set up. Spotty flashing to the Arduinos. Glitchy web interface. Unreliable configuration.

This?

Everything installed with one command line? Easy clicky setups? And converting it to Bluetooth is as easy as - wait for it - pi. Just change ttyACM0 to refcomm0, and done. DONE!

You're ever in the Bay Area, I owe you a pint or six. In the meantime, strongly suggest you add a Paypal donate button so users can buy you and Stone one remotely.
 
Capture4.JPG
Log on to the ip and get a page full of code and this error You're seeing this error because you have DEBUG = True in your Django settings file. Change that to False, and Django will display a standard page generated by the handler for this status code.
 
Apologies for the multi-quote! Work has been hell, so I haven't had as much time to read HBT/think about Fermentrack/the D1 port as I would like.

Does Fermentrack support the BrewPi logging functionality?
If it does, check the logs, they often give solid clues...

Cheers!

Yep. Device logs are available if you click the question mark in the upper right hand corner. Then just choose the log you're interested in (stderr/stdout) for the controller you are interested in.


Hey guys - getting a 404 error from github when trying to get to the controller setup links e.g. https://thorrak.github.io/fermentrack/hardware/config/Serial Controller Setup.md

Where did you see that link? I probably have something mislinked somewhere. The page you probably want is here:
https://thorrak.github.io/fermentrack/config/Serial Controller Setup/


I tried semi-auto install
View attachment 560080

Yeah - it looks like your Raspberry Pi was having issues connecting to the internet (or the apt repository you have configured). I see you've since fixed it, but I would try ethernet (which you did, and which sounds like it worked!) or reconfiguring the WiFi. Alternatively, give it a few hours and try again. Always possible if the repository is down that it will be back!

I'm genuinely blown away by this, @Thorrak - I've fought tooth and nail with the original BrewPi software. Ages to set up. Spotty flashing to the Arduinos. Glitchy web interface. Unreliable configuration.

This?

Everything installed with one command line? Easy clicky setups? And converting it to Bluetooth is as easy as - wait for it - pi. Just change ttyACM0 to refcomm0, and done. DONE!

You're ever in the Bay Area, I owe you a pint or six. In the meantime, strongly suggest you add a Paypal donate button so users can buy you and Stone one remotely.

Thanks! Glad you like it! Usability is/was a primary concern - and I like reports of things that aren't intuitive (or are otherwise hard to use) so that they can be tracked as issues and eventually fixed.

Also, I'll never turn down a free pint. Let me know if you're in NYC, and I'll happily buy you one in return. ;)

View attachment 560086 Log on to the ip and get a page full of code and this error You're seeing this error because you have DEBUG = True in your Django settings file. Change that to False, and Django will display a standard page generated by the handler for this status code.

Hmm. What issue are you experiencing (other than the error message, of course!)? I did a fresh install of Fermentrack about two weeks ago, and had no issues -- I'm wondering if maybe something didn't load properly? Try running the upgrade script by hand.
 
Hmm. What issue are you experiencing (other than the error message, of course!)? I did a fresh install of Fermentrack about two weeks ago, and had no issues -- I'm wondering if maybe something didn't load properly? Try running the upgrade script by hand.
I tried to install on another pi with a fresh download of Jessie and got the same error message when I log on to the web page.Looks like Fermentrack loads on the RPI ok.Still get the error about the DEBUG = TRUE in Django and it won't load the Fermentrack web page.Run this command? sudo -u fermentrack ~fermentrack/fermentrack/utils/upgrade.sh
 
I tried to install on another pi with a fresh download of Jessie and got the same error message when I log on to the web page.Looks like Fermentrack loads on the RPI ok.Still get the error about the DEBUG = TRUE in Django and it won't load the Fermentrack web page.Run this command? sudo -u fermentrack ~fermentrack/fermentrack/utils/upgrade.sh
I ran the update command and rebooted the pi -no change
 
This is the top of the page
View attachment 560184

Thanks for that - very helpful. I think I know what's going on & have pushed an update that should resolve this.

Fermentrack is (currently) written in Python 2. The latest version of Zeroconf (released last week) has dropped python 2 support. Guessing this isn't a coincidence. At least the fix is easy, if that's the case!

Run the upgrade script again and you should be in business. Sorry about that (and thanks for reporting it!)
 
Hi Thorrak, I am running Brewpiless on one of your board and my question is if Fermentrack is working also with Brewpiless. And how is it with iSpindel used as beer sensor and SG based temperature controling with Brewpiless and Fermentrack? In this moment I do not have any RPi (so I am not able to try it) and I am litlle bit lost in lot of information. Thanks.
 
Hi Thorrak, I am running Brewpiless on one of your board and my question is if Fermentrack is working also with Brewpiless. And how is it with iSpindel used as beer sensor and SG based temperature controling with Brewpiless and Fermentrack? In this moment I do not have any RPi (so I am not able to try it) and I am litlle bit lost in lot of information. Thanks.

I don’t think iSpindel is integrated into Fermentrack just yet, but believe it’s in the pipeline.
 
Hi Thorrak, I am running Brewpiless on one of your board and my question is if Fermentrack is working also with Brewpiless. And how is it with iSpindel used as beer sensor and SG based temperature controling with Brewpiless and Fermentrack? In this moment I do not have any RPi (so I am not able to try it) and I am litlle bit lost in lot of information. Thanks.


Couple of things in there:

BrewPiLess Support - Not something that is currently integrated. I don’t know if BrewPiLess supports off-ESP logging, but if it does then support may be added in the future - but I’m guessing that would be a year or more out.

iSpindel as Beer Sensor - This is something I would love to support. In fact, I would love to support any remote temperature sensor as beer sensor if there’s a way to do so. This will require firmware changes - but they’re changes I would love to make.

iSpindel Gravity Support - This is coming. In fact...

I don’t think iSpindel is integrated into Fermentrack just yet, but believe it’s in the pipeline.

@ElChangoGuero was kind enough to provide a pre-built iSpindel late last year, but unfortunately the ESP somehow managed to die between when he shipped it and two weeks ago. I got replacement hardware last weekend, soldered everything up, and think I now have a working iSpindel on a desk in my office.

Next up is decoding how it sends it’s data to http endpoints and then building an interface it can hook into. That should - hopefully - be the easy part though.
 
Last few times I've triggered an update it fails and from the IP in the browser I'm left with:
502 Bad Gateway nginx/1.6.2

When I've then forced an upgrade via ssh I get stuck at:
Updating requirements via pip...

Last time I resorted to running:
curl -L install-gravity-support.fermentrack.com | sudo bash

And then all was good.

Any idea why I can't upgrade?
 
Next up is decoding how it sends it’s data to http endpoints and then building an interface it can hook into. That should - hopefully - be the easy part though.

Hi Thorrak,

I was trying to add my spindle logs to my fermentrack installation.
Take a look at @DottoreTozzi work on GitHub and his TCP-Server (https://github.com/DottoreTozzi/iSpindel-TCP-Server).

It is easy to get datas and post them to an http API or to get them from the database. And you can look how he do.

I was trying to add a new "forwarder" but does not find a way to use the "add data" form of fermentrack because of the authentication.

Regards,
Juju
 
Take a look at @DottoreTozzi work on GitHub and his TCP-Server (https://github.com/DottoreTozzi/iSpindel-TCP-Server).

It is easy to get datas and post them to an http API or to get them from the database. And you can look how he do.

I was trying to add a new "forwarder" but does not find a way to use the "add data" form of fermentrack because of the authentication.

The way that I'm implementing it uses the "HTTP" option for iSpindel configuration, as that won't require any additional daemons/ports to be opened. I did some work this morning & think I have the endpoint finished for this implementation - only trick now is integrating that endpoint into Fermentrack's existing gravity support. Again - that should be pretty quick. Stay tuned.

Thus far, the only potential issue I see is that the iSpindel doesn't have explicit zeroconf support so you'll have to make sure your Fermentrack installation doesn't change IP addresses too frequently. Otherwise, this should be a pretty easy thing to set up & use. Easier than Tilt, once the device is built.
 
Last few times I've triggered an update it fails and from the IP in the browser I'm left with:
502 Bad Gateway nginx/1.6.2

When I've then forced an upgrade via ssh I get stuck at:
Updating requirements via pip...

Last time I resorted to running:
curl -L install-gravity-support.fermentrack.com | sudo bash

And then all was good.

Any idea why I can't upgrade?

Can you check your upgrade log & see what is causing the issues when Pip goes to upgrade? I'm guessing the issue is the zeroconf change that I had to make a few days ago.
 
Last update has gone without issue. Only change i made is to revert to allowing IPV6.

My earlier WiFi connection issues seems to be down to a dodgy powerline plug :-/

The LCD reset firmware is going great by the way, no screen scramble.

I'll post my log if I encounter an update issue again.
 
The way that I'm implementing it uses the "HTTP" option for iSpindel configuration, as that won't require any additional daemons/ports to be opened. I did some work this morning & think I have the endpoint finished for this implementation - only trick now is integrating that endpoint into Fermentrack's existing gravity support. Again - that should be pretty quick. Stay tuned.

Thus far, the only potential issue I see is that the iSpindel doesn't have explicit zeroconf support so you'll have to make sure your Fermentrack installation doesn't change IP addresses too frequently. Otherwise, this should be a pretty easy thing to set up & use. Easier than Tilt, once the device is built.

Incorporating the BrewpiLess configuration function would be really useful too.

https://github.com/vitotai/BrewPiLess/wiki/iSpindel-Support

https://github.com/vitotai/BrewPiLess/issues/5
 
Couple of things in there:

BrewPiLess Support - Not something that is currently integrated. I don’t know if BrewPiLess supports off-ESP logging, but if it does then support may be added in the future - but I’m guessing that would be a year or more out.

I don't see the point for Fermentrack to support BPL, or vice versa.
The purpose of BPL is to eliminate the RPI, while Fermentrack is a better alternative of BrewPi frontend on the RPI. BPL monitors and keeps beer profile on ESP8266, and Fermentrack does it on RPI. There will be conflict.
 
I don't see the point for Fermentrack to support BPL, or vice versa.
The purpose of BPL is to eliminate the RPI, while Fermentrack is a better alternative of BrewPi frontend on the RPI. BPL monitors and keeps beer profile on ESP8266, and Fermentrack does it on RPI. There will be conflict.

Yeah, agreed. Fermentrack currently supports flashing BPL to an ESP (it's one of the available firmware options) but the only advantage I would see to further integration would be as a means to back up log files somewhere. Trying to implement the ability to control BPL from within Fermentrack (or vice-versa) would only get confusing.


Incorporating the BrewpiLess configuration function would be really useful too.

https://github.com/vitotai/BrewPiLess/wiki/iSpindel-Support

https://github.com/vitotai/BrewPiLess/issues/5

I haven't used @pocketmon 's configuration function so I'm not sure as to the similarities/differences but I'm currently working on two configuration functions and I'm guessing one of them will accomplish what you're looking for. Keep an eye on this space - I'll post more info later today ;)
 
I haven't used @pocketmon 's configuration function so I'm not sure as to the similarities/differences but I'm currently working on two configuration functions and I'm guessing one of them will accomplish what you're looking for. Keep an eye on this space - I'll post more info later today ;)

Allow me to explain the configuration of BPL, although I don't really know what @Mikmonken means.

BPL started to support of iSpindel since version 5.2.1(?) when iSpindel didn't calculate the gravity but only tilt angle. Therefore, BPL must have the calibrated formula to calculate gravity.
Later on, I developed a new feature, brew and calibrate, by which users supply the tilt value in water(SG 1.0) and gravity data and BPL will derive the formula automatically based on the tilt value from iSpindel and gravity data from user.

The configuration contains the necessary parameters for those two features as well as the parameters for gravity-based beer profile.

I don't know how others' iSpindel perform. Mine usually drifts around 0.4 points(0.0004) and occasionally 1 point jump because of bubble attaching/detaching effect. IMO, a simple low pass filter isn't a bad idea in this case.

BTW,
Since starting to use iSpindel, I started to collect the gravity logs. I think it is a good idea to share the gravity charts so that homebrewers could have reference about gravity change of specific yeast. Should we have a common, shared data format of fermentation information like BeerXML for recipe?
 
Allow me to explain the configuration of BPL, although I don't really know what @Mikmonken means.

BPL started to support of iSpindel since version 5.2.1(?) when iSpindel didn't calculate the gravity but only tilt angle. Therefore, BPL must have the calibrated formula to calculate gravity.
Later on, I developed a new feature, brew and calibrate, by which users supply the tilt value in water(SG 1.0) and gravity data and BPL will derive the formula automatically based on the tilt value from iSpindel and gravity data from user.

I figured that's how you were doing it. I'm basically taking a similar approach:
Screenshot 2018-03-04 10.50.17.png

I don't know how others' iSpindel perform. Mine usually drifts around 0.4 points(0.0004) and occasionally 1 point jump because of bubble attaching/detaching effect. IMO, a simple low pass filter isn't a bad idea in this case.

Yeah, agreed. I don't have any kind of filtering implemented at the moment but given that memory isn't an issue with the RPi (and I'm using redis to cache in any case), implementing one should be pretty easy.

BTW,
Since starting to use iSpindel, I started to collect the gravity logs. I think it is a good idea to share the gravity charts so that homebrewers could have reference about gravity change of specific yeast. Should we have a common, shared data format of fermentation information like BeerXML for recipe?

Huh. That sounds like it could be interesting. If nothing else, it would (potentially) provide for ideas of time vs. attenuation for various starting gravity & temperature profiles.
 
Quick update - iSpindel support is now live in Fermentrack. Trigger an update from GitHub to see it in your installation.

The reason this is a quick update (and not a full announcement) is that it's largely untested, and I am not 100% done with it. Still - it should be usable for people that already have working iSpindel setups, hence why I'm pushing it out in its current state. As always, suggestions/bug reports are greatly appreciated.
 
Sorry yes meant calibrate in brew not configure. [emoji106]

Looking forward to testing this once my current brew is finished!!
 
...And with that last pull request, iSpindel support is pretty much where I want it. As such, with no further ado:

Fermentrack Update - iSpindel Support!

Support for iSpindel DIY specific gravity sensors has now been added to Fermentrack. iSpindel devices can now be added to Fermentrack, and Fermentrack can be used to track change in specific gravity alongside temperature. Support is identical as to that already implemented for Tilt devices & manual readings, with some additional features for calibrating the iSpindel sensor.

There are three methods for calibrating iSpindel sensors within Fermentrack to allow the calculation of specific gravity from sensor angle:

Method 1 - Direct Entry (Hardest):

Fermentrack allows for the entry of the conversion equation coefficients directly into a configuration page. The conversion equation can be either cubic, quadratic, or linear. This option is best for people who have already calibrated their iSpindel device, and are just looking to migrate to Fermentrack.

Screenshot 2018-03-04 20.15.02.png

Method 2 - Known Calibration Points (Easy):

If you have performed other fermentations with your iSpindel and took gravity measurements or want to follow the official calibration guidance, Fermentrack allows for the entry of known angle/gravity calibration points and will perform a cubic, quadratic, or linear regression to determine the proper coefficients for the conversion equation.

Screenshot 2018-03-04 10.50.17.png

Method 3 - Guided Calibration (Easiest):


If you have no existing data, have just built an iSpindel, or are otherwise interested in an easy, guided path through calibrating your device, Fermentrack offers a guided calibration process. By mixing up solutions of known specific gravity, Fermentrack will have you collect data points from an SG of 1.000 through 1.128 and will use these calibration points to perform the regression and determine the proper coefficients for the conversion equation. All you need is a scale, a bucket, water, sugar, and something to mix in/with. From start to finish in about 10 minutes.

Screenshot 2018-03-04 20.15.22.png


As always, please reach out with suggestions, bug reports, or other issues. I haven't used the iSpindel support in a full fermentation yet, but I look forward to seeing everyone's graphs! Special thanks to @ElChangoGuero for building the iSpindel I used for testing/implementation. Without having a device to play with, this would have been much harder. Additional thanks to Sam & everyone else involved in the iSpindel project for making it as easy as it was to integrate & work with.
 
So I finally brewed a batch of beer this weekend for the first time in about two years, and am using Fermentrack, an ESP8266 based controller and I also have a Tilt Hydrometer now. Everythign's working nice, but I have a question about the Tilt. Fermentrack is receiving the Tilt's data nicely, but initially, when I clicked on the 'View Dashboard' for the tilt, I was able to see a chart of the SG. It was unbound at that time. I then bound it to the ESP8266 controller that is controlling the fermentation temperature, and it seems that chart is now gone. Is there something that I'm missing (or missed) related to the proper setup of the Tilt?

Edit: Another question related to heating. I had previously been using a 75W light bulb with a fan under it to heat the chamber, but had issues when I was testing the ESP controller with the bulb apparently somehow loosing connection and not lighting and generating heat. I picked up a 350W 'Handy Heater' from Home depot today as a possible replacement (Fan & heat all in one), but it's severely overshooting the mark and bringing the chamber temp up to over 80 degrees (66* beer set point), causing the chamber to cool after the heating. Is the controller likely to 'figure it out' and adjust for the heating of the new heater, or is it just too much heat for it to adjust to?

One More - Maybe I'm missing it, but is there a 'printer friendly' way to print the log off? Might be a nice thing to be able to print it and put it in a file with the brew notes.
 

Attachments

  • Beer Temps.JPG
    Beer Temps.JPG
    107.6 KB
Last edited:
...initially, when I clicked on the 'View Dashboard' for the tilt, I was able to see a chard of the SG. It was unbound at that time. I then bound it to the ESP8266 controller that is controlling the fermentation temperature, and it seems that chart is now gone. Is there something that I'm missing (or missed) related to the proper setup of the Tilt?

Do you have a beer active on the bound controller? The logging status of the gravity sensor is tied to the logging status of the temperature controller, and you should be able to see the gravity data if you can see temperature data on the temperature controller's dashboard.

That said... If that's not what is happening, then I may have missed something somewhere. I don't actually have an active gravity sensor at the moment, so I may be remembering things incorrectly.

Edit: Another question related to heating. I had previously been using a 75W light bulb with a fan under it to heat the chamber, but had issues when I was testing the ESP controller with the bulb apparently somehow loosing connection and not lighting and generating heat. I picked up a 350W 'Handy Heater' from Home depot today as a possible replacement (Fan & heat all in one), but it's severely overshooting the mark and bringing the chamber temp up to over 80 degrees (66* beer set point), causing the chamber to cool after the heating. Is the controller likely to 'figure it out' and adjust for the heating of the new heater, or is it just too much heat for it to adjust to?

Unfortunately, I'm going to go with "too much heat". In theory the controller might figure it out over time, but I don't expect it would ever quite get to the point where it was as well controlled as you might like.
 
Do you have a beer active on the bound controller? The logging status of the gravity sensor is tied to the logging status of the temperature controller, and you should be able to see the gravity data if you can see temperature data on the temperature controller's dashboard.

That said... If that's not what is happening, then I may have missed something somewhere. I don't actually have an active gravity sensor at the moment, so I may be remembering things incorrectly.

Yes, I have an active beer on the controller (unless I'm doing something wrong - the attached image in my last post shows all the data on the dashboard for the controller controlling the fermenter). If I go to the tilt, it says 'Now Fermenting: Nothing', but it does show the current SG and Temp, and it shows 'Assigned Temp Controller: TestESPPi2', which is the one controlling the fermentation (just never renamed it).


Unfortunately, I'm going to go with "too much heat". In theory the controller might figure it out over time, but I don't expect it would ever quite get to the point where it was as well controlled as you might like.

Nothing wrong with that answer - if it's too much, it's too much. Any other suggestions (such as some other heater option), other than trying to figure out what my light bulbs malfunction was? For now, fixing its malfunction would be fine (but the connections are so simple, I'm not sure why it was getting lost in the weeds), but all other things aside, eventually, incandescent light bulbs are likely to become harder to find. LEDs are awesome, but for some things, you just need an incandescent. So at some point, we may need to find good alternatives to incandescent bulbs for the purposes of heating our chambers. But if this 350W heater is too much, I can't imagine what the more common 1500W heaters might be like!

But truthfully, I don't know what I (or others) might like - in the end, regardless of the chamber swings, if the beer remains really close to constant, I'm honestly not really sure how much it matters how much the chamber temp swings. If the chamber temp swings 15+ degrees over target, but through the heating and cooling logic, it keeps the beer temp on target, which in my case, I would think .25 degrees or so is with 'withing target', I'm not sure that it would have a negative effect - Now if something went off the rails and brought the beer 10* over target, that would be much different. This is the first time that I can think if that I've actually needed heat to maintain proper temps - all of my previous fermentations have only needed cooling to keep them where they belonged.

Edit: now truthfully, while it has been sending the chamber temp way over, the beer temp isn't nearly as much - initially it was overshooting the beer temp mark by about .25* or so, but the temp probe was on the same side as the heater, and after I rotated the fermenter so that the probe was on the opposite side, it seems to have dropped to .17 or so. So I suspect at least part of it was heat absorbed by the brass fitting.
 
Last edited:
Not yet. If one was to exist, what would you want on it?

Not EXACTLY sure... I would think the chart of the temps, with notes as to when it was started, when temp changes were made etc? And if applicable, a chart of the SG readings over the ferment period? I did a 'print preview' and it did as expected - put all the info over two pages, and to be honest, most of the data, as laid out in the webUI, other than the chart, while useful and relevant realtime, I don't think would be that useful in a printed copy (Current beer temp, fridge temp, control mode, log interval, what's on the LCD). Maybe others could weigh in as to what they would think would be good to be able to print off? It's something that I think might be nice, and if it was cake to do, awesome, but if, in the end, it was going to be too much of a pain to do, I wouldn't ask that you go bananas over it. It wouldn't be the end of the world.
 
Last edited:
Not EXACTLY sure... I would think the chart of the temps, with notes as to when it was started, when temp changes were made etc? And if applicable, a chart of the SG readings over the ferment period? I did a 'print preview' and it did as expected - put all the info over two pages, and to be honest, most of the data, as laid out in the webUI, other than the chart, I don't think would be that useful in a printed copy (Current beer temp, fridge temp, control mode, log interval, what's on the LCD). Maybe others could weigh in as to what they would think would be good to be able to print off? It's something that I think might be nice, and if it was cake to do, awesome, but if, in the end, it was going to be too much of a pain to do, I wouldn't ask that you go bananas over it. It wouldn't be the end of the world.

Makes sense. The big things that I can think of are the chart of temps, a printout of the fermentation profile that was used, and notes about the starting & ending gravity. There's a trick to doing this where you basically have the other elements on the page set to not print - I'll have to dig into an old project and see if it's there. In the mean time, the issue is being tracked here.
 
Back
Top