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

    Homebrewing Facebook Group

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

Homebrew Talk

Help Support Homebrew Talk:

This site may earn a commission from merchant affiliate links, including eBay, Amazon, and others.
Hello All,
I have just recently stumbled across this topic whilst searching for Home Automation and esp8266 and couldn't help but build one just to see ...:)
I have had and built Brewpi's in one form or another since the original DIY build ...(including a pcb for a spark v2 shield). I like the clarity of the 20x4 display, hence me trying this build.
I noticed that several programmers in Home automation scene and Thorrak had started to use the PlatformIO IDE so thought yep, try it out! Even though I find programming not on my naturally free flowing side... I managed to adapt the code, compile it and get the buzzer working ... albeit limited in its current form and noisily during flashing.... :(
Also... on building my prototype I made one or two subtle changes.
I am using the nodemcu V2 board and......
1) The one wire probes in non parasitic mode, I'm using Vcc = +5V but data line I have tied to +3v3 via a 4k7 pullup
and
2) I used an active buzzer .. why do we need to use a non active one, which is controlled via pwm ? there are no multi tones/tunes..it beeps on start up and currently there are no actively settable alarms conditions... !!
I did find configuring it not quite straight forward, but not unsurmountable, coming to the conclusion I was probably on the range lmiiit of my WiFi and needing to apply several times the configuration for slot settings to take effect.!!
I still find the idea of using a rotary encoder or buttons appealing, especially in a wet environ where I find touch screens more trouble to use than their worth.....
IMG_0380.jpg

IMG_0377.jpg
 
Alright, after a few weeks of neglecting this project due to my job requiring 70 hour weeks, I'm starting to move on. Here is the original wiring diagram from the back of the wine cooler I am modifying.

VOFQItq.jpg


And here is what I have planned as far as my power supply section. The four connections at the top right will beconnected to a separate box with LCD and controller all contained within. I decided it would be safer to keep all the 120v separate. Since the brown, red, and blue wires all route into the fridge itself, I will pull those into a box with an outlet on the side which the heating blanket will plug into.

fdigpT1.jpg


Thoughts? I'm %99 sure this will work, can anyone see any issues?

Also, I have access to the light installed from the factory in the fridge, and I'd like to wire it up with white LEDs. I'm probably going to put them on a switch, but is there any reason I should worry about a chamber light skunking the beer?

Thanks!
 
That'll work (note that the pivoting element in a relay is typically drawn as the middle connection of the three).

As for skunking, it depends how much blue-to-UV spectrum the light source provides.
For a typical incandescent bulb the energy in that slice of spectrum is minimal, but I don't know about "white" LEDs...

Cheers!
 
That'll work (note that the pivoting element in a relay is typically drawn as the middle connection of the three).

As for skunking, it depends how much blue-to-UV spectrum the light source provides.
For a typical incandescent bulb the energy in that slice of spectrum is minimal, but I don't know about "white" LEDs...

Cheers!

IIRC "Cool" white LEDs are mostly blue LEDs with other colors thrown in for good measure. "Warm" white LEDs have almost no blue in them whatsoever.

Fake edit - Just found a picture showing the spectrum. It's the stuff between 300-500nm that you need to worry about, supposedly.
light-spectrum-common-light-sources.png
 
You could wire up a motion sensor and only turn on the lights when there's someone in the room?

I'd definitely stay away from "white" LED's or fluorescent for that matter. What do you think about red LED's? It would be a little spacey/defcon looking, but it would not harm the beer.
 
You could wire up a motion sensor and only turn on the lights when there's someone in the room?

I'd definitely stay away from "white" LED's or fluorescent for that matter. What do you think about red LED's? It would be a little spacey/defcon looking, but it would not harm the beer.

Surely turning your fridge into a red light zone might raise the chances of a yeast infection??? :pipe:
 
You could wire up a motion sensor and only turn on the lights when there's someone in the room?

I'd definitely stay away from "white" LED's or fluorescent for that matter. What do you think about red LED's? It would be a little spacey/defcon looking, but it would not harm the beer.

Did you see my graph? Lasers man, lasers!
 
Alright, after a few weeks of neglecting this project due to my job requiring 70 hour weeks, I'm starting to move on. Here is the original wiring diagram from the back of the wine cooler I am modifying.

VOFQItq.jpg


And here is what I have planned as far as my power supply section. The four connections at the top right will beconnected to a separate box with LCD and controller all contained within. I decided it would be safer to keep all the 120v separate. Since the brown, red, and blue wires all route into the fridge itself, I will pull those into a box with an outlet on the side which the heating blanket will plug into.

fdigpT1.jpg


