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.
Need help.

I am away, left a profile automated, and is vnc connecting to follow it.

Noticed that the iSpindel temp (I’m not using it as beer sensor cause I set it to 6 mins updates) was always 0.5C degrees bellow. Yesterday I placed other sensors plugged at my CraftbeerPi and noticed the gap.

Today, I took the decision to, instead of calibrating during the log, set the profile for 0,5 up. I did it and after that all sensors stoped working.

Luckily I set my CBPi as a backup system and now it is maintaning the twmp.

Questions:

1-Is this a known bug or was bad luck?
2-restarting the BPL will cause loss of data of the current run?
3-is there a “safe” way of remote restarting it? (Normaly I have to hard reset till it gets IP address)
 
Today, I took the decision to, instead of calibrating during the log, set the profile for 0,5 up. I did it and after that all sensors stoped working.

Did you set the calibration values by using JSON commands? I will need to verify this.

First, temperature stratification is a real thing. Let me show you a interesting chart below. In this chart, I chilled the wort to 14C, pitched, and set the beer temperature to 17C. The temperature of iSpindel rose so quickly that I thought something might have gone wrong. Then, when the fermentation enter vigorous stage, the temperature of iSpindle and Beer sensor mixed. Yes. This is common-seen, but it is the first time I saw such a dramatic difference. My theory is that iSpindel is floating between air and liquid, and the temperature is the temperature near surface or part of the air in the fermenter. It's normal to have temperature stratification for still liquid. During vigorous fermentation stage, the generated CO2 floats and results in vigorous convection to mix beer and temperature. When fermentation ends or slows, the temperature stratification will show again if beer is crashed.

Second, some logged data will be lost after v3.0. Everything else should be fine.

Third, I might need to dig out some information about software reset of ESP8266. BPL will reset under certain conditions, like change of system configuration. However, it usually fails to reboot on my development platform but successes on my working platform. The software reset function is not reliable in my opinion.
 

Attachments

  • tempstr.jpg
    tempstr.jpg
    48 KB · Views: 77
Actually I haven't. I was afraid of messing up and decided to live with it.

I am living with BPL loging my gravity info and CBPi controling the fridge temperature. (the temp difference is also measured by the CBPi sensors) Since I work traveling, I need this remote control capability. And luckly I thought my mom to switch power plugs (My brewery is at her place)

One last bizarre thing is now, I got home and was rereading the forum for some info on my issue, and saw the h{} json command. I ran it and the sensors were not there BUT: take a look at the chart attached... (sorry had to take it with my phone)

The sensors suddenly appeared for some time....

Wierd huh!?

EDIT: Attached another chart.. One sensor was resurrected!

Did you set the calibration values by using JSON commands? I will need to verify this.

First, temperature stratification is a real thing. Let me show you a interesting chart below. In this chart, I chilled the wort to 14C, pitched, and set the beer temperature to 17C. The temperature of iSpindel rose so quickly that I thought something might have gone wrong. Then, when the fermentation enter vigorous stage, the temperature of iSpindle and Beer sensor mixed. Yes. This is common-seen, but it is the first time I saw such a dramatic difference. My theory is that iSpindel is floating between air and liquid, and the temperature is the temperature near surface or part of the air in the fermenter. It's normal to have temperature stratification for still liquid. During vigorous fermentation stage, the generated CO2 floats and results in vigorous convection to mix beer and temperature. When fermentation ends or slows, the temperature stratification will show again if beer is crashed.

Second, some logged data will be lost after v3.0. Everything else should be fine.

Third, I might need to dig out some information about software reset of ESP8266. BPL will reset under certain conditions, like change of system configuration. However, it usually fails to reboot on my development platform but successes on my working platform. The software reset function is not reliable in my opinion.
 

Attachments

  • IMG_5754.JPG
    IMG_5754.JPG
    3.4 MB · Views: 112
  • Captura de Tela 2018-08-08 às 10.38.09.png
    Captura de Tela 2018-08-08 às 10.38.09.png
    736.2 KB · Views: 84
Last edited:
Who said miracles don't exist?

There they are, no intervention whatsoever.
Reborn!

It should be a hardware flaw.
Will revisit my assembly after this fermentation.
 

Attachments

  • Captura de Tela 2018-08-08 às 13.59.02.png
    Captura de Tela 2018-08-08 às 13.59.02.png
    659.9 KB · Views: 85
Who said miracles don't exist?

There they are, no intervention whatsoever.
Reborn!

It should be a hardware flaw.
Will revisit my assembly after this fermentation.

