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.
Are there any plans to add a fridge profile mode? I've used Fermentrack/brewpi-esp for a couple fermentations now using the fridge temp probe to control my glycol solenoid and a heater using fridge constant, and it's worked good, but I have to manually run my lager profiles. Would be great if I could control my glycol solenoid using the beer temp, or create a profile using the fridge temp.

Eventually, probably, but as I don’t have a glycol or similar setup myself to test with, I haven’t focused on building it out unfortunately.
 
Hey all. Just wanted to drop in and say thanks to Thorrak.

I built a controller, downloaded the Fermentrack software, and it works like a charm.

Say goodbye to big temperature oscillations. This keeps it dead on set temp!

Keep up the great work, Thorrak!



P.S.: Looking forward to being able to use Tilt hydrometer readings as temperature set point, which I know is on your radar. Thanks again!
 
Hi,

I'm new to brewing and I had a Rpi0w and an ESP8266 in my drawer so I decided to give Fermentrack a try and from my first test it's really awesome!
Installation work like a charm as well as flashing ESP8266.

But I have an issue finding relay that works in 3.3V to install it on my ESP8266.

Any advice? I tried to browse the thread but didn't find any mention of one...
 
Hi,

I'm new to brewing and I had a Rpi0w and an ESP8266 in my drawer so I decided to give Fermentrack a try and from my first test it's really awesome!
Installation work like a charm as well as flashing ESP8266.

But I have an issue finding relay that works in 3.3V to install it on my ESP8266.

Any advice? I tried to browse the thread but didn't find any mention of one...

Most of the “sainsmart” style relay boards are designed in such a way that the signal voltage can be either 3.3v or 5v, so long as 5v is supplied to the board for use in actually tripping the relay. Most of the relay boards you’ll find out there are the “Sainsmart” style so if you have a relay board lying around, you might already be set! :)
 
^right^
There are 5V pins available on the Pi Zero/Zero W one can use to power the relays on the typical dual relay module while still using 3.3V IO from the ESP. There's a jumper that needs removal that would otherwise tie logic power to relay coil power...

Cheers!
 
^right^
There are 5V pins available on the Pi Zero/Zero W one can use to power the relays on the typical dual relay module while still using 3.3V IO from the ESP. There's a jumper that needs removal that would otherwise tie logic power to relay coil power...

Cheers!
Thanks for your comment.

My raspberry is intended not to stay close to the ESP so I cannot use the RPI power supply.

Thorrak, thanks but my poor knowledge may prevent to understand your answer. You say that some relay are designed to use both 3.3V or 5V as signal but than you mention that I need a separate 5V supply to the board (assuming that you speak about the relay board correct?)
 
You're going to power the ESP with a 5V supply, so you can use that to power the relays.
The Sainsmart dual relay module allows separate logic vs relay coil power, so you can run the logic at 3.3V while running the relay coils at 5V...

Cheers!
 
You're going to power the ESP with a 5V supply, so you can use that to power the relays.
The Sainsmart dual relay module allows separate logic vs relay coil power, so you can run the logic at 3.3V while running the relay coils at 5V...

Cheers!
OK I get your point. The thing is my ESP is powered via micro USB that is why I do not "see" the 5V
 
OK I get your point. The thing is my ESP is powered via micro USB that is why I do not "see" the 5V

You actually should still "see" the 5V with most ESPs -- in most of the ESP8266 boards I've seen the 5V from the USB is directly connected to a pin. That 5V pin can (should) then be used to power the relays.

This is actually the wiring scheme I used when developing/testing the firmware.
 
Some of the larger designs (NodeMCU) provide a VIN (5V) pin but minimalistic ESP8266 boards (ESP01/02/03/12/etc) often don't have a VIN pin, so some kind of external wiring may be required in those cases...

Cheers!
 
OK I'm really to... young in electronics... yes I do have a Vin pin documented as 5V... Thanks all!

One extra (I guess stupid again) question. During my test my beer temp seems stable. But in the graph I have a "Fridge Setting" line that keeps coming up.
I only have a temp probe plugged but I guess the fridge setting is the Fermentrack trying anyway to send a command to the fridge to bring the beer temp to the beer constant correct?
 
Hi all.

