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.
8can you test and confirm? at one point, the drop down menu to select chip types were not working. version 18
Not sure what the 8/version 18 is - If you’re asking if I can test, I definitely will - but it will have to wait until this weekend. We’re out of NYC this week, and I don’t have a Fermentrack build with me, unfortunately.
 
I apologize for asking a stupid question, but using Fermentrack to flash a D1 mini. When you get to Device Family, the ESP8266 would be correct, right? But then when I get to the next screen which Board Type do I chose? I've tried NodeMCU (ESP-12E) and the others.

I cannot seem to get it to find any devices in the scan. I've also then tried connecting it to my Pi (and my Mac) and it still doesn't seem to find anything to flash. I'm sure there is something stupid I'm doing wrong.

FYI, I'm not sure I trust my USB cable. The only cords I have are from a USB battery packs. There is a chance it's not the correct cable. It does make the D1 flash blue when I first plug it in, but I'm wondering if my cable is not a data cable?
 

Attachments

  • IMG_6366.jpg
    IMG_6366.jpg
    2.3 MB · Views: 27
I apologize for asking a stupid question, but using Fermentrack to flash a D1 mini. When you get to Device Family, the ESP8266 would be correct, right? But then when I get to the next screen which Board Type do I chose? I've tried NodeMCU (ESP-12E) and the others.

I cannot seem to get it to find any devices in the scan. I've also then tried connecting it to my Pi (and my Mac) and it still doesn't seem to find anything to flash. I'm sure there is something stupid I'm doing wrong.

FYI, I'm not sure I trust my USB cable. The only cords I have are from a USB battery packs. There is a chance it's not the correct cable. It does make the D1 flash blue when I first plug it in, but I'm wondering if my cable is not a data cable?
You have a similar issue to @Julian537 - it’s possible there’s a bug that needs to be fixed. I’ve got this on the list to check when I get back home this weekend.

If you happen to have a desktop of some type available, try BrewFlasher
 
I've released a complete set of new hardware for this project, including updated PCBs, refreshed BOMs, etc. in its own repo on GitHub. This also replaces all PCBs.io links with links to OshPark, DirtyPCBs, and - if I (personally) have parts available - Tindie. This repo contains the Eagle sources for all my PCBs, as well as the OpenSCAD source & STL files for all of my containers.

The updated PCB designs include selectable OneWire voltage (either 5v or 3v3), decoupling capacitors, and separate power pins for driving the Relay vs. driving the Relay's octocoupler. The updated "sensor breakout board" PCB includes minor "quality of life" tweaks like additional silkscreen on the back of the board and a revised temperature sensor pinout to match bare DS18b20 sensors (if anyone wants to use them for a room sensor, for example).