Thoughts? I'm %99 sure this will work, can anyone see any issues?

Also, I have access to the light installed from the factory in the fridge, and I'd like to wire it up with white LEDs. I'm probably going to put them on a switch, but is there any reason I should worry about a chamber light skunking the beer?

Thanks!

One other potential solution - as has been noted, the "buzzer" pin doesn't really get used for much in the BrewPi firmware. You could repurpose that pin as the "light" pin and have it drive a third relay (in addition to heat and cool).

If you do this - and use a door sensor - the BrewPi firmware will trigger power to the light whenever you open the door. It's much less likely to skunk your beer if it's not always on.
 
One other potential solution - as has been noted, the "buzzer" pin doesn't really get used for much in the BrewPi firmware. You could repurpose that pin as the "light" pin and have it drive a third relay (in addition to heat and cool).

If you do this - and use a door sensor - the BrewPi firmware will trigger power to the light whenever you open the door. It's much less likely to skunk your beer if it's not always on.

Excellent idea, I've been trying to figure out a solution for the light and that sounds perfect. I'm not sure where to start with using that pin and how to implement it though.

I have table'd that thought for now as I need to make more beer and need to get the basics working and tested.

There is a plate across the back of the fridge with two fans in it, that I am going to use to circulate air. I've ordered replacement 5v fans for the stock 12v ones, and I was wondering if I can drive a second relay for 5v with the same pin for the cooling section?

I believe I have solved all of my mounting and wiring issues, so the rest is just actually doing the work. I'm hoping to make some big progress this weekend.


Also, thanks for the verification day_trippr!
 
I think you're better off with the fans always running and not tied to the cooling. Constant air movement is key to keeping the temperature consistent.
 
I think you're better off with the fans always running and not tied to the cooling. Constant air movement is key to keeping the temperature consistent.

Interesting idea, My thought was that since I'm using a heating blanket around the carboy that the fans would only be helpful on the cooling cycle. Seem like they would possibly draw away heat from the blanket during heating, may not be a huge difference though. Maybe I'll put a switch on the outside of the case for them so they're not running when there's no fermentation going.
 
Interesting idea, My thought was that since I'm using a heating blanket around the carboy that the fans would only be helpful on the cooling cycle. Seem like they would possibly draw away heat from the blanket during heating, may not be a huge difference though. Maybe I'll put a switch on the outside of the case for them so they're not running when there's no fermentation going.
In beer constant mode, the beer temp drives the fridge setpoint - and that is in turn what drives heat/cool. Having that fan on all the time will help avoid ht/cold spots that result in pretty wide swings.
 
Hd anyone had any issues flashing the ESP8266 from an RPI zero W, was trying to reset and re flash today with no success, the command would run but nothing would happen. Ended up using a spare RPI 3 to flash it no problem. Same USB cable.
 
Hd anyone had any issues flashing the ESP8266 from an RPI zero W, was trying to reset and re flash today with no success, the command would run but nothing would happen. Ended up using a spare RPI 3 to flash it no problem. Same USB cable.
It's going to be a few months before people get a hold of a RPI0W around my part of the world ( So. Cal) Micro Center has limited supplies
 
I don't have an application where the W would be a satisfactory solution...

Cheers!

I managed to pick a W up at MicroCenter last weekend and plan to replace the non-W I have in a Fuscus box I built. Shockingly, they seem to be keeping them in stock unlike the rush they had on the original zeros. Hoping this lasts!

Really though, the main advantage I see is that it's the perfect box for new BrewPi installations. The previous Pi Zero had only one USB port, which would almost certainly need to be used to connect to a network. Although a WiFi-based ESP8266 installation would work, Serial installations (including Arduino-based ones) wouldn't. Sure - you could use a USB hub - but that's an additional piece of hardware to buy/power.

While the additional power of a full-fat Raspberry Pi 3 is always nice, BrewPi doesn't exactly use much in terms of resources.
 
I managed to pick a W up at MicroCenter last weekend and plan to replace the non-W I have in a Fuscus box I built. Shockingly, they seem to be keeping them in stock unlike the rush they had on the original zeros. Hoping this lasts!



Really though, the main advantage I see is that it's the perfect box for new BrewPi installations. The previous Pi Zero had only one USB port, which would almost certainly need to be used to connect to a network. Although a WiFi-based ESP8266 installation would work, Serial installations (including Arduino-based ones) wouldn't. Sure - you could use a USB hub - but that's an additional piece of hardware to buy/power.



While the additional power of a full-fat Raspberry Pi 3 is always nice, BrewPi doesn't exactly use much in terms of resources.