Has anyone managed to get the Adafruit feather huzzah esp8266 to work with fermenttrack ? I can flash it OK, and it shows up in the dashboard, but I can't for the life of me get it to find the DS18B20 sensors I have. this is the pinout for that board if needed.

regs,
peram
 
Last edited:
Does anyone know if it's possible using Fermentrack with a Tilt to have the software make temperature changes based off the current Tilt SG reading?

IE:
Say we have an OG of 1.050 and we set starting fermentation temp to 50F.
When Tilt reports an SG of 1.031 (50% complete), have Fermentrack ramp temp up to 53F.
When Tilt reports an SG of 1.021 (75% complete), have Fermentrack ramp temp up to 57F.
When Tilt reports an SG of 1.016 (90% complete), have Fermentrack ramp temp up to 62F.
Once two days of the same SG has been read, have Fermentrack ramp temp up to 65F.
Once two days of 65F has been completed, crash the beer to 36F.
 
[...]One extra (I guess stupid again) question. During my test my beer temp seems stable. But in the graph I have a "Fridge Setting" line that keeps coming up. I only have a temp probe plugged but I guess the fridge setting is the Fermentrack trying anyway to send a command to the fridge to bring the beer temp to the beer constant correct?

Yes, that is BrewPi/Fermentrack showing what it thinks is necessary to control the temperature being tracked. You can usually expect it to slope in the inverse of the temperature slope.

fwiw I don't know how well that works - I believe I read once that when running a single probe on BrewPi that probe needed to be the fridge temperature sensor and only fridge-temperature-centric functions would work...

Cheers!
 
Hi all.

Has anyone managed to get the Adafruit feather huzzah esp8266 to work with fermenttrack ? I can flash it OK, and it shows up in the dashboard, but I can't for the life of me get it to find the DS18B20 sensors I have. this is the pinout for that board if needed.

regs,
peram

answering my own post but is these pin-assignments a must :

Board Pinout:
  • D1 - I2C SCL
  • D2 - I2C SDA
  • D3 - Cool
  • D4 - Heat
  • D5 - Door Sensor
  • D6 - OneWire Data
As the pinout for the adafruit board shows, there is no D6 pin available. Does that mean that I have to modify any files to get it to work, say pinList.py for instance as that seems to define some assignments...

Am I way off here ?

regs,
peram
 
Does anyone know if it's possible using Fermentrack with a Tilt to have the software make temperature changes based off the current Tilt SG reading?

IE:
Say we have an OG of 1.050 and we set starting fermentation temp to 50F.
When Tilt reports an SG of 1.031 (50% complete), have Fermentrack ramp temp up to 53F.
When Tilt reports an SG of 1.021 (75% complete), have Fermentrack ramp temp up to 57F.
When Tilt reports an SG of 1.016 (90% complete), have Fermentrack ramp temp up to 62F.
Once two days of the same SG has been read, have Fermentrack ramp temp up to 65F.
Once two days of 65F has been completed, crash the beer to 36F.

Not yet, but it’s coming. No ETA though. It will be a Fermentrack feature though - not a firmware feature - so it will work with both ESP and Arduino-based controllers
 
answering my own post but is these pin-assignments a must :

Board Pinout:
  • D1 - I2C SCL
  • D2 - I2C SDA
  • D3 - Cool
  • D4 - Heat
  • D5 - Door Sensor
  • D6 - OneWire Data
As the pinout for the adafruit board shows, there is no D6 pin available. Does that mean that I have to modify any files to get it to work, say pinList.py for instance as that seems to define some assignments...

Am I way off here ?

regs,
peram

The pinout actually changed in v0.3 of the ESP firmware - the new pinout is as follows:
  • D0 - Heat
  • D1 - I2C SCL
  • D2 - I2C SDA
  • D3 - Buzzer (currently unsupported)
  • D4 - N/C
  • D5 - Cool
  • D6 - OneWire Data
  • D7 - Door (Untested)
Unfortunately you would need to modify both the pinlist in the brewpi-script (pinList.py) as well as the pinlist in the firmware - which will require recompilation. That said, the "D_" pin references are valid for NodeMCU boards - of which the Adafruit Feather is not. I think the corresponding "D6" pin is GPIO 12 per this diagram (again - not sure - its kind of hard to zoom in on it). Some of the differences are discussed in the "selecting a board" documentation on GitHub.
 
