BrewPi@ESP8266, no need of RPI and Arduino.

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.
Well, all my parts just came, will connect it all together at Monday.

I flashed it with NodeMCU flasher by using BrewPiLess.v2.4.oled.bin file. Brewpiless wireless network can be seen and connected to but my other SIM card router isn't available ATM so I can't finish the whole setup. However, one thing concerns me and it's OLED display. I tried to connect it as it should be connected, you can see picture below.

screenshot_60.jpg


Trouble is that OLED display doesn't work any more after first reboot/reconnection?
Is that normal OLED behavior or something is burned?
 
It's not normal.
After 3 minutes, BPL should enter AP mode and start to operate as normal. You should be able to see the LCD display as normal operation mode.
 
Nonono, I haven't let him to enter because dedicate router isn't ready yet. I disconnect it after maybe two minutes and OLED worked only for the first time.

Will se today afternoon.
 
Let me ask you one more question, if I accidentally killed my OLED is it possible to reflash ESP8266 with new .bin file, which supports 2004 I2C LCD?
 
Let me ask you one more question, if I accidentally killed my OLED is it possible to reflash ESP8266 with new .bin file, which supports 2004 I2C LCD?

You bet.

The little OLED LCD is cheap and cute. They seem to have better resistance to EMI. However, I had one that die after a few months, which loses their reliability.
 
OK, everything works but I can't get it global, just local network, when my computer and BPL are connected to the same network.

Is there any network connecting tutorial for this device?

I have a wireless router (BPL is connected every time), I have set domain on no-ip.org but I simply can't get it on the network, to see it with my phone or other computer. :(
 
I'm finishing up my first fermentation with brewpiless. It did an excellent job maintaining temps and ramping temps up when needed. Beer temp tracked the set point far better than any controller that I've used previously. However when it comes to cold crashing it seems like it's being quite conservative on how much cooling to use and what the fridge setpoint should be in relation to the rate at which the beer set point is decreasing. Here's a graph:

https://app.ubidots.com/ubi/getchart/page/N1o3XDZJ7qgpSrSyBc0WByPo8n0

The beer set point was 34 and it seems like it locked in the fridge set point to 33.8 pretty early on. So the rate at which the beer cooled was much slower than set by the profile. I'm looking at the parameters that can be tuned via JSON commands, but I'm not sure which one might be in play here. Maybe tempSetMin is what I'm looking for, but I'm guessing I may need to tinker with the PID values a bit. Is there a way to see the current values for each of these settings? I don't see anything in the documentation and I looked through the code in JsonKeys.h, but I didn't see anything in there that looked like it would print out the current config. Thanks for the help.

Robert
 
I'm finishing up my first fermentation with brewpiless. It did an excellent job maintaining temps and ramping temps up when needed. Beer temp tracked the set point far better than any controller that I've used previously.

Thanks to Elco, who created this algorithm and code.

However when it comes to cold crashing it seems like it's being quite conservative on how much cooling to use and what the fridge setpoint should be in relation to the rate at which the beer set point is decreasing. Here's a graph:

https://app.ubidots.com/ubi/getchart/page/N1o3XDZJ7qgpSrSyBc0WByPo8n0

The beer set point was 34 and it seems like it locked in the fridge set point to 33.8 pretty early on. So the rate at which the beer cooled was much slower than set by the profile. I'm looking at the parameters that can be tuned via JSON commands, but I'm not sure which one might be in play here. Maybe tempSetMin is what I'm looking for, but I'm guessing I may need to tinker with the PID values a bit. Is there a way to see the current values for each of these settings? I don't see anything in the documentation and I looked through the code in JsonKeys.h, but I didn't see anything in there that looked like it would print out the current config. Thanks for the help.

Robert

Yes. You are on the right track. it is "tempSetMin" that constraints the minimum set temperature, default to 1 degree Celsius.
To access it and PID parameters, check this section:
https://github.com/vitotai/BrewPiLess#json-commands

BTW, I don't know how to put all data in a chart on ubidots.com like yours. Would you shed some light on me?
 
Yes. You are on the right track. it is "tempSetMin" that constraints the minimum set temperature, default to 1 degree Celsius.
To access it and PID parameters, check this section:
https://github.com/vitotai/BrewPiLess#json-commands

Yup, I've used it before. I just wasn't sure which parameter to use for this particular issue. Is there a way to print out the current values? I didn't see anything in JsonKeys.h and there doesn't appear to be anything in the UI to do it.

BTW, I don't know how to put all data in a chart on ubidots.com like yours. Would you shed some light on me?

On ubidots, I have one device with 4 variables. The on the dashboards page I added a line graph with all 4 variables from that device. On the brewpiless side I'm sending:

{"beer-temperature":%b,"fridge-temperature":%f, "beer-set":%B, "fridge-set":%F}

Robert
 
Yup, I've used it before. I just wasn't sure which parameter to use for this particular issue. Is there a way to print out the current values? I didn't see anything in JsonKeys.h and there doesn't appear to be anything in the UI to do it.

