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

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.
I'm a little late to the party, but I started playing with the ESP8266's for another project and stumbled across this. I apologize if this has been answered already, but 35 pages/1400 posts is a lot to wade through.

In my current BrewPi setup for my fermenter, I have an arduino uno (Also had a setup with a Nano, or maybe it was a mini) connected to a Raspberry Pi, as would be expected. The main issue is you have to have the RPi right there in order to log off the arduino and control it, and if you have more than one fermenter, especially if they're not right next to each other, you need a RPi for each.

With the ESP-8266 based setup, since it has WiFi, would that allow a differnet setup, such as a RPi elsewhere and communicating over WiFi, or better yet, the BrewPi front end running on a much more powerful linux based machine, and same principal - communicating over WiFi, maybe even with that front-end able to communicate with and control multiple ESP Brew Pis? If it can do that, I'd definitely look into moving over to this - it would make for a MUCH smaller, cleaner, simper setup at the fermenter.
 
I'm a little late to the party, but I started playing with the ESP8266's for another project and stumbled across this. I apologize if this has been answered already, but 35 pages/1400 posts is a lot to wade through.

In my current BrewPi setup for my fermenter, I have an arduino uno (Also had a setup with a Nano, or maybe it was a mini) connected to a Raspberry Pi, as would be expected. The main issue is you have to have the RPi right there in order to log off the arduino and control it, and if you have more than one fermenter, especially if they're not right next to each other, you need a RPi for each.

With the ESP-8266 based setup, since it has WiFi, would that allow a differnet setup, such as a RPi elsewhere and communicating over WiFi, or better yet, the BrewPi front end running on a much more powerful linux based machine, and same principal - communicating over WiFi, maybe even with that front-end able to communicate with and control multiple ESP Brew Pis? If it can do that, I'd definitely look into moving over to this - it would make for a MUCH smaller, cleaner, simper setup at the fermenter.

Yep! This project (these projects) allows for exactly that.

This thread is (currently, temporarily) about two different projects - BrewPi-ESP8266 and Fermentrack. The BrewPi-ESP8266 project allows for using WiFi to control a BrewPi controller from anywhere on your wireless network. It works with the traditional BrewPi software which will allow you to control a single controller - but wirelessly.

Fermentrack is fermentation tracking/control software which replaces the BrewPi-www web interface. It allows you to wirelessly control multiple BrewPi controllers at once from a single interface. It's also really easy to install, and can be used to flash the BrewPi-ESP8266 software onto an ESP8266.

I'm pretty proud of both projects and recommend using them together - but you're welcome to use whatever combination you prefer. Fermentrack is compatible with Arduino-based BrewPi controllers (and can be used to track specific gravity from Tilt hydrometers without a BrewPi controller having been configured) and - as mentioned - BrewPi-ESP8266 works with the classic BrewPi-www interface. More options is better - find the mix that works for you!
 
Yep! This project (these projects) allows for exactly that.

This thread is (currently, temporarily) about two different projects - BrewPi-ESP8266 and Fermentrack. The BrewPi-ESP8266 project allows for using WiFi to control a BrewPi controller from anywhere on your wireless network. It works with the traditional BrewPi software which will allow you to control a single controller - but wirelessly.

Fermentrack is fermentation tracking/control software which replaces the BrewPi-www web interface. It allows you to wirelessly control multiple BrewPi controllers at once from a single interface. It's also really easy to install, and can be used to flash the BrewPi-ESP8266 software onto an ESP8266.

I'm pretty proud of both projects and recommend using them together - but you're welcome to use whatever combination you prefer. Fermentrack is compatible with Arduino-based BrewPi controllers (and can be used to track specific gravity from Tilt hydrometers without a BrewPi controller having been configured) and - as mentioned - BrewPi-ESP8266 works with the classic BrewPi-www interface. More options is better - find the mix that works for you!

VERY awesome! I will definitely be looking into this more!