One extra (I guess stupid again) question. During my test my beer temp seems stable. But in the graph I have a "Fridge Setting" line that keeps coming up.
I only have a temp probe plugged but I guess the fridge setting is the Fermentrack trying anyway to send a command to the fridge to bring the beer temp to the beer constant correct?

To @day_trippr 's point - You are required to have a fridge sensor in every BrewPi installation, with the beer sensor being optional. In "beer setting" or "beer profile" mode the BrewPi firmware attempts to control the beer temperature to match the beer setting by adjusting the fridge setting. Basically you're spot on with how you're thinking about it - this is expected behavior if you're using one of the "beer" temperature modes.
 
The pinout actually changed in v0.3 of the ESP firmware - the new pinout is as follows:
[snip]
Unfortunately you would need to modify both the pinlist in the brewpi-script (pinList.py) as well as the pinlist in the firmware - which will require recompilation. That said, the "D_" pin references are valid for NodeMCU boards - of which the Adafruit Feather is not. I think the corresponding "D6" pin is GPIO 12 per this diagram (again - not sure - its kind of hard to zoom in on it). Some of the differences are discussed in the "selecting a board" documentation on GitHub.

Thanks, you’re spot on. Moving the jumper to gpio12, refreshing the devicelist and voila .. it showed up.

Again thanks, and moving on :)

This one is more easy to read, and might help some others in the future

Peram
 
Last edited:
I'm in the process of building ESP8266 versions on Thorrak's RJ45 version pc boards but I'm using too many power sources on my existing RPi / Uno Fermentrack setup. I had solved a previous problem with my sensors by plugging in power to both my RPi and my Uno. Now I've added a 24V glycol cooling valve which I power with another laptop power supply plugged into my cooling outlet. Can I power my RPi, ESP8266 and the 24v valve with a single higher voltage PSU and step down to the various components with regulators like the 7805 to save space?
I also would like to have a recirc pump powered only while cooling or heating. can I power both a SSR signal and a mechanical relay of the same 5v output?
 
I'm in the process of building ESP8266 versions on Thorrak's RJ45 version pc boards but I'm using too many power sources on my existing RPi / Uno Fermentrack setup. I had solved a previous problem with my sensors by plugging in power to both my RPi and my Uno. Now I've added a 24V glycol cooling valve which I power with another laptop power supply plugged into my cooling outlet. Can I power my RPi, ESP8266 and the 24v valve with a single higher voltage PSU and step down to the various components with regulators like the 7805 to save space?
I also would like to have a recirc pump powered only while cooling or heating. can I power both a SSR signal and a mechanical relay of the same 5v output?


My recommendation (for the BrewPi-controller bits at least) is always this build which incorporates a 5v 2a power supply. Advantage to that build given your concerns is that you're already going to need the AC-in for the heating/cooling loops -- the 5v 2a power supply is just wired into that AC source.

If you really want to combine things (and really need 24v!) you could, of course, use one of these things in place of the 5v 2a supply and adapt your enclosure accordingly. You could use that to power the raspberry pi as well - but given the finicky nature of Pis and their SD cards, I'm still a fan of keeping the Pi entirely separate from the rest of your build.


I also would like to have a recirc pump powered only while cooling or heating. can I power both a SSR signal and a mechanical relay of the same 5v output?
I don't see why not!
 
My recommendation (for the BrewPi-controller bits at least) is always this build which incorporates a 5v 2a power supply. Advantage to that build given your concerns is that you're already going to need the AC-in for the heating/cooling loops -- the 5v 2a power supply is just wired into that AC source.

If you really want to combine things (and really need 24v!) you could, of course, use one of these things in place of the 5v 2a supply and adapt your enclosure accordingly. You could use that to power the raspberry pi as well - but given the finicky nature of Pis and their SD cards, I'm still a fan of keeping the Pi entirely separate from the rest of your build.


I don't see why not!

I haven't figured out an enclosure yet for my builds. 3D printing is beyond my capabilities. So if I go for the triple voltage psu then I'll have to get bigger boxes.

When you say "keeping the Pi entirely separate" do you mean outside the enclosure and connected to the ESP8266 by usb or do you mean just on a separate psu? Is the issue noise from the psu affecting the RPi and SD?