One note for current users - all of these changes should make future builds easier but for stable existing builds there is no benefit whatsoever to swapping out any existing parts for the new PCBs. Although I have a few test boards on order (I haven't tested these designs yet, to be fair!) I'm not planning on swapping any of my existing RJ-45 builds out.
 
Just another bit - I FINALLY (AMAZINGLY) got a notification yesterday that my PCBs.io order shipped... My order date was 4/24. I got an update on my OshPark order (ordered 5/27) saying it was scheduled to be shipped shortly before I got the one from PCBs.io saying they were shipping (I had ordered from OSHPark and was gearing up to contest the PCBs.io order given the ridiculous 'lead time')... So yeah, don't order from PCBs.io. They are NOT US made. They are coming from China. The ridiculous ship time is 100% in line with some BMS boards I ordered that were supposed to have shipped from the US.... They finally arrive a month and a half after I ordered them and about three weeks after the seller refunded me (They were supposed to have been delivered a week after the order date...)... and they definitely came right from China. Based on my current and past experience, OSHPark ALL THE WAY. The OSHPArk boards may be a tad 'rough around the edges', but what matters has been 100% spot on.
 
Last edited:
I've been running Fermentrack worry free for nearly four years and it's been pretty flawless, I'm running it on an old Brewpi installation of mine, Pi/Arduino combo with a Wemos D1 running my refer, the arduino running the fermenter chamber and a Tilt connected up too - It all works together amazingly well. Since I reloaded the sd card last winter to Commit Date Feb 17, 2020, I've been unable to manually update. I've tried switching to the master branch and updating, but the banner is always on the top of the screen "This App is not the latest version". It's all working fine, I'm able to ping both raspberrypi.org and github. I can go into the control panel and shut off updates, but I was wondering if there was a manual way via command prompt to force it to upgrade. I dont really want to reinstall again and I dont want to fix it until its broke either..
 
I've been running Fermentrack worry free for nearly four years and it's been pretty flawless, I'm running it on an old Brewpi installation of mine, Pi/Arduino combo with a Wemos D1 running my refer, the arduino running the fermenter chamber and a Tilt connected up too - It all works together amazingly well. Since I reloaded the sd card last winter to Commit Date Feb 17, 2020, I've been unable to manually update. I've tried switching to the master branch and updating, but the banner is always on the top of the screen "This App is not the latest version". It's all working fine, I'm able to ping both raspberrypi.org and github. I can go into the control panel and shut off updates, but I was wondering if there was a manual way via command prompt to force it to upgrade. I dont really want to reinstall again and I dont want to fix it until its broke either..

PM me your upgrade.log file after you try to run the upgrade. I'm guessing something in your install was tweaked/changed at some point - it's an easy fix if that's the case.

One thing - You will need Python 3.7 to run the latest version of Fermentrack - you can set this up pretty easily, but it will take some time. The nice thing though is that if you fix this, it will also take care of whatever issue is preventing you from upgrading.
 
any updates?
were you able to test the sofware?


ESP32 aren't supported (yet) for flashing BrewPi firmware to - only TiltBridge.

What ESP8266 boards are you using? Please link the exact board you bought -- there are a lot of knock-offs out there.
 
I apologize for asking a stupid question, but using Fermentrack to flash a D1 mini. When you get to Device Family, the ESP8266 would be correct, right? But then when I get to the next screen which Board Type do I chose? I've tried NodeMCU (ESP-12E) and the others.

I cannot seem to get it to find any devices in the scan. I've also then tried connecting it to my Pi (and my Mac) and it still doesn't seem to find anything to flash. I'm sure there is something stupid I'm doing wrong.

FYI, I'm not sure I trust my USB cable. The only cords I have are from a USB battery packs. There is a chance it's not the correct cable. It does make the D1 flash blue when I first plug it in, but I'm wondering if my cable is not a data cable?

Can someone answer the first part of that question above? How do I figure out which Board Type I should flash? There is the ominous warning that I might destroy the board, but I can't see any documentation that helps me translate a D1 Mini to the available board types. I'm sure it's just something obvious that I don't know.
 
Has anyone here gotten Fuscus working for a direct connection with the GPIOs? I have had Fermentrack working well for several brews logging Tilts and am trying to get it to control my adjacent fermenters for temperature. When adding the Fuscus devices it says: Unfortunately, this version of Fermentrack isn't quite smart enough to support that device family yet. Pay attention to the discussions on HomeBrewTalk - Support for Fuscus is coming soon. (either v2 or v3)

I have followed Thorrak's GitHub instructions, but they are a few years old and list installing BrewPi and pointing to a dead file location. With Fermentrack, is there any need for BrewPi to be installed?
 
Can someone answer the first part of that question above? How do I figure out which Board Type I should flash? There is the ominous warning that I might destroy the board, but I can't see any documentation that helps me translate a D1 Mini to the available board types. I'm sure it's just something obvious that I don't know.
D1 mini is ESP8266, can't remember the exact wording in the drop down list something like ESP12E?
 
Can someone answer the first part of that question above? How do I figure out which Board Type I should flash? There is the ominous warning that I might destroy the board, but I can't see any documentation that helps me translate a D1 Mini to the available board types. I'm sure it's just something obvious that I don't know.

It's hard to say - if it's a genuine Lolin D1 mini, then it should be the 12-E board. For what it's worth, you're highly unlikely to destroy the board if you choose the wrong option -- generally the flash would just fail.

I would either check your data cable or try BrewFlasher.


Has anyone here gotten Fuscus working for a direct connection with the GPIOs? I have had Fermentrack working well for several brews logging Tilts and am trying to get it to control my adjacent fermenters for temperature. When adding the Fuscus devices it says: Unfortunately, this version of Fermentrack isn't quite smart enough to support that device family yet. Pay attention to the discussions on HomeBrewTalk - Support for Fuscus is coming soon. (either v2 or v3)

I have followed Thorrak's GitHub instructions, but they are a few years old and list installing BrewPi and pointing to a dead file location. With Fermentrack, is there any need for BrewPi to be installed?

It definitely works - you just have to set everything up using the advanced workflow. The goal was (is?) to get it so that Fuscus could be automatically installed entirely from within the Fermentrack interface, but that requires some work to integrate the Fuscus configuration mechanism (or - alternatively - some work to port the BrewPi configuration workflow to Fuscus) and therefore hasn't happened yet.

Which instructions are you referencing that are no longer up to date? I've been trying to go through and slowly revise them as I see things are no longer current, but certainly could have missed something.
 
Thanks for the quick reply Thorrak. Here's the page, and it's under Usage, Step 2:

https://github.com/thorrak/fuscus_tools/blob/master/usage.md
So with your reference to "BrewPi configuration workflow", I guess that means I need to install BrewPi to make Fuscus work?

Oh wow - ok - you're right about that being old. I forgot that repo even existed! Let me re-familiarize myself with this repo - the best thing about reading through code I wrote four years ago is cringing at all the mistakes I have since learned to avoid. ;)

When I say "BrewPi configuration workflow" I'm specifically referring to the BrewPi controller, not the BrewPi web interface. Fuscus requires configuration of temperature sensors, pins, and the like using ini files rather than via the web interface.
 
Oh wow - ok - you're right about that being old. I forgot that repo even existed! Let me re-familiarize myself with this repo - the best thing about reading through code I wrote four years ago is cringing at all the mistakes I have since learned to avoid. ;)

When I say "BrewPi configuration workflow" I'm specifically referring to the BrewPi controller, not the BrewPi web interface. Fuscus requires configuration of temperature sensors, pins, and the like using ini files rather than via the web interface.
Okay, understand... except that is that link going to the BrewPi controller software that needs to be installed or to the web interface. The same name brings up confusion for me. Is there a guide to make Fuscus work with Fermentrack? I'm wondering if that GitHub installation list was written pre-Fermentrack. Thanks.
 
Hi, Im having trouble accessing the config page through the wifi.
Using v4.0, D1 mini, PlatformIO.
It worked flashing to 1 of my D1 units but the other 2 I have won't even flash. Errors are mostly to do with wifi (eg 'WIFI_AP_STA' was not declared in this scope and 'HTTPClient' was not declared in this scope).
The unit that worked I can't access the static ip (192.168.4.1) to get to the config.
Is it something to do with the library not downloading properly?
Other issues that I can see that im not sure if its relevant or not but it says its flashing the ESP32 unit and that the monitor speed is 9600? (thought it was supposed to be 8266 and 115200)
I might try and go back and use one of the previous versions while im waiting for an answer to see if that fixes anything.
Thanks!!
1592289058871.png

1592289074836.png
 
ok, so tried to flash on another computer and it worked... literally did nothing different
 
Hi, Im having trouble accessing the config page through the wifi.
Using v4.0, D1 mini, PlatformIO.
It worked flashing to 1 of my D1 units but the other 2 I have won't even flash. Errors are mostly to do with wifi (eg 'WIFI_AP_STA' was not declared in this scope and 'HTTPClient' was not declared in this scope).
The unit that worked I can't access the static ip (192.168.4.1) to get to the config.
Is it something to do with the library not downloading properly?
Other issues that I can see that im not sure if its relevant or not but it says its flashing the ESP32 unit and that the monitor speed is 9600? (thought it was supposed to be 8266 and 115200)
I might try and go back and use one of the previous versions while im waiting for an answer to see if that fixes anything.
Thanks!!
View attachment 685242
View attachment 685243

You shouldn't need to compile from source - the precompiled binaries should work fine. I can't help you debug as your environment seems to be the problem, and your environment isn't the same as mine. That said, this firmware is for an ESP8266 - you shouldn't compile targeting an ESP32.

My recommendation is to flash using either Fermentrack or BrewFlasher - which it sounds like you were ultimately able to do from your next post.

ok, so tried to flash on another computer and it worked... literally did nothing different

The only thing I can think is that there may have been some old WiFi credentials on the chip. My recommendation is to flash the "wifi test" script first for most builds - in addition to testing your hardware, it will also wipe out any residual WiFi credentials that might be sticking around.
 
Ok so now that I have the board working and everything wired I have 2 issues that I can see,
1. LCD (20X4) displaying "blocks" as others in this thread have had.
I have tried with multiple different level converters, without level converter, straight to 5v and 3v3 and multiple screens, in the project and on a breadboard. They all seem to result in these blocks when adjusting the contrast, or the screen not working at all.
Do I need to flash the 8266 with the LCD connected so it can map the address correctly?
Any other tricks I'm not getting?
2. Temp probes not showing up.
It does have 1 listed "external sensor" but it says it's controlled on D3 and 1 "PIN" on D6.
I have the sketch there to test if its a parasitic power probe or not so ill try and run that tomorrow and see how it goes. But I remember the probes working a while ago in this project before I threw in the towel. Ill also check the wiring again. I also have some more probes in the mail so I will try those when they arrive.
Thanks again for all your help! I really appreciate the time you guys put in.
 
Ok so now that I have the board working and everything wired I have 2 issues that I can see,
1. LCD (20X4) displaying "blocks" as others in this thread have had.
I have tried with multiple different level converters, without level converter, straight to 5v and 3v3 and multiple screens, in the project and on a breadboard. They all seem to result in these blocks when adjusting the contrast, or the screen not working at all.
Do I need to flash the 8266 with the LCD connected so it can map the address correctly?

The screen should definitely be run on 5v logic and powered by 5v - although some screens work with 3v3 they are intended to be run on 5v. The "blocks" thing can mean that the signal isn't being received from the controller. Check the SDA/SCL pins and make sure they are properly routed (and properly level shifted).


2. Temp probes not showing up.
It does have 1 listed "external sensor" but it says it's controlled on D3 and 1 "PIN" on D6.
I have the sketch there to test if its a parasitic power probe or not so ill try and run that tomorrow and see how it goes. But I remember the probes working a while ago in this project before I threw in the towel. Ill also check the wiring again. I also have some more probes in the mail so I will try those when they arrive.
Thanks again for all your help! I really appreciate the time you guys put in.

What web interface are you using? Fermentrack?
 
ok so im a little confused, I was just using the interface that was on the IP address of the 8266, I thought that was what I was supposed to do with the brewpiless?
I just installed fermentrack on my pi though, tried to scan for devices (brewpiless is setup and showing under available networks on my pc) but no devices found in fermentrack. Not sure how to proceed.
 
ok so im a little confused, I was just using the interface that was on the IP address of the 8266, I thought that was what I was supposed to do with the brewpiless?
I just installed fermentrack on my pi though, tried to scan for devices (brewpiless is setup and showing under available networks on my pc) but no devices found in fermentrack. Not sure how to proceed.
Brewpiless is an entirely different project, and isn’t supported by Fermentrack.

This project is BrewPi-ESP8266
 
Sorry for getting threads crossed and apologies for the confusion.
Out of interest, because I have ferementrack installed is there any benefit troubleshooting with the brewpi version over the brewpiless?
 
Sorry for getting threads crossed and apologies for the confusion.
Out of interest, because I have ferementrack installed is there any benefit troubleshooting with the brewpi version over the brewpiless?
No worries. Not sure what you mean troubleshooting in this case - they’re completely different projects with different pinouts. If you bought a PCB for BrewPi-ESP8266 then that’s the project you should look to flash. If you bought a Brewpiless PCB then you need to use that one.

There’s advantages to both projects, but you’d need to evaluate them individually to determine which works best for you.
 
Ok so because i have the board attached i should use brewpi, as in this forum?
................and if so could this be why i cant get anything to work with the brewpiless flash?
1592911192079.png
 
I'm wondering if someone can help me with some questions. For some reason the setup for this seems to be escaping me.

I've successfully flahsed my ESP8266, when I go in to "Add New Temp Controller" I am prompted and indicate "Yes - Already Flashed". It comes back with the response:

"Perfect

Before you go to the next step, you need to get the controller to a state where we can connect to it. If you are using WiFi finish the controller setup and connect it to your network...."

It would be helpful in the instructions if it referred people back to the fermentrack documentation section 4.2.1 at this point. It took this knucklehead a while to figure out what that meant and how to do it. Also, that section of the doesn't clarify that you need to connect the ESP8266 to the USB of the Pi, and then connect to the access point via WiFi. (At least that is the only way I could even get it to show up in the network list.)

ok, so...I selected the ESP_13104009 network, then navigated to a web page (www.google.com) and it redirected me to 192.168.4.1...but the page never seems to load.

Any tips?
 
I'm wondering if someone can help me with some questions. For some reason the setup for this seems to be escaping me.

I've successfully flahsed my ESP8266, when I go in to "Add New Temp Controller" I am prompted and indicate "Yes - Already Flashed". It comes back with the response:

"Perfect

Before you go to the next step, you need to get the controller to a state where we can connect to it. If you are using WiFi finish the controller setup and connect it to your network...."

It would be helpful in the instructions if it referred people back to the fermentrack documentation section 4.2.1 at this point. It took this knucklehead a while to figure out what that meant and how to do it. Also, that section of the doesn't clarify that you need to connect the ESP8266 to the USB of the Pi, and then connect to the access point via WiFi. (At least that is the only way I could even get it to show up in the network list.)

ok, so...I selected the ESP_13104009 network, then navigated to a web page (www.google.com) and it redirected me to 192.168.4.1...but the page never seems to load.

Any tips?

Ok, if you put a monkey at a typewriter long enough...

I managed to get it to work. Interestingly the Pi never would connect, but I was able to find the access point on my Mac. When I connected to the access point my Mac brought up a network log in window that had the configuration for WiFi in it. The Pi never figured out how to do that. (Or the user didn't know how to do that.)

I now have the dashboard up and running! Now to figure out the rest of this...

I did have one question, I assume I can directly pin out from the ESP8266 and do not need to have a custom PCB to make it work. Is that correct? I'm converting over from a CraftBeer Pi fermentation controller and I think I can just create a cable that connects the appropriate pins to my DIY board.
 
So after spending about 50 hours troubleshooting why my unit wasn't working and now realising I have a brewpi PCB and not a brewpiless I feel like such an idiot! 🤦‍♂️
But the good news is that once I started the actual fermentrack install it was so easy to complete and the unit is all up and running, iSpindel attached and no issues I can see! Soooooo relieved!!!
Edit: I wish I was joking about the 50 hours too
 
So after spending about 50 hours troubleshooting why my unit wasn't working and now realising I have a brewpi PCB and not a brewpiless I feel like such an idiot! 🤦‍♂️
But the good news is that once I started the actual fermentrack install it was so easy to complete and the unit is all up and running, iSpindel attached and no issues I can see! Soooooo relieved!!!
Edit: I wish I was joking about the 50 hours too
Not to open another can of worms- but you can still use that PCB to run BrewPiLess
 
Yeh so that was going to be the next thing I look at.
How would you go about doing that? Just changing the assigned pins in the code?
Any benefits in going down that rabbit hole?
Thought it might be nice to have 2 inputs into brewfather, although this project does that anyway I suppose
Also Can someone please link me the PCB that would be a plug and play type for brewpiless. Thanks
 
Things were going great for me for about 12 hours. This morning I rebooted my router as I do about once a week. I lost my Fermentrack in the process. I think it wasn't able to reconnect to the network. I tried for a while to reset the wifi from within the interface, but I don't think it was connected and didn't do anything. I could see the dashboard, but it didn't seem to be connected to anything live on the board. Is it possible I was just accessing a cached page?

In an attempt to start over I reflashed the ESP8266, but now I can't seem to get it back to the set up wifi state. It doesn't show up on any of my devices as an access point.

Any tips?
 
Is there a way to delete a device and start fresh? Maybe that will help?

I’ve re-flashed, But Fermentrack doesn’t recognize a new device. It can’t seem to connect to the previous instance either.
 
Things were going great for me for about 12 hours. This morning I rebooted my router as I do about once a week. I lost my Fermentrack in the process. I think it wasn't able to reconnect to the network. I tried for a while to reset the wifi from within the interface, but I don't think it was connected and didn't do anything. I could see the dashboard, but it didn't seem to be connected to anything live on the board. Is it possible I was just accessing a cached page?

In an attempt to start over I reflashed the ESP8266, but now I can't seem to get it back to the set up wifi state. It doesn't show up on any of my devices as an access point.

Any tips?

When you say you "lost your Fermentrack" - what did you lose? The ESP8266-based controller, or your raspberry pi running Fermentrack?

The WiFi credentials are stored in a section of flash that doesn't get overwritten by default. If you're using BrewFlasher I think you can click the "erase flash" button to get it to reset -- alternatively, you can flash the "Wiring Test" firmware which will (amongst other things) reset your wifi credentials.
 
When you say you "lost your Fermentrack" - what did you lose? The ESP8266-based controller, or your raspberry pi running Fermentrack?

The WiFi credentials are stored in a section of flash that doesn't get overwritten by default. If you're using BrewFlasher I think you can click the "erase flash" button to get it to reset -- alternatively, you can flash the "Wiring Test" firmware which will (amongst other things) reset your wifi credentials.

I was able to see the webpage and dashboard, but it wasn't getting updates from the ESP8266. I think that means the Pi was on the network and functioning, but it was not connected to the ESP8266. Last night I resorted to doing the wiring test, then flashing the board with a serial connection, which simplified what I've been struggling with. The Pi was not very close to the fermentation chamber, I moved the Pi right next to it now.

I think part of my problem might have been loss of wifi connection between the Pi and ESP8266. Like I said, I reset my cable modem/router and it didn't seem to be able to reconnect itself. From what I can tell, there is no way to make the ESP8266 go back into WiFi setup mode. Would it be possible in a future release to be able to re-find already set up boards and log them back into the network? It seems pretty cumbersome to have to start completely over.

I think there might also be some problems in how my network has set up these devices. In the diagnostic page the...I'm sorry I'm not going to remember the terms...DNS entry failed. Since I re-flashed to serial I cannot look and see what that says. I'm not sure if those were never working or if they failed after I had the connection problem.

I actually resorted to deleting Fermentrack off the Pi last night and reinstalling it. I couldn't figure out how to delete a controller from the interface and start over again. Even when the board was not responding it showed up in the dashboard. When I went to re-establish the board as a serial device, it didn't recognize it as a new device, but didn't work with the old setup.

I hope I'm not being too much of a bother. I'm marginally competent at electronics. This project is just outside my competency! I do very much appreciate all the time you must have put into this which makes it possible for people like me to be able to use something like this. Thank you!
 
Back
Top