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.
Inch by inch I'm getting closer.Pulled the RPI off the ethernet. I can ssh with putty but I get the error posted below when I try and log in with the browser. I did a force update with the command line.Where do I find the upgrade log as mention in a few post back?
502 Bad Gateway
nginx/1.6.2
 
@Bigdaddyale I had the same issue and ran the following to get back up and running:

curl -L install-gravity-support.fermentrack.com | sudo bash


Although I'd be interested to know what your issue was. The log is in the same directory as the upgrade.sh script. Off the top of my head: fermentrack/utils/
No luck for me. Did a full reinstall over wifi w/o any problems -still no luck logging on to Fermentrack.
Edit 19:00 Did a full install over ethernet.No problems installing. Logged on and still got the 502 error. SSH the update- still no go. SSH the code in post-1682- nope.
 
Last edited:
I'm in the same boat - tried umpteen times these past 2 days with clean successful auto installs as per the instructions and always no start of fermentrack - 502 error...
 
Thanks Thorrak

I should add that it's a Pi3 bought this week, raspian stretch clean install with updates, settings made as per the guide before the auto install. It all looks like a successful install with no errors, as per Bigdaddyale above. I do already have a pi 2 running brewpi faultlessly, however, I am not experienced with raspian!
 
Thanks Thorrak

I should add that it's a Pi3 bought this week, raspian stretch clean install with updates, settings made as per the guide before the auto install. It all looks like a successful install with no errors, as per Bigdaddyale above. I do already have a pi 2 running brewpi faultlessly, however, I am not experienced with raspian!

Thank you @brewmart and @Bigdaddyale! All fixed now.

For the curious, Tornado (python package) released a new version this week that broke compatibility with Circus. Circus doesn't lock versions, so everything ended up breaking. To fix it, I went ahead and explicitly installed Tornado & locked the version. It's on Circus's list to fix.
 
Thank you @brewmart and @Bigdaddyale! All fixed now.

For the curious, Tornado (python package) released a new version this week that broke compatibility with Circus. Circus doesn't lock versions, so everything ended up breaking. To fix it, I went ahead and explicitly installed Tornado & locked the version. It's on Circus's list to fix.
BINGO ! Thanks
 
For the curious, Tornado (python package) released a new version this week that broke compatibility with Circus. Circus doesn't lock versions, so everything ended up breaking. To fix it, I went ahead and explicitly installed Tornado & locked the version. It's on Circus's list to fix.[/QUOTE]

Many Thanks Thorrak, I'm at work right now - do I need to do anything other than re-run the installer?
 
For the curious, Tornado (python package) released a new version this week that broke compatibility with Circus. Circus doesn't lock versions, so everything ended up breaking. To fix it, I went ahead and explicitly installed Tornado & locked the version. It's on Circus's list to fix.

Many Thanks Thorrak, I'm at work right now - do I need to do anything other than re-run the installer?[/QUOTE]
I just ran the update from putty. sudo -u fermentrack ~fermentrack/fermentrack/utils/upgrade.sh
 
Thanks, that's me up and running too.
Only a couple of questions now - can the line colours be changed by me? (the line colours of interest are very similar) and, the room temp input is not configured but shows on the graph / list, can this be removed?

edit - just realised that I can declutter the graph by clicking the icons so not such an issue.
edit 2 - just spotted that I can change colours 'via the Django admin' in advanced settings.

Can the outputs (heat / cool) be added to the graph, as in brewpi? quite handy for tuning...
 
Last edited:
Thanks, that's me up and running too.
Only a couple of questions now - can the line colours be changed by me? (the line colours of interest are very similar) and, the room temp input is not configured but shows on the graph / list, can this be removed?

edit - just realised that I can declutter the graph by clicking the icons so not such an issue.
edit 2 - just spotted that I can change colours 'via the Django admin' in advanced settings.

Can the outputs (heat / cool) be added to the graph, as in brewpi? quite handy for tuning...

Hah - always makes my life easier when people answer their own questions ;)


To the question about the outputs, the short answer is "I don't know".

The longer answer is that I hate working with dygraphs, and haven't had the motivation to try to explore the documentation for a trick that would allow for the state tracking. I agree that it's an important stat to be tracking, I just haven't figured out how to handle the display.
 