I plan on making 3 setups. one for each of my conicals. Can one RPi with Fermentrack run 4 esp8266 setups by Wifi with the usb only hooked to a given ESP8266 during initial configuration?
 
I haven't figured out an enclosure yet for my builds. 3D printing is beyond my capabilities. So if I go for the triple voltage psu then I'll have to get bigger boxes.

When you say "keeping the Pi entirely separate" do you mean outside the enclosure and connected to the ESP8266 by usb or do you mean just on a separate psu? Is the issue noise from the psu affecting the RPi and SD?

I plan on making 3 setups. one for each of my conicals. Can one RPi with Fermentrack run 4 esp8266 setups by Wifi with the usb only hooked to a given ESP8266 during initial configuration?

Both - separate physically, as well as on its own PSU. As you noted, the USB is only required for the initial flashing - after that it can be WiFi only. To that extent, you can stick the Pi pretty much anywhere.

A single Fermentrack install supports as many controllers as you want to throw at it. 4 is no problem. If you want to go past 10, I’d consider something other than a Pi, though, just to get away from SD cards. ;)
 
Both - separate physically, as well as on its own PSU. As you noted, the USB is only required for the initial flashing - after that it can be WiFi only. To that extent, you can stick the Pi pretty much anywhere.

A single Fermentrack install supports as many controllers as you want to throw at it. 4 is no problem. If you want to go past 10, I’d consider something other than a Pi, though, just to get away from SD cards. ;)

Great. I'll just have to remember to name the esp8266s differently so I can tell them apart. I think I read in he forum somewhere how to do that. I'll have to dig it up when the time comes.

Thanks again for all the work you have done and continue to do.
 
[snip]

A single Fermentrack install supports as many controllers as you want to throw at it. 4 is no problem. If you want to go past 10, I’d consider something other than a Pi, though, just to get away from SD cards. ;)

I am in the process of testing usb-to-sata adapters and small SSD disks as I am sick and tired of SDcards that die on me. I have one PI 3+ running now with a 120 GB SSD that I had just collecting dust. Seems to be working flawlessly so far, so that might be an option for staying on the Rapberry PI platform...

Regs
Peram
 
Eventually, probably, but as I don’t have a glycol or similar setup myself to test with, I haven’t focused on building it out unfortunately.
You don't need a $1,000 Ss Brewtech Glycol Chiller. I used a couple corn kegs filled with the chilled water, in the cheap. reach-in cooler for years. Circulate via submersible pump to outside Conical's (or Carboys).
Pictured here is my new Walk-in-cooler, with a 25 gallon chilled water tank, pumping to the outside Conical's on a call for Cooling by The Fermentrack or BrewPi.
 

Attachments

  • 20190217_092528_HDR.jpg
    20190217_092528_HDR.jpg
    1.5 MB · Views: 99
Last edited:
..... After doing some digging, I don't think that my MicroUSB power supply is providing enough power to run the LCD, Relay, and ESP8266. It was fine before I added the LCD, but now...

Is it OK to NOT put in an LCD initially and add it later if needed. I figure I can access everything thru my Fermentrack interface.
 
The LCD (with or without the rotary encoder) is pretty much for convenience if your ferm chambers aren't located near a handy computer to use the gui. I have them on all of the BrewPi remoted minions in my humble brewery and do use them frequently...

Cheers!
 