It happens on my working platform from time to time. Sometimes it just recovered itself. Sometimes I have to touch the wires by moving them to certain angles. I should've rewire the sensors, but I keep forgetting in between brews.
 
It's my first use, now I'm developing a board to make it less amateur. We'll see next brew.
 
Hey Guys!
Just stumble upon this beauty while searching how to calibrate my iSpindle. Turns out I do have the hardware ready and said, why not?

Well, I did all procedure and it's up and running on my NODEMCU board. But I do also have these:
View attachment 581142 View attachment 581143

I've tried to flash it with the firmware and it went ok, the LED bliks but I can't see brewpiless wifi.

(with the NODEMCU it worked like a charm)

I wonder if I can make this work, since I have a few of them. I can make my CraftbeerPi a brew only solution.
Got it to work!

Issue was: Always reset after powering on
 
I'd like to give a rotary encoder a try but I don't understand how to wire the rotary encoder to the PCF8574 IO module.

The PCF8574 IO module is recognized at address 0x20 and the i2c LCD is at address 0x27 (the LCD operates correctly).

I've wired the PCF8574 IO module INT pin to D3 on the ESP8266.

My rotary encoder has 2 pins on one side for the push-button switch (I'll call them S1 and S2) and there are 3 pins on the other side (referred to as A, C, and B).

Does anyone know how the rotary encoder pins are to be connected to the PCF8574 IO module module?

D3 == INT
S1 == GND ?
S2 == P__
A == P__
C == P__
B == P__

Here's the silk screened side of the PCF8574 IO module
View media item 69406Thanks in advance!
 

Attachments

  • PCF8574 io expander pins.jpg
    PCF8574 io expander pins.jpg
    107.7 KB · Views: 81
I'd like to give a rotary encoder a try but I don't understand how to wire the rotary encoder to the PCF8574 IO module.

The PCF8574 IO module is recognized at address 0x20 and the i2c LCD is at address 0x27 (the LCD operates correctly).

I've wired the PCF8574 IO module INT pin to D3 on the ESP8266.

My rotary encoder has 2 pins on one side for the push-button switch (I'll call them S1 and S2) and there are 3 pins on the other side (referred to as A, C, and B).

Does anyone know how the rotary encoder pins are to be connected to the PCF8574 IO module module?

D3 == INT
S1 == GND ?
S2 == P__
A == P__
C == P__
B == P__

Here's the silk screened side of the PCF8574 IO module
View media item 69406Thanks in advance!
A B & C are 2 switches you has to Fined the common point and it goes to ground. The other 2 plus S2 hora to 3 inputs
 
I'd like to give a rotary encoder a try but I don't understand how to wire the rotary encoder to the PCF8574 IO module.

The PCF8574 IO module is recognized at address 0x20 and the i2c LCD is at address 0x27 (the LCD operates correctly).

I've wired the PCF8574 IO module INT pin to D3 on the ESP8266.

My rotary encoder has 2 pins on one side for the push-button switch (I'll call them S1 and S2) and there are 3 pins on the other side (referred to as A, C, and B).

Does anyone know how the rotary encoder pins are to be connected to the PCF8574 IO module module?

D3 == INT
S1 == GND ?
S2 == P__
A == P__
C == P__
B == P__

Here's the silk screened side of the PCF8574 IO module
View media item 69406Thanks in advance!

I don't recommend using rotary encoder. Although it seemed to work with that IO expander module, it is a faulty design.

TL;DR
Two issues here. The first one is critical.
1. PCF8574 defaults all pin to HIGH. If some of the input is LOW at power on, PFC8574 will generate INTERRUPT to indicate status change. If ESP8266 hasn't boot before the time PCF8574 pulls the INTERRUPT PIN, ESP8266 will never have a change to boot up normally because of D3 should not be low for normal boot up.
2. Even with interrupt, the rotary encoder doesn't work smoothly. Having other background tasks might be a reason. Loading of I2C bus might be another. When the encoder is rotated, an interrupt is generated and ESP8266 will use I2C to read. Then, the display is updated by I2C bus again. To make sure the integrity of I2C data, interrupt must be disabled during update of LCD so that reading data from I2C bus will not interrupt updating LCD by the same I2C bus. Unfortunately, the rotation action usually occurs quickly and continuously. So quick and frequent that it never work smoothly.

Conclusion:
If rotary encoder is really needed, it should be connected to ESP8266 IO pins directly, and the cooling/heating control can be moved to IO expander. The effort to support actuator via PCF8574 might be smaller.
 
Hey Pedro, could I please get a copy of your board for toner transfer? Or do you just sell the boards.
 
Hello. I'm testing my newly built brewpiless and I'm trying to understand how the different temperature modes work.

Is anyone kind enough to explain? Also how do I extract the logged data, or does that have to be done through internet only?
 
Hello. I'm testing my newly built brewpiless and I'm trying to understand how the different temperature modes work.

Is anyone kind enough to explain? Also how do I extract the logged data, or does that have to be done through internet only?

There are only three modes:fridge constant, beer constant, and beer profile.
In fridge constant mode, the temperature of the fridge is kept constant, in a range.
In beer constant mode, you set the temperature of beer, and the PID algorithm calculates the desired fridge temperature, aka fridge set.
Beer profile works just like beer constant but the beer set temperature is not a constant. It’s usually like 54F for 12 days, rise to 65F in 1 day, 65F for 2 days, crash to 34F in 3 days, then keep 34F for 7 days.
The log must be started so that it will be saved. Otherwise, it is only kept for a few hours. Once started, it is saved on the SPIFFS, the File System of ESP8266. You will be able to download it after stopping the log. In fact, you can download it by file manager before stopping it, but the latest data might not have been flushed.
There is is Off line log viewer on github, by which you can convert the logs into CVS format. You can also “extract” part of the logs.
 
There are only three modes:fridge constant, beer constant, and beer profile.
In fridge constant mode, the temperature of the fridge is kept constant, in a range.
In beer constant mode, you set the temperature of beer, and the PID algorithm calculates the desired fridge temperature, aka fridge set.
Beer profile works just like beer constant but the beer set temperature is not a constant. It’s usually like 54F for 12 days, rise to 65F in 1 day, 65F for 2 days, crash to 34F in 3 days, then keep 34F for 7 days.
The log must be started so that it will be saved. Otherwise, it is only kept for a few hours. Once started, it is saved on the SPIFFS, the File System of ESP8266. You will be able to download it after stopping the log. In fact, you can download it by file manager before stopping it, but the latest data might not have been flushed.
There is is Off line log viewer on github, by which you can convert the logs into CVS format. You can also “extract” part of the logs.

Awesome vito! All clear. I'm fermenting my first batch ever. Will be at 20C° for 7 days, and then to bottles. Small batch though. 12 liters or so..
 
Oh ok so I will wait with update my main controller :) do you also have problems with newui?

I am not sure. I run it on a test platform. It has crashed for a few times at the beginning but has been doing well for one week.

The differences between classic ui and "new ui" are
- "new ui" uses 2m program flash layout, while classic ui uses 1m program flash layout
- "new ui" uses framework 1.8.0, together with latest ESPAsyncWebServer library, while classic one uses 1.5 and older ESPAsyncWebServer Library.

I've tested "classic ui" with framework 1.8.0 with latest ESPAsyncWebServer, and it crashed 3 times in 12 hours.

Due to the different layouts of flash, changing from "new ui" build to "classic one" will result in lost of data, and vise versa.
 
Two questions here. I've had OK luck in the past in getting BPL to connect to wifi with versions that used WIFI Manager. Attempting to use the newer versions that simply stay in Soft AP causes issues connecting to my home wifi. I've gone into the config multiple times to set WIFI and I never see it popup on my router. I've also tried power resetting it multiple times. Any tips? Kicking off a hard cider that I'd like to see a graph for. Then I'll deal with fine tuning it after.
ALL SET^^^. Keeping it for record.
I had to flash blank and then I tested 2.6 (last known working), this worked fine and was assigned an IP quickly. I then flashed blank and then 3.1 OLED. Same IP was used and assigned quickly.
***** I did notice that 2.6 has the netmask defaulted to 255.255.255.0 while 3.1 is totally blank. Not sure if this needs to change.


Second, what does "upgrade framework to 1.8.0 for all configuration" mean in terms of BrewPiLess.v3.2r2.bin? I am using an OLED screen and I can only get it to work with 3.1 (although I still have the wifi issues there).
Believe I answered this too. I did an OTA update once I was on 3.1 to get into 3.2 WITH oled still working.

Good thing I couldn't sleep and answered all of my own questions. Attempting to play around with ubidots, looks like I'll need to switch frontends to gain the proper logging settings.

From there I need to finally decide on how to hardwire this. I've always used a breadboard but I think a PCB needs to be in my immediate future.
 
Last edited:
Two questions here. I've had OK luck in the past in getting BPL to connect to wifi with versions that used WIFI Manager. Attempting to use the newer versions that simply stay in Soft AP causes issues connecting to my home wifi. I've gone into the config multiple times to set WIFI and I never see it popup on my router. I've also tried power resetting it multiple times. Any tips? Kicking off a hard cider that I'd like to see a graph for. Then I'll deal with fine tuning it after.
ALL SET^^^. Keeping it for record.
I had to flash blank and then I tested 2.6 (last known working), this worked fine and was assigned an IP quickly. I then flashed blank and then 3.1 OLED. Same IP was used and assigned quickly.
***** I did notice that 2.6 has the netmask defaulted to 255.255.255.0 while 3.1 is totally blank. Not sure if this needs to change.


Second, what does "upgrade framework to 1.8.0 for all configuration" mean in terms of BrewPiLess.v3.2r2.bin? I am using an OLED screen and I can only get it to work with 3.1 (although I still have the wifi issues there).
Believe I answered this too. I did an OTA update once I was on 3.1 to get into 3.2 WITH oled still working.

Good thing I couldn't sleep and answered all of my own questions. Attempting to play around with ubidots, looks like I'll need to switch frontends to gain the proper logging settings.

From there I need to finally decide on how to hardwire this. I've always used a breadboard but I think a PCB needs to be in my immediate future.

Sorry for late response. I saw your post yesterday when I was too tired to answer.

1. "Blank" netmask means "default" netmask, so leave it if you don't want to change it.
2. You can think the Framework as a set of libraries or the base that the program runs on. Previously, I sticked to version 1.5.0 for some reasons.

3. Allow me to emphasize it again. The flash layout of "new frontend" images is different from legacy one. All data will be gone if the flash layout is changed. If you just want to "try" the new frontend, just upload the htm.gz files.


TL;DR
The image size of framework 1.6.3 grew and made the total program size exceed the limit for OTA update, which would require the change of flash layout to 4m1m to 4m2m for 2M program space. 4m2m configuration isn't available in 1.6.3 and I didn't feel like to write the instruction of creating the building script of 4m2m. The simple way was sticking to 1.5.0, which worked pretty good for me.
To include Tom's frontend in the program, 4m2m configuration is necessary. 4m2m configuration is available in 1.8.0, so the "newui" images are built with 1.8.0. My short test indicates that 1.8.0 seems to be stable enough, and legacy frontend with 1.8.0 can fit 4m1m configuration after ditching WiFiManager. Therefore, I decide to use framework 1.8.0 for all configuration.
 
View attachment 596171 Looking at my first batch with iSpindle I wonder if Temp should be factored in the SG calculation, as is done in the traditional hydrometer. AS the temp is lower for clarification the tilt increase.

The working principle of iSpindel is exact the same as the hydrometer. So temperature correction is necessary.

Moreover, calibration of sensor might also be necessary to get a more precise readings:
https://github.com/universam1/iSpindel/issues/6
 
Why the hell cannot I upgrade through visual studio code? I compile and "upload" but then it never really upgrades, even though it say the process finished succesfully. I have a nodemcu board..
 
I think I have seen somewhere an answer, but what is the color dot next to SG? It is sometimes red, yellow or green?
 
I think I have seen somewhere an answer, but what is the color dot next to SG? It is sometimes red, yellow or green?
green is beer temp,
red is beer set,
yellow is Aux Temp, which is the temperature of iSpindel.
 
No, this I know, I meant a color dot near a title where data from ispindle is, next to SG, there is usually color dot (single)
 
I must be missing something really obvious but I just cannot get to the brewpiless config screen... Cannot find the solution in the old posts, here is what I'm doing:

1. brand new wemos d1 mini (also have new wemos d1 board)
2. dont have anything connected to d1, just usb connection to my pc
3. downloaded bins (BrewPiLess.v2.6rc, BrewPiLess.v3.1, BrewPiLess.v3.2r2, BrewPiLess.v3.2r2.oled) and flashed with nodemcu (not all of them at once, but I've tried them all)
4. reset d1
5. connect successfully to brewpiless wifi with my laptop. Ip assigned is 192.168.4.2

Stuck here, no matter what I do I cannot get to the config screen.
Any other steps that I'm missing?
 
what config info? You must enter details about your home wifi and then it will start in normal mode or just reset it and wait and after some time it should switch (I think so as I never waited :p )
 
what config info? You must enter details about your home wifi and then it will start in normal mode or just reset it and wait and after some time it should switch (I think so as I never waited :p )
I can't get to that page where my wifi details should be entered. I connect to wemos wifi and that is it - cannot open any page in browser (192.168.4.2) to enter information about my wifi
 
Back
Top