On a separate note, I went through and tested out the guided calibration workflow last night to calibrate my iSpindel. Things... actually went pretty well!

Screenshot 2018-03-07 23.04.03.png Screenshot 2018-03-07 23.04.17.png

I have no idea if those calibration points are reasonable, but the SG at each step aligned with what I expected it to be. After I get a few more tests in, it's on to round two of the specific gravity showdown!
 
Thorrak
First thanks for getting the integration with iSpindle. I had just built mine last week And went to post a thread about that status and you had it in testing. I did have a question. When connected through USB to the iSpindel to setup the connection, I can imagine that Fermentrack is not listed unless there is an update i am not aware of. So I would think that HTTP is what I would select. I know the IP address for my RPi, but is there anything else I should put in the address?
 
Hi I just received a tilt and am using an Arduino controller. How do I get my told to bond on fermentrack? I can’t seem to find instructions anywhere.
 
Hi I just received a tilt and am using an Arduino controller. How do I get my told to bond on fermentrack? I can’t seem to find instructions anywhere.

I am using a Raspberry Pi zero w that is attached via USB to the Arduino.
 
Thorrak
When connected through USB to the iSpindel to setup the connection, I can imagine that Fermentrack is not listed unless there is an update i am not aware of. So I would think that HTTP is what I would select. I know the IP address for my RPi, but is there anything else I should put in the address?

I'm surprised that you need to be connected via USB to your iSpindel device to configure it - for mine I just connected to an "iSpindel" WiFi network and used the configuration page there.

If you set the iSpindel up in Fermentrack first then Fermentrack will tell you what you need to enter on the iSpindel's configuration page. The only thing to watch out for is if you manually configured Fermentrack to use a port other than 80 - but that won't be the case for most users, I'm guessing.


Hi I just received a tilt and am using an Arduino controller. How do I get my told to bond on fermentrack? I can’t seem to find instructions anywhere. I am using a Raspberry Pi zero w that is attached via USB to the Arduino.

Assuming that you have the Arduino already installed/set up within Fermentrack, what are you having trouble with? Is it installing the Tilt in general (so the Tilt is seen as a standalone device in Fermentrack) or actually binding the Tilt to your Arduino controller?
 
I'm surprised that you need to be connected via USB to your iSpindel device to configure it - for mine I just connected to an "iSpindel" WiFi network and used the configuration page there.

If you set the iSpindel up in Fermentrack first then Fermentrack will tell you what you need to enter on the iSpindel's configuration page. The only thing to watch out for is if you manually configured Fermentrack to use a port other than 80 - but that won't be the case for most users, I'm guessing.




Assuming that you have the Arduino already installed/set up within Fermentrack, what are you having trouble with? Is it installing the Tilt in general (so the Tilt is seen as a standalone device in Fermentrack) or actually binding the Tilt to your Arduino controller?

The Raspberry Pi does not see the tilt.
 
The Raspberry Pi does not see the tilt.

Hmm. Couple of questions:

1. Which type of Raspberry Pi are you using? Pi 1, 2, 3, Zero, or Zero W?
2. To @Bigdaddyale's question, what version of Raspbian are you using?
3. Have you tried tapping the tilt to wake it up?
4. If you use the tilt app for Android/iPhone, can you see your tilt?

I just did a clean reinstall of Fermentrack & set my tilt up with it a few minutes ago, so at least on my end it seems to be working.
 
I'm using the full version of Jessie now. Knowing what I know now about the ESP8266 I'm sure I could get it to work by adding the lines of text to the SD card.I had problems connecting the 8266 to my home network because of error 1MA1D10T.
 
I probably should have looked into this BEFORE I did my build, but... I have breadboarded the project out and have it all working. The test script does what it is supposed to do and the relays flip on and off. The Tilt integrates nicely. Now, I don't really have a fridge or a keezer. Most recently I have been using a BrewJacket Immersion but now I am going to shift to SSBrewTech FTSs which is a coil in the fermenter cycling chilled water. Yes, it already comes with a controller that I haven't even used yet, but I like the pretty graphs and Tilt integration.

Now I thought I should actually configure the temp probes and test. Configured the temp probes for beer temp and room temp. Set up a test beer profile that just set the temp to 10 degrees below ambient for 5 minutes then 10 degrees above for 5 minutes. Rinse and repeat for 30 minutes. Finally figured out how to assign the profile and let it run. LCD shows the profile running in beer mode and eventually after 30 minutes+ it goes into beer constant mode but the relays never kick in for either chilling or heating.