All of the resistors R1,R2,R3,R4,R5 are all the same. 10k Resistor 805 SMD( the number 805 represents the physical size of the Surface Mount Device)
Q1,and Q2 are both BSS138 MOSFET 805 SMD
C1 is 100uF 1206 Capacitor (Optional)1206 SMD ( different size than 805)
JP1 is for the buzzer. (I don't use it) and uses a 2 pin header
01,02 is for power in and uses a 2-Pin 5mm Pitch Screw Terminal
LCD and Relay uses four pin header
This post and the one below it explains the pin out for the RJ-45 jack.https://www.homebrewtalk.com/forum/...no-arduino-needed.586476/page-54#post-8446806
Ok I've done the above and have taken my soldering skills to the next level! Those surface mounts are sooooo small. Now I'm diassembling some of my Fermentrack/BrewPi/Rpi/Uno prevoius test setup to wire into the Mini but I've got 3 leads from the DS18b20s but only see where the GND and Data (D6)go in the RJ45 plug but not the one remaining one? The post you point to is for a RJ11 plug.
 
Ok I've done the above and have taken my soldering skills to the next level! Those surface mounts are sooooo small. Now I'm diassembling some of my Fermentrack/BrewPi/Rpi/Uno prevoius test setup to wire into the Mini but I've got 3 leads from the DS18b20s but only see where the GND and Data (D6)go in the RJ45 plug but not the one remaining one? The post you point to is for a RJ11 plug.

Are you using the RJ-45 breakout board, or are you attempting to directly splice the temperature sensors onto cables of some sort?

The RJ-11 boards are intended if you're directly splicing, as that's how the old-school telephone splitters worked, which means the hardware to connect everything is generally pretty available. The RJ-45 boards are intended for use with a breakout board, due to the wide availability of RJ-45 cables (as opposed to RJ-11 ones, which are becoming more scarce)
 
Ok I've done the above and have taken my soldering skills to the next level! Those surface mounts are sooooo small. Now I'm diassembling some of my Fermentrack/BrewPi/Rpi/Uno prevoius test setup to wire into the Mini but I've got 3 leads from the DS18b20s but only see where the GND and Data (D6)go in the RJ45 plug but not the one remaining one? The post you point to is for a RJ11 plug.
Nevermind. I just checked continuity from the 3.3v to all the RJ45 points and the 3rd from the left on the plug or second from left contact in the bottom row on the board has continuity to 3.3V Then I saw the trace on the bottom view! Doh! Sorry.
 
Using the RJ45 board. Attempting to flash now with Fermentrack. On my 3rd attempt. First two attempts returned a code 2. This time I've got the RPi on ethernet instead of Wifi to see if that helps the flash.
 
Using the RJ45 board. Attempting to flash now with Fermentrack. On my 3rd attempt. First two attempts returned a code 2. This time I've got the RPi on ethernet instead of Wifi to see if that helps the flash.

The internet connection shouldn’t matter, as the firmware is downloaded before the flash process starts. Check the size of the power adapter for the Pi (and disconnect the temp sensors before flashing to (slightly) decrease power usage) as insufficient power to run everything is the #1 culprit I’ve encountered when having flash issues.

If that doesn’t work, post a photo of the ESP8266 you’re flashing and I can see if there might be something else to try. (You can also try the qio/dio flash modes if you want)
 
Using the RJ45 board. Attempting to flash now with Fermentrack. On my 3rd attempt. First two attempts returned a code 2. This time I've got the RPi on ethernet instead of Wifi to see if that helps the flash.
update Failed again got this

esptool.py v2.5.1
Serial port /dev/ttyUSB0
Connecting........_____....._____....._____....._____....._____....._____....._____

A fatal error occurred: Failed to connect to Espressif device: Timed out waiting for packet header
 
IMG_20190218_234103.jpg
The internet connection shouldn’t matter, as the firmware is downloaded before the flash process starts. Check the size of the power adapter for the Pi (and disconnect the temp sensors before flashing to (slightly) decrease power usage) as insufficient power to run everything is the #1 culprit I’ve encountered when having flash issues.

If that doesn’t work, post a photo of the ESP8266 you’re flashing and I can see if there might be something else to try. (You can also try the qio/dio flash modes if you want)
I tried the default load same fail.

I ordered Smart Electronics D1 mini - Mini NodeMcu 4M bytes Lua WIFI Internet of Things development board based ESP8266 this is a photo of what it looks like
 
Could I have screwed up the soldering? As I was trying to troubleshoot what ended up being a bad usb cable I was checking voltages. I got the 5 v readings but couldn't find any 3.3 v points I was getting like 0.119 v at those points.
 
Try taking the ESP off of your soldered board and flashing it without anything else hooked up. Also, I don't know the schematic of that particular PCB board, but it looks like you're missing a capacitor at C1.
 
Could I have screwed up the soldering? As I was trying to troubleshoot what ended up being a bad usb cable I was checking voltages. I got the 5 v readings but couldn't find any 3.3 v points I was getting like 0.119 v at those points.
I'll pick this up tomorrow as it is past midnight here.
 

Latest posts

Back
Top