yes. a single character "c" will list all control variables.

On ubidots, I have one device with 4 variables. The on the dashboards page I added a line graph with all 4 variables from that device. On the brewpiless side I'm sending:

{"beer-temperature":%b,"fridge-temperature":%f, "beer-set":%B, "fridge-set":%F}

Robert

Got it. Thanks. I should've tried all actions available.
 
OK, everything works but I can't get it global, just local network, when my computer and BPL are connected to the same network.

Is there any network connecting tutorial for this device?

I have a wireless router (BPL is connected every time), I have set domain on no-ip.org but I simply can't get it on the network, to see it with my phone or other computer. :(

The general, non-secure, method is to configure your router to forward a specific port to the internal network IP of your brewpiless (You'll need to research the method for doing this for your particular router). Then, to get to your brewpiless from outside your network you go to "your.no-ip.org:XXXX", where XXXX is the port you forwarded.

I don't know how you would do it in a more secure manner.
 
I found a solution. The main trouble is that my public and WAN IP addresses are diferent, therefore is no way to port forward it.

I have one extra PC, will use it locally with brewpiless and control it with TeamViewer.
 
I found a solution. The main trouble is that my public and WAN IP addresses are diferent, therefore is no way to port forward it.

I have one extra PC, will use it locally with brewpiless and control it with TeamViewer.
Can't you remotely access your home network using VPN?
 
Maybe I could do it but not ATM.

This solution is simple and works like a charm.
 
Hi,

My brewpiless setup has stopped functioning correctly. I turned it on after about a month of not using it and the everything looks fine on the OLED, but I can't get past 'Communicating with BrewPiLess controller..' on the web interface.

It was on version v2.3.3, I tried updated to 2.4 but that didn't help. It now displays 'invalid mode' on the OLED.

Is there anything I can do to clear/reboot this? It had been working perfectly before I turned it off.

Thanks
 
Please read README at GitHub before you upgrade.

You need to run SETUP again after upgrading to v2.4 from prior non-glycol version.
 
OK. This issue occurred before I upgraded.

However, I have just erased the EEProm and resetup the device inputs and this seems to have resolved things. Thanks!
 
Something might goes wrong before you updated to v2.4, like network connection broken, system crashes, and etc. It happens all the time.
BTW, I just updated a new version v2.4.1. It fixed some issues.
 
Hi,

I've updated to 2.4.1, i'm using a thermowell and i'm really confused by the performance. No matter what, it seems to not cool?

The beer is sitting 1.5C over and it's just idling. The fridge temp is even higher - I don't get it? It's set to beer constant and seems to not be doing anything - It had been idling for 18 hours when I checked first.....
temp1.png temp2.png


Any thoughts? I tried restarting it but that didn't help - I'm really confused with how it's behaving as an STC1000 would have controlled the temp much better.
 
Have you run Device Setup again?
It seems like that the cooling device is not available.
 
That's it! I set up the temp sensors but not the cooler / heater! What a complete muppet I am.

This kolsch might turn out a bit interesting....the temp only got up to 18.5C so it may not be all lost....
 
I was wondering for those who have more than one fermenter, if anyone ever thought of hacking brewpiless to run multiple instances. Or would they rather build several units of BPL?
 
Last edited:
I was wondering for those who have more than one fermenter, if anyone ever thought of hacking brewpiless to run multiple instances. Or would they rather build several units of BPL?
You guess.

NodeMcu or D1 mini is tiny and cheap. By saying tiny, I do mean it's computing power and memory. I don't think it is worthy the complexity of handling multiple chambers. Further more, there are not enough PINs available.

I did think of a way to view all BPLs in a page. i.e. One page to view them all. However, it can be done by simply using a html file with frames, and I don't have any good idea about the presentation except LCD displays.
 
guys, is there a way to add co2 sensor to brewpiless?

What exactly do you want to do?

IMO, gravity is the best trace of fermentation. By using latest "ferment and calibrate" feature, I can usually get reading within 1 point error. (I believe the error is caused by the accumulation of co2 bubbles on the service of iSpindel.)

I've thought of adding pressure sensor but don't think its a good idea. The pressure will "saturate" quickly once the fermentation starts. (On the other hand, using a solenoid to cap for spunding seems to be a good idea.)
 
Could you please tell me more about "By using latest "ferment and calibrate" feature, I can usually get reading within 1 point error." part?

Of course that gravity is not the the best way to know everything about fermentation.

Happy new year to all!
 
Could you please tell me more about "By using latest "ferment and calibrate" feature, I can usually get reading within 1 point error." part?

Of course that gravity is not the the best way to know everything about fermentation.

Happy new year to all!

Information about iSpindel:
https://github.com/universam1/iSpindel
https://www.homebrewtalk.com/forum/threads/ispindle-diy-electronic-hydrometer.598187/

"Brew and Calibrate" of BPL:
https://github.com/vitotai/BrewPiLess#brew-and-calibrate-ispindel


If you calibrate iSpindel well, you should get good result. My problem is that every time I charged, the guts of iSpindel seems to move a little, which results in drift of reading. Therefore, I implemented "Brew and Calibrate".

Check the latest brew log of mine:
https://vitotai.github.io/londonesb.html
 
OMG, I don't know why I missed it in the past. This IS great.

Going to read whole thread now.

THANK YOU!
 
My ferm fridge Ranco controller gave up the ghost the other day and my research for a connected device has lead me here. So happy I found this project, it looks fantastic!

Hardware wise, is this a good buy? I figure the inductive load model would be the best match for a refrigerator.
http://www.electrodragon.com/product/esp-relay-board-il-inductive-load/

https://github.com/vitotai/BrewPiLess/issues/26#issuecomment-334972253

It seems to be a perfect solution. I've noticed this solution, but according the information from this page, the original version can only handle maximum 1A~2A.
http://tinkerman.cat/esp8266-multi-relay-boards-sonoff-dual-electrodragon/#lightbox-gallery-YnGQ/0/

This new version seems to support maximum 5A, or 10A, which makes it usable.

The PIN configuration is different, but it is easy to change the definition.
 
That looks like a handy single-board solution as it appears to have everything needed to run a cooler at a crazy low price.
But there is this line in the specifications that might need consideration: "Resistive load rate at 10A, for inductive load better no more than 5A."

It's not uncommon for a fridge or freezer compressor to pull more than 5A on startup even while the steady state current is 1A or less.
eg: my 13cf keezer pulls almost 8 amps on startup then drops to just under 1A, and that startup current may exceed the capability of this module to keep inductive noise out of the ESP's domain - as well as any peripheral devices sharing the same DC rails.

That said, at that price it's worth a shot...

Cheers!
 
I like your optimism @day_trippr, but your post made me dig a little deeper into the subject of inductive loads.
I have two 4.4cu.ft. Danby fridges.
Fermentation: DWC044BLP-3, Rated Current: 1.8A, Compressor LRA: 9.6
Kegerator: DAR446BSL-6, Rated Current: 1.3A, Compressor LRA: 6.5

Considering that the STC-1000 only contains 12A relays, things may work just fine, but I'm still a little leery about those surge currents.
I also really would like to have IEC 320 C14 and NEMA 5-15R connections as opposed to raw wiring, so think I will design a box utilizing 30A relays (similar to what's inside my Ranco).

Cheers!
 
fwiw, I had a similar concern wrt using BrewPi "Classic" with the typical SainSmart dual relay module and having it yack up a fried relay when controlling my 13cf keezer.
I ended up using the SainSmart to control a slave 30A relay which does the heavy lifting. It's been running for a few years now...

Cheers!
 
I am having issues getting the SSID to display. I've followed posts #532 and 534 to erase and then try different versions of the binary files.

I've started a conversation privately to resolve this issue. If I get a fix there, I will reply here that I no longer need help.

Upon startup, the LCD will display that I should initialize wifi (it's never been connected. I just got it from amazon) but I cannot see the brewpiless ssid on any of my wifi devices. The timeout occurs and it proceeds to display mode/beer/fridge/idling.

Any help would be greatly appreciated. I'd like to get this tackled tonight/tomorrow before the weekend is over.

Thanks!
 
I am having issues getting the SSID to display. I've followed posts #532 and 534 to erase and then try different versions of the binary files.

I've started a conversation privately to resolve this issue. If I get a fix there, I will reply here that I no longer need help.

Upon startup, the LCD will display that I should initialize wifi (it's never been connected. I just got it from amazon) but I cannot see the brewpiless ssid on any of my wifi devices. The timeout occurs and it proceeds to display mode/beer/fridge/idling.

Any help would be greatly appreciated. I'd like to get this tackled tonight/tomorrow before the weekend is over.

Thanks!

It might take some time for your computer to find the SSID of brewpiless. Unless the default WiFi channel that your ESP8266 uses happens to be the one that your computer doesn't support. I haven't study this part, but I bet ESP8266 should choose a most compatible channel as default.

A way to work-around it and connect the ESP8266 to your router is uploading a simple sketch with hard-coded the SSID and password. The WiFi credential will then be saved in a special area of ESP8266 and will survive after re-flashing. After that, you can upload BPL without going through the WiFi setup page.


Code:
#include <ESP8266WiFi.h>
 
const char* ssid = "YOUR_SSID";//type your ssid
const char* password = "YOUR_PASSWORD";//type your password

void setup() {
  Serial.begin(115200);
  // Connect to WiFi network
  Serial.println();
  WiFi.begin(ssid, password);
  while (WiFi.status() != WL_CONNECTED) {     delay(500);     Serial.print(".");   }   
    Serial.println("");   
    Serial.println("WiFi connected"); 
}
void loop(){}
 
Back
Top