Are there higher level docs on the programming side of this that tell you how to set things up to make things play right? Am I just dense and I'm not the target audience for BrewPi and you need a fridge for this to make sense? Don't hold back, I have thick skin. ;-)
 
I have breadboarded the project out and have it all working. The test script does what it is supposed to do and the relays flip on and off.

...

Now I thought I should actually configure the temp probes and test. Configured the temp probes for beer temp and room temp. Set up a test beer profile that just set the temp to 10 degrees below ambient for 5 minutes then 10 degrees above for 5 minutes. Rinse and repeat for 30 minutes. Finally figured out how to assign the profile and let it run...but the relays never kick in for either chilling or heating.

Couple of questions —

When you say “test script” do you mean the test script I have available within Fermentrack for testing ESP8266 builds, or a different test script? If it’s that script, then if you hear/see the relays clicking on and off, you should be good on the hardware/wiring front.

After you assign the profile, what does the LCD display within Fermentrack read on the bottom line? “Cooling for XH XM”, “Waiting to Cool”, or something different?

Do you see the beer temp on the LCD display, either on your breadboard/device or within Fermentrack?

My guess is that the rapid temperature swings in your profile may be causing the “compressor protection” functionality of the BrewPi firmware to kick in resulting in it never actually toggling the relay. Try a profile with longer times between large temperature swings and see if that helps.
 
@Thorrak Thanks for the reply. I used your test script available via the firmware upload. That worked fine so I think on the wiring front all is good. I then reflashed the serial connect firmware. With respect to the bottom line, it always says "Idling for <time>". Beer Temp is on the display and is reasonable on both the LCD and within Fermentrack. The 3rd line on the LCD toggles between Room and Fridge temp even though I don't have a fridge sensor defined. Fridge shows as -- -- when it cycles through. While I can see a compressor protection feature kicking in, I would have expected the initial temp configuration to have triggered a cooling cycle regardless. I will change the profile to have 30 minute swings and see if the behavior changes. Looking through the threads again, I see the various glycol threads which probably most parallel my scenario, but this doesn't appear to be implemented. Could that be the problem? It just isn't available or should I try tweaking settings to make it behave in my environment? Thanks again.

Update: Changed profile to 30 minute cycles and 35/90 for the swings around a 70 degree ambient. No change. I do notice that the Fridge display shows --.- for Temp and 33.8 for the set temp. I don't have anything set up as a chamber sensor or fridge temp probe. I just have the heating and cooling pins and beer and room sensors set up.
 

Attachments

  • BrewPi.jpg
    BrewPi.jpg
    3.2 MB · Views: 75
Last edited:
Hmm. Couple of questions:

1. Which type of Raspberry Pi are you using? Pi 1, 2, 3, Zero, or Zero W?
2. To @Bigdaddyale's question, what version of Raspbian are you using?
3. Have you tried tapping the tilt to wake it up?
4. If you use the tilt app for Android/iPhone, can you see your tilt?

I just did a clean reinstall of Fermentrack & set my tilt up with it a few minutes ago, so at least on my end it seems to be working.

Got my tilt to pair works great. It was just not waking up.
 
I do notice that the Fridge display shows --.- for Temp and 33.8 for the set temp. I don't have anything set up as a chamber sensor or fridge temp probe. I just have the heating and cooling pins and beer and room sensors set up.

Ahh - that’s the problem. The only sensor that is required is the fridge (chamber) sensor - if you don’t have one, BrewPi doesn’t operate. If you set one up everything should work.
 
BrewPi.jpg
Ahh - that’s the problem. The only sensor that is required is the fridge (chamber) sensor - if you don’t have one, BrewPi doesn’t operate. If you set one up everything should work.
DOH! I guess I can repurpose the room temp to be a fridge sensor or add a third sensor. I'm just not sure what the fridge sensor will be measuring in this case. I guess it will have to be the chilled water but that isn't going to be able to be "adjusted" and will more or less be a static. I'll play around with the fridge sensor and see what happens. Are there any postings or docs that describe different scenarios and which sensors to set up in what ways? Thanks.