Well let me know if you manage to flash the ESP with it, I'm wondering if it's limited power of just a dodgy USB comm, the same cable and ESP chip worked with an RPI3 so I'm trying to narrow down what's gone wrong.
 
Hd anyone had any issues flashing the ESP8266 from an RPI zero W, was trying to reset and re flash today with no success, the command would run but nothing would happen. Ended up using a spare RPI 3 to flash it no problem. Same USB cable.

Hi All

Greetings from Ireland.

I have the same issue with the pi zero w. Thanks Mikmonken, i flashed the esp8266 from my pi 3 and that worked. Could be a zero w issue.

Keep up the great work thorrak I owe you a beer.
 
Hi All

Greetings from Ireland.

I have the same issue with the pi zero w. Thanks Mikmonken, i flashed the esp8266 from my pi 3 and that worked. Could be a zero w issue.

Keep up the great work thorrak I owe you a beer.

Yikes, good to know that might be a problem. I just got my Pi Zero W hooked up - now I need to attempt flashing a controller. Not hopeful, given the above. :(
 
Quick update on things from this side - The list of open issues with Fermentrack v1 is pretty much down to... two. That said, the "soft release" is currently targeted for sometime in the afternoon/evening of this coming Friday, March 17th.

In addition to working towards closing out the last two issues, I've been going through and getting some documentation together relating to installation/basic functionality of Fermentrack. The goal since the beginning has really been to make it as user friendly as possible - hopefully the installation reflects that. ;)

If you're interested in seeing the progress (or understanding how things work prior to installing Fermentrack) I've set the videos up on YouTube as linked below:

YouTube - Step 1. Installing Fermentrack
YouTube - Step 2. Configuring Fermentrack
YouTube - Step 3. Configuring a Controller
YouTube - Step 4. Creating a Fermentation Profile

Extra - Updating Fermentrack - YouTube

There won't be a separate thread for this version of Fermentrack - Once v2 is ready/available (which supports more than just ESP8266 controllers explicitly), I'll get a separate thread going.
 
Quick update on things from this side - The list of open issues with Fermentrack v1 is pretty much down to... two. That said, the "soft release" is currently targeted for sometime in the afternoon/evening of this coming Friday, March 17th.

In addition to working towards closing out the last two issues, I've been going through and getting some documentation together relating to installation/basic functionality of Fermentrack. The goal since the beginning has really been to make it as user friendly as possible - hopefully the installation reflects that. ;)

If you're interested in seeing the progress (or understanding how things work prior to installing Fermentrack) I've set the videos up on YouTube as linked below:

YouTube - Step 1. Installing Fermentrack
YouTube - Step 2. Configuring Fermentrack
YouTube - Step 3. Configuring a Controller
YouTube - Step 4. Creating a Fermentation Profile

Extra - Updating Fermentrack - YouTube

There won't be a separate thread for this version of Fermentrack - Once v2 is ready/available (which supports more than just ESP8266 controllers explicitly), I'll get a separate thread going.

This is looking beautiful! Definitely going to try it out on release day :D

quick question :confused: , is there a feature to export to the cloud like google sheets or download the chart? couldnt find any info
 
This is looking beautiful! Definitely going to try it out on release day :D

quick question :confused: , is there a feature to export to the cloud like google sheets or download the chart? couldnt find any info

It's undocumented/hidden, but yes. All data is saved to a CSV file that can be downloaded/reuploaded into Google Sheets via a specific URL.
 
Need a little help. I tried loading this .BRD into DirtyPCB and it spits out that it's missing drill hole and board out line errors. Here is the .BRD
https://github.com/thorrak/brewpi-esp8266/blob/master/hardware/D1 Breakout - LCD SMD Dupont.brd
Board Outline
The board outline layer contains an outline of the PCB area and slots to be milled. It should have an extension like .gml/.gko/.gbr. A board outline is required.

Status Layer Extension File Error
ERROR Board Outline gml/gko/gbr No board outline (.GML/.GKO/.GBR) file found.
Drill File
A drill file contains the size and location of holes on the PCB. A drill file is generally required, but if you purposly omitted it then you can ignore any warnings.

Status Layer Extension File Error
ERROR Board Outline txt/drl/dri/drd No drill (.TXT/.DRL/.DRI/.DRD) file found.
I tried to open the file up in Eagle Version 7.7.0 for Windows (32 bit) and got this error.
Error:

line 6, column 41: This is not an EAGLE file.
 
I have my Wemo on it's way from China and will be using the tips and instructions from the thread to build my first fermentation controller on my way to (hopefully) better, more repeatable beer. My current put it in the FastFerment and let'er go does make respectable beer, but I am wanting more.

I have a question about BrewPi/ESP8266 and FermenTrack. Does the data for profiles, settings and logs get stored on the ESP8266 or on the Pi?

Cheers!

Chris
 
I have my Wemo on it's way from China and will be using the tips and instructions from the thread to build my first fermentation controller on my way to (hopefully) better, more repeatable beer. My current put it in the FastFerment and let'er go does make respectable beer, but I am wanting more.

I have a question about BrewPi/ESP8266 and FermenTrack. Does the data for profiles, settings and logs get stored on the ESP8266 or on the Pi?

Cheers!

Chris

For both the ESP8266 and Arduino-based BrewPi controllers, the data for profiles & logs gets stored on the Pi. The settings are saved to the controller.
 
Need a little help. I tried loading this .BRD into DirtyPCB and it spits out that it's missing drill hole and board out line errors. Here is the .BRD
https://github.com/thorrak/brewpi-esp8266/blob/master/hardware/D1 Breakout - LCD SMD Dupont.brd

I tried to open the file up in Eagle and got this error

Uhhhhhh... that doesn't sound right. I'm guessing I may have uploaded something incorrectly, but just to eliminate a potential source of confusion - what version of Eagle are you using?
 
Uhhhhhh... that doesn't sound right. I'm guessing I may have uploaded something incorrectly, but just to eliminate a potential source of confusion - what version of Eagle are you using?
Eagle Version 7.7.0 for Windows (32 bit)
All of the files listed on post 243 of this thread won't open up in Eagle.
 
I've set up my ESP8266 with my fridge and a heater and am testing it all out before brewing.

I dont get the nice PID display in the web interface shown in this brewpi blog post. Is that because it was removed from the interface since this was posted or is it because im only running in fridge constant mode (not beer constant or a beer profile mode).

I get a JSON text output.

Ultimately I'll probably move to fermentrack as soon as I can, so it might not matter in a couple of weeks.
 
I've set up my ESP8266 with my fridge and a heater and am testing it all out before brewing.

I dont get the nice PID display in the web interface shown in this brewpi blog post. Is that because it was removed from the interface since this was posted or is it because im only running in fridge constant mode (not beer constant or a beer profile mode).

I get a JSON text output.

Ultimately I'll probably move to fermentrack as soon as I can, so it might not matter in a couple of weeks.

No reason to move to Fermentrack unless you want to. The controller firmware should support both (albeit not at the same time).

I haven't seen that interface before. That's an interesting way to visualize the algorithm. I like it! I don't think it has anything to do with the fridge vs. beer constant mode as it's a function of the web interface itself (which is agnostic to the mode the controller is in).

I'll take a look at my BrewPi install tomorrow and see if I can locate it.
 

I use Eagle 7.3 lite for Mac, and when I download the files they seem to work perfectly... .brd files are just XML - Can you try opening one of the files that you downloaded in a text editor? Just for reference, when I just downloaded this one the first few lines are:

Code:
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE eagle SYSTEM "eagle.dtd">
<eagle version="7.3.0">
<drawing>
<settings>
<setting alwaysvectorfont="no"/>
<setting verticaltext="up"/>
</settings>

If your first few lines (with text) look like this:

Code:
<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="utf-8">

then you may have downloaded the GitHub viewer page instead of the file itself. Try cloning the repo as a whole & using the files from the clone - if that doesn't work for some reason (or you already tried that) then let me know and we can go from there.
 
I'll try and see if it loads in notepad++. Maybe I didn't save the .brd file to my desk top properly.DirtyPCB took the file but only the outline and drill files didn't show up.I was able to download other .BRD files and get the to open up in Eagle 7.7. Thanks for the help.
 
I'll try and see if it loads in notepad++. Maybe I didn't save the .brd file to my desk top properly.DirtyPCB took the file but only the outline and drill files didn't show up.I was able to download other .BRD files and get the to open up in Eagle 7.7. Thanks for the help.

Any time - Shout if you continue to run into issues & I'll see if I can help.
 
I use Eagle 7.3 lite for Mac, and when I download the files they seem to work perfectly... .brd files are just XML - Can you try opening one of the files that you downloaded in a text editor? Just for reference, when I just downloaded this one the first few lines are:



If your first few lines (with text) look like this:

Code:
<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="utf-8">

then you may have downloaded the GitHub viewer page instead of the file itself. Try cloning the repo as a whole & using the files from the clone - if that doesn't work for some reason (or you already tried that) then let me know and we can go from there.
Ok I must have downloaded the files incorrectly because my text looks like your second example. I need instructions to download the files correctly.


OK I'm an IDIOT I was downloading the wrong files. Got everything to work Thanks for the help
 

Latest posts

Back
Top