I have no particular 'loyalty' to BrewPi in particular, so if Fermentrack does the same things as BrewPi as far as fermentation is concerned as well as BrewPi does it (I have no reason to suspect it wouldn't), I would have no issue moving over to that. Probably would be easier to use that with the ESP anyway. All I am looking for is fermenter control. Don't need all the extra stuff the newer BrewPi can do like brewing control and such.

Any reason the Fermetrack can't be installed on a x86-64 Linux machine such as CentOS or Ubuntu?
 
Last edited:
Were you still running the Raspberry Pi 2 when this was happening?

The Tilt in theory should be able to be picked up by as many devices as are in range - the way it works is by broadcasting out its readings to anything in range that is capable of hearing it.

The controller on the other hand can only talk to one Pi at a time. If you have the controller set up on two Pi’s (or two installations of Fermentrack on the same Pi, or an installation of Fermentrack and an installation of BrewPi — not that I’ve ever done any (all) of these and been confused when things didn’t work) then it won’t act as you would expect and would potentially do what you just described.
No, I was trying to explain the rather convoluted path that led to the solution when running the new RPI3, the RPI2 (the original) had no power during this entire procedure. I think that I showed that the Tilt can pick up the temperature controller independently, the problem was that the temperature controller could not integrate the Tilt fields/data into Fermentrack unless it had been specifically added to the Fermentrack instance running on a particular RPI. So if i add the temp controller to RPI 1 and then create a new Fermentrack on RPI 2, I can add the controller to RPI2, but when I attempt to add the Tilt device to the controller without going though the process of adding the controller to RPI2, it is like two ships passing in the night. Each one of them can independently report to Fermentrack on RPI2, but trying to integrate the data of the Tilt into the graph of the controller does not work--at least in my case. Just a cautionary tale for anyone who goes off script and tries to take short cuts. Thanks again for a great program.
 
I installed (or tried to) Fermentrack on a spare RPi2 using the automatic install (curl -L install.fermentrack.com | sudo bash) and it seemd to install fine, until the very end when it went to start - I got '
Starting Fermentrack supervisor: circusd: /home/fermentrack/fermentrack/utils/updateCronCircus.sh: line 36: /home/fermentrack/venv/bin/circusd: No such file or directory failed, please see logfile.' Looking in '/home/fermentrack/venv/bin/', there is no 'circusd'. If I manually try to run './updateCronCircus.sh', I get 'ERROR: Could not find python virtualenv enviroment'. Any thoughts?
 
I installed (or tried to) Fermentrack on a spare RPi2 using the automatic install (curl -L install.fermentrack.com | sudo bash) and it seemd to install fine, until the very end when it went to start - I got '
Starting Fermentrack supervisor: circusd: /home/fermentrack/fermentrack/utils/updateCronCircus.sh: line 36: /home/fermentrack/venv/bin/circusd: No such file or directory failed, please see logfile.' Looking in '/home/fermentrack/venv/bin/', there is no 'circusd'. If I manually try to run './updateCronCircus.sh', I get 'ERROR: Could not find python virtualenv enviroment'. Any thoughts?

Do you happen to know what version of Raspbian you're running? Is it an old or new Raspbian install?

It sounds like either the virtualenv didn't get set up (which would be weird, but certainly not impossible) or circus didn't install via pip. Can you check if you have a /home/fermentrack/venv directory?
 
Do you happen to know what version of Raspbian you're running? Is it an old or new Raspbian install?

It sounds like either the virtualenv didn't get set up (which would be weird, but certainly not impossible) or circus didn't install via pip. Can you check if you have a /home/fermentrack/venv directory?

It's the latest build (stretch). Yes, there is a '/home/fermentrack/venv' directory. inside the 'venv/bin' directory, there are 14 files - four variants starting with 'activate', two with 'easy_install', three with 'pip', four with 'python' and 'wheel'.

On the BrewPi-ESP firmware, what is it running? Is it running on LUA or is it complied with the Arduino IDE?
 
On the BrewPi-ESP firmware, what is it running? Is it running on LUA or is it complied with the Arduino IDE?

It's based on the Arduino IDE, but was compiled using platform.io + CLion (which - I must say - I love). I tried using Lua for a sprinkler project awhile back but the ESP kept inexplicably locking up. I finally gave up and switched, and haven't looked back.

I'll PM you to try to diagnose what's going on - what you're describing is very strange.
 
If i am on the front page of fermentrak/dashboard screen and it prompts me for "This app is not at the latest version! Upgrade from GitHub to receive the latest version."
I then hit the upgrade from github link in the prompt it takes me to
Upgrade from GitHub
Local Commit Info:
Active Branch: master
Commit Date: Aug. 26, 2017, 10:35 a.m.
Commit Message: Merge pull request #200 from thorrak/fixes Fixes
Commit Hex SHA: 5e3c64aeddbe248f52cba5e7d13a0a84bf0b31da
Remote Commit Info:
Commit Date: Nov. 20, 2017, 4:56 p.m.
Commit Message: Add Tilt Reset Functionality (#220) * Create signals to trigger reload of the Tilt configuration as needed * Add ability to stop logging a gravity log
Commit Hex SHA: 7d5ea9427e486440f78efc3bf903ece3b962ce2b
Click here to upgrade from github.
I click to upgrade but it doesnt seems to upgrade.
Should i do it manually via ssh into the Pi?
 
If i am on the front page of fermentrak/dashboard screen and it prompts me for "This app is not at the latest version! Upgrade from GitHub to receive the latest version."
...
Should i do it manually via ssh into the Pi?

Yes. In the latest commit I added the ability to trigger a forced upgrade directly from the gui. For now, you can log into the pi and execute

Code:
sudo su fermentrack
cd ~/fermentrack
utils/force_upgrade.sh

If you don't have utils/force_upgrade.sh, you'll need to do the following:
Code:
sudo su fermentrack
cd ~/fermentrack
git fetch --all
git reset --hard @{u}

Once you do that, you should be good for all future upgrades.
 
From looking around, I'm assuming this is the tilt Hydrometer you're all referring to? I assume it's generally being logged to a RPi3 or RPi Zero W near the fermenter - If at all possible, I'd like to have my control elsewhere, ideally in some sort of VM. Would it be possible to set up a RPi Zero W with their image to receive the BLE transmissions and relay them over to Fermentrack over the Wireless?
 
From looking around, I'm assuming this is the tilt Hydrometer you're all referring to? I assume it's generally being logged to a RPi3 or RPi Zero W near the fermenter - If at all possible, I'd like to have my control elsewhere, ideally in some sort of VM. Would it be possible to set up a RPi Zero W with their image to receive the BLE transmissions and relay them over to Fermentrack over the Wireless?

Yes, that is the Tilt we all refer to :)
 
From looking around, I'm assuming this is the tilt Hydrometer you're all referring to? I assume it's generally being logged to a RPi3 or RPi Zero W near the fermenter - If at all possible, I'd like to have my control elsewhere, ideally in some sort of VM. Would it be possible to set up a RPi Zero W with their image to receive the BLE transmissions and relay them over to Fermentrack over the Wireless?
Theoretically, yes, but this isn’t currently supported and would require a lot of hacking outside of Fermentrack.

There might be a way to hack the iSpindel support (once that gets built) to do this - but someone would have to step up and code the missing pieces.
 
If you're using Fermentrack, just flash the "WiFi Reset" firmware. After you flash it, power cycle it, and wait ~2 minutes. You'll be good to go.
I'm trying to load BrewPiless with an OLED screen on one of your boards. I think I have the program loaded but can't connect to my network. I can see brewpiless in my wireless network scanner. I think I screwed up the network security password and want to try and start over.I have Fermentrack rocking and rolling on another board.Fermentrack runs great.
 
I'm trying to load BrewPiless with an OLED screen on one of your boards. I think I have the program loaded but can't connect to my network. I can see brewpiless in my wireless network scanner. I think I screwed up the network security password and want to try and start over.I have Fermentrack rocking and rolling on another board.Fermentrack runs great.

You can use the same process to reset it. Just reflash BrewPiLess once you’re done. I should have BrewPiLess as an option to be flashed from within Fermentrack - but not all of the images @pocketmon provides. I need to update the list.

Alternatively, you can just download the bin and flash it directly - it’s in the “bin” folder in my ESP firmware repo.
 
so didn't have much luck with the last reset commands so reloaded fermentrack from scratch. didn't flash esp8266 again. up and running and now want to hook up my ispindle. Will have to resurrect it first. looking good. hope the re-flash fixes my drop out issues
 
mmm lasted a couple of days but getting the
Cannot receive
LCD text from
Controller/Script
issue again.
doesnt happen on the the couple of old original brewpi wifi instances I have running on another pi
error log doesnt really show anything
anybody else having this issue?
 
I just tried to do a full fresh install
Code:
curl -L install-legacy-support.fermentrack.com | sudo bash
and got this error

Welcome to nginx!
If you see this page, the nginx web server is successfully installed and working. Further configuration is required.

For online documentation and support please refer to nginx.org.
Commercial support is available at nginx.com.

Thank you for using nginx.
 
Last edited:
I said screw it, Let's try this, so I'm in the middle of downloading from
Code:
curl -L install.fermentrack.com | sudo bash
It's the new Raspbian on a RPI Zero
RASPBIAN STRETCH LITE
 
I said screw it, Let's try this, so I'm in the middle of downloading from
Code:
curl -L install.fermentrack.com | sudo bash
It's the new Raspbian on a RPI Zero
RASPBIAN STRETCH LITE

Look at my post 1405 - did you happen to see anything similar? What you're seeing seems very similar to the issues I had. What enses up fixing it for me was I re-ran './install.sh' from the fermentrack-tools directory, after which it started working.
 
It flashed and is now running with (curl -L install.fermentrack.com | sudo bash) I'm having a hard time flashing the D1 mini however. I get a time out in Fermentrack.
Look at my post 1405 - did you happen to see anything similar? What you're seeing seems very similar to the issues I had. What enses up fixing it for me was I re-ran './install.sh' from the fermentrack-tools directory, after which it started working.
E
 
I had a similar issue there too - If you haven't already, have it check for new firmware. There should be a few modes available. I'm not familiar with the D1, but In my case, the default 'NodeMCU (ESP-12E) returned the same problem with my Feather Huzzah. I had to use 'Non-NodeMCU (QIO Flash Mode)', and IIRC, with my other units, I had to use 'Non-NodeMCU (DIO Flash Mode)' to get them to take. On mine (other than the Huzzah, which doesn't have a 'Flash' button, I had to hold the flash button when connecting it and until just before I clicked to flash the firmware. That was the only way I was able to get them to flash right.
 
I just tried to do a full fresh install
Code:
curl -L install-legacy-support.fermentrack.com | sudo bash
and got this error

Welcome to nginx!
If you see this page, the nginx web server is successfully installed and working. Further configuration is required.

For online documentation and support please refer to nginx.org.
Commercial support is available at nginx.com.

Thank you for using nginx.

Did you do this after running the regular install? That script only installs legacy support for apps like Raspberry Pints. You would have to run both.
 
It flashed and is now running with (curl -L install.fermentrack.com | sudo bash) I'm having a hard time flashing the D1 mini however. I get a time out in Fermentrack.

E

For what it’s worth I could never get me RPI mini to flash my ESP I think it might have been a power issue?
 
If you add or remove a onewire (DS18B20) sensor to/from the bus, is there a period of time in which it refreshes what's on the bus, or a way to manually scan and refresh (IE: adding or removing a fermenter)? Or is the only way to power cycle the ESP8266? While my chamber and room temp sensors won't change, I have three fermenters, each with its own DS18B20 device in the thermowell.
 
Also, I got impatient (go figure lol) and wanted to test out the ESP8266 based Fermentrack. Since I'm waiting for my PCBs to be made and get to me, I pulled apart my old BrewPi setup on my fermentation chamber (converted upright frost free freezer) and wired up the ESP8266. So far it seems to be doing nicely, but there's one thing that I'm not seeing that was there in BrewPi and was nice to have - not sure if I'm just missing it or it actually isn't there. With BrewPi, there was a bar at the bottom of the graph that showed when it was heating or cooling. Basically, there would be blue when it was cooling, red when heating and nothing when idle. From looking at the graphing, it *appears* as if it cooled for about 10 minutes, stopped cooling for about 10 minutes, started cooling again and repeated that cycle twice so far. Is there something I missed that would add that to the graph, or is it not there? If it's not there, any chance it could be added in a later release?

I also note that there doesn't seem to be much related to the chamber door, which has a pin - perhaps a 'door status' line could be added to the panel on the right that has the temps and settings under the 'log interval/device settings' box (without something like that, how would you even test to see if it's working right?)?
 
Last edited:
What did you end up doing? I can supply power to the D1 mini if needed.

I think, powered hub to the Pi and with USB out going back from pi to the USB hub and out to the Wemos (does that make sense?) its only ever been a problem flashing, as I actually have mine connecting and running via serial rather than WiFi.
 
I think, powered hub to the Pi and with USB out going back from pi to the USB hub and out to the Wemos (does that make sense?) its only ever been a problem flashing, as I actually have mine connecting and running via serial rather than WiFi.
That's how I have it configured.USB power to the Pi from my pc, then a four USB/ethernet hub out of the pi, with the D1 mini connected to one of the USB ports on the hub. The Pi is connected to the network through the ethernet cable
 
Hi Thorrak,
Though I am happy using my ESP-8266 based system controlled by Fermentrack. However, I would like to use a Particle Photon Spark as a core system, and hence can you kindly provide an update as to what timescale you intend to add the Spark support to Fermentrack out please?
Thanks.
 

Latest posts

Back
Top