Update: Changed to Fridge probe and that now shows Wait to Cool but the relay never triggers to cool. I'll keep poking at it and see if I can get it to trigger.

Update 2: Never mind. I'm an idiot. I didn't realize "Wait to Cool" was a countdown timer. After it elapsed, the cooling relay kicked in. I *think* everything is working as designed now. Sorry for my lack of understanding. I'll play around with the various timing configurations to see if I can understand how this all fits together. Thanks again!
 
Last edited:
View attachment 561652
DOH! I guess I can repurpose the room temp to be a fridge sensor or add a third sensor. I'm just not sure what the fridge sensor will be measuring in this case. I guess it will have to be the chilled water but that isn't going to be able to be "adjusted" and will more or less be a static. I'll play around with the fridge sensor and see what happens. Are there any postings or docs that describe different scenarios and which sensors to set up in what ways? Thanks.

Update: Changed to Fridge probe and that now shows Wait to Cool but the relay never triggers to cool. I'll keep poking at it and see if I can get it to trigger.

Update 2: Never mind. I'm an idiot. I didn't realize "Wait to Cool" was a countdown timer. After it elapsed, the cooling relay kicked in. I *think* everything is working as designed now. Sorry for my lack of understanding. I'll play around with the various timing configurations to see if I can understand how this all fits together. Thanks again!

At some point I need to do more research on glycol systems and figure out what settings work best for them. Sadly, I don’t think a glycol setup would work in my apartment, so I don’t see myself getting any firsthand experience with one any time soon.

If anyone near NYC has a glycol system and wants to play guinea pig, let me know!
 
At some point I need to do more research on glycol systems and figure out what settings work best for them. Sadly, I don’t think a glycol setup would work in my apartment, so I don’t see myself getting any firsthand experience with one any time soon.

If anyone near NYC has a glycol system and wants to play guinea pig, let me know!
No glycol here, just ice water and a pump. Still, a bigger footprint than you might want in your apartment. If there is any testing or assistance I can provide, don't hesitate to ask. I'm more than willing to help in any way I can. I am on the left coast though. :) Thanks a lot for all your time, effort and patience on this project!
 
Thorrak, did you have any thoughts as to why the Tilt's data isn't showing up in any logs, even though it's bound to the device controlling the fermentation, and that's being logged?
 
Thorrak, did you have any thoughts as to why the Tilt's data isn't showing up in any logs, even though it's bound to the device controlling the fermentation, and that's being logged?

I didn’t realize this was an issue. Are you sure the Tilt is awake and broadcasting? (You can check with the Tilt smartphone app - the Tilt can be picked up by multiple devices simultaneously without issue)

I’ll test with my Tilt when I get home and see if I can replicate on my end.
 
I didn’t realize this was an issue. Are you sure the Tilt is awake and broadcasting? (You can check with the Tilt smartphone app - the Tilt can be picked up by multiple devices simultaneously without issue)

I’ll test with my Tilt when I get home and see if I can replicate on my end.

Yes, it's awake. It's been updating the SG all along, showing it under the 'Gravity Sensors', but the data's not showing up in any charts. My phone picks it up no problem pretty much right away.

I don't recall exactly what the sequence of events was, but I believe I had started the beer under the temp controller, then when I went to start logging under the gravity sensors, there was something about a beer already being logged with that name, and maybe to bind it to a controller.

I don't want to mess with it now, but once this beer is done, I can play with it some, unless you figure out what's wrong or what I did wrong before the beer is done.

Here are the various pages:
MAinPage.JPG

Tilt1.JPG

ESP8266.JPG
 
Last edited:
That was essentially what I did initially when I bound it to the controller. As I recall, it told me there was something being logged and in order to bind it, the logging would have to stop, which I did, and after binding the tilt to that controller, re-started the logging (when I did it, I had just put the fermenter into the chamber).
 
That was essentially what I did initially when I bound it to the controller. As I recall, it told me there was something being logged and in order to bind it, the logging would have to stop, which I did, and after binding the tilt to that controller, re-started the logging (when I did it, I had just put the fermenter into the chamber).
That...doesn’t sound right. I’ll take a look tonight and see what I can find.
 
Updates!

As most of you have probably seen/noticed at this point, iSpindel support is live and appears to be working for the most part. This was the last major feature I wanted to go live with before clearing through the backlog on small fixes/tweaks and (finally!) officially releasing Fermentrack. As always, please let me know if you encounter either anything broken or unclear and I’ll add it to the issue tracker. Worst case it’s a duplicate, best case it gets fixed!

Before I “officially” release, however, there’s one major change that I think probably needs to happen:

Python 3 Conversion

Back when I started working on Fermentrack, everything I had done until that point was written in Python 2. Similarly, BrewPi-script was also Python 2, so it seemed a natural fit. If you’ve followed the latest bug reports, however, a bunch of packages that Fermentrack relies upon are finally starting to give up on Python 2 and release updates for Python 3 only. While Django 1.11 has long term support for a few years yet, and there’s no real need to upgrade at this point, moving from Python 2 to Python 3 is not an easy ask once an app is installed, and so I think it’s better to rip the band-aid off now and just make the switch.

Believe it or not, thus far most of Fermentrack is easily converted to be forwards (backwards?) compatible, so as I start to push Python 3 readiness, very few people will notice the code changes. There will come a point, however, — likely soon — where I will write a script to convert virtualenvs to use Python 3 which will require a script to be run “sudo root”. I’ll try to ensure it is well tested beforehand - this is just an advanced warning so that when you see the message in Fermentrack telling you to check an announcement, you’ll know why.

Separate from the Python 3 and bug fix work, however, there is another project I’m working on that I could use some help with:

BrewESP.com

One of the biggest complaints I have about the BrewPi is how inaccessible it feels. A big part of why I started with @ame ‘s Fuscus project is because I understood exactly what it needed hardware wise. I owned a Raspberry Pi, and everything else was easy enough to acquire. For BrewPi builds, though, it was hard for me to understand what I needed and why, how to build it, and what it should look like at the end.

To that end, I want to build what is effectively a glorified bill of materials/How To. Starting with a feature picker so you can choose the build that best fits your experience/style - be it BrewPi/Fermentrack, @ame ‘s Fuscus, @pocketmon ‘s BrewPiLess, or OEM BrewPi and ending with choices for sensor connections & electronics housing, the goal is to make it easy to navigate from a user’s comfort level/needs to a list of what he/she needs to buy and how to assemble it.

Admittedly - this is probably a longer term project than I would like to acknowledge but every project has to start somewhere! That said, my problem is that my experience is limited and I can’t recommend solutions I haven’t thought of. First amongst these is electronics housing. While I use 3D printed cases for everything, many homebrewers I know don’t have access to 3D printers and need something they can get off Amazon or from Home Depot. That said - what are some alternatives you guys have used? What would you want recommended to you if you were to start your build today?

Additionally, while everyone reading this has probably already taken the plunge and built his/her BrewPi, what would have made taking that first step easier?

The whole point here is making taking the plunge easier - so what would have done that for you?

There’s a lot of work left to be done, but every day brings progress.
 
Admittedly - this is probably a longer term project than I would like to acknowledge but every project has to start somewhere! That said, my problem is that my experience is limited and I can’t recommend solutions I haven’t thought of. First amongst these is electronics housing. While I use 3D printed cases for everything, many homebrewers I know don’t have access to 3D printers and need something they can get off Amazon or from Home Depot. That said - what are some alternatives you guys have used? What would you want recommended to you if you were to start your build today?

I use an old cigar box to house my RPI, ESP and LCD display, and then a plastic tub to house the relay and sockets etc.
It's functional but my botched cutting means it's not pretty.
 
@Thorrak
The famouse: Cannot receiveLCD text fromController/Script
One of my chambers tends to drop out of pi control from time to time.

I can still ping it by IP address - even with name from my mac.

(all three esp8266 is inside the same enclosure) -- is there any way to get the esp8266 to reboot? Hate pulling the power for all three chambers to get it up.
 
@Thorrak
The famouse: Cannot receiveLCD text fromController/Script
One of my chambers tends to drop out of pi control from time to time.

I can still ping it by IP address - even with name from my mac.

(all three esp8266 is inside the same enclosure) -- is there any way to get the esp8266 to reboot? Hate pulling the power for all three chambers to get it up.
On my mini D1 there is a reset button. Do you have something similar, or do you want to avoid having to open the enclosure?
 
Back
Top