YABC-Yet a Brew Controller: BrewManiacEx

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.
I have double checked the files in eagle, and correct - i have moved the resistor markings the wrong way.. so just go after the value printed on the board - R14 is lower and should be 470K, R10 is the upper one and should be 1K.

I soldered the resistors as it is on the PCB. I installed the new Wemos D1 mini and everything works great. Thank you.
 
I received my v1.1 boards same day as Bigdaddyale. Still waiting on many electronic parts before I can put it together. Have spare PCBs if anyone in Australia wants one.

Hi pbezza

Do you still have some boards? I am in Perth
 
Ciao ragazzi Anch'io ho soldato su come i pulsanti non funzionano sul PCB
 

Attachments

  • 20190929_080722.jpg
    20190929_080722.jpg
    847.8 KB · Views: 186
When running automation and 'remove malt' comes theres endless beep until 'yes' or 'no' is pressed. Removing malt and sparging takes time, is there way to stop beeping w/o pressing yes/no? If no how to change source to stop this?
 
When running automation and 'remove malt' comes theres endless beep until 'yes' or 'no' is pressed. Removing malt and sparging takes time, is there way to stop beeping w/o pressing yes/no? If no how to change source to stop this?

press other any key will stop the buzzer. So, just press one of the other two keys.
 
Hi

So I am mostly set up on my build. I have one question though...

I am using the board from RollE2k for a BrewPiLess.

Where do the buttons plug in...?

I have soldered a set of headers to 2.54 mm spaced holes labeled (somewhat off centre) GD A3 A2 A1 A0 GD.

However I plug these in, I am not receiving anything back on the LCD. I have heeded the advice on the GitHub pages to hold the buttons down for a decent period, to no avail.

Any help would be appreciated.
 
Hi

So I am mostly set up on my build. I have one question though...

I am using the board from RollE2k for a BrewPiLess.

Where do the buttons plug in...?

I have soldered a set of headers to 2.54 mm spaced holes labeled (somewhat off centre) GD A3 A2 A1 A0 GD.

However I plug these in, I am not receiving anything back on the LCD. I have heeded the advice on the GitHub pages to hold the buttons down for a decent period, to no avail.

Any help would be appreciated.

Your LCD is not showing any text at all? If so are you using piggyback LCD on the back side of the PCB?
Then the problem is most probably that you have to adjust the trimmer pot at the top until you see the text. Its for contrast setting.
Otherwise if you don't get any button input it may be because of wrong chip for buttons. PCF8574 next to the wemos D1 CANNOT be a PCF8574A if i remember correct, the difference is other software adressing compared to the PCF8574.

There is a workaround for using PCF8574A, which is editing the code for correct adress. But that i wouldn't recommend, since you would have to change same line each time you update to a later software.
 
Your LCD is not showing any text at all? If so are you using piggyback LCD on the back side of the PCB?
Then the problem is most probably that you have to adjust the trimmer pot at the top until you see the text. Its for contrast setting.
Otherwise if you don't get any button input it may be because of wrong chip for buttons. PCF8574 next to the wemos D1 CANNOT be a PCF8574A if i remember correct, the difference is other software adressing compared to the PCF8574.

There is a workaround for using PCF8574A, which is editing the code for correct adress. But that i wouldn't recommend, since you would have to change same line each time you update to a later software.
Hi RollE2k

Thanks for the reply.

My LCD works fine. I am trying to see the effect of the buttons on the LCD.

I have a 4-button membrane setup. Plugging this into the headers and pressing buttons does not seem to cause anything to happen.

I have a PCF8574P soldered next to the D1, so there shouldnt be any issues there either...

I have enabled the ButtonViaPCF8574 flag and scanned the I2C addresses. I have then tried all the available addresses within that flag, but i have not been able to get the buttons working.

I have even shorted these headers directly to make sure the buttons are not defunct.

Any ideas?
 
Sorry I don't have any ideas. Maybe try change the PCF8574P to make sure it is not toasted. Hopefully you put the chip in a socket instead of solder direct, because it is a major pain in the ass to remove multiple legged through-hole chips.
 
Any ideas why compiling fails? these 4 errors:
Code:
HttpUpdateHandler.cpp
no matching function for call to 'HTTPClient::begin(WiFiClient&, String&)'
no instance of overloaded function "ESP8266HTTPUpdate::update" matches the argument list -- argument types are: (WiFiClient, String, String) -- object type is: ESP8266HTTPUpdate
no matching function for call to 'ESP8266HTTPUpdate::update(WiFiClient&, String&, String&)'
no instance of overloaded function "HTTPClient::begin" matches the argument list -- argument types are: (WiFiClient, String) -- object type is: HTTPClient
 
The first link is to mechanical relay modules, not SSRs, so you can eliminate those.

The second link is indeed to actual Solid State Relays. You'll need to select the correct model: it should have '-DA' in the model designator and have sufficient capacity plus guard band to handle your heating element; if you're going to control a pump as well that should be on its own SSR, still with the '-DA' type and again sized appropriately for the pump current requirement.

Don't forget heat sinks!

Cheers!
 
Thank you very much @day_tripper, I kind of knew the first ones had to be mechanical relays, somehow I thought they where SSRs... don't ask...
Should I have heat sinks even if I use 40A SSRs to control 2kW elements (240V)? I'm going for the 40A, because the price is about the same as for 10A... Or is this stupid? (Except for the money... which is peanuts actually).
 
I wouldn't call it stupid, people do what they do for reasons that might not be obvious (like, swapability for debugging problems, perhaps :))

I thought the package sizes might vary with the ratings but it appears they're all the same package size. So the heat sinks will be the things that need to be physically sized appropriate for the loading...

Cheers!
 
Thank you, again. Just a quick question, what is DA, and what is the alternative(s)? I can't find any useful information anywhere...
Actually, I found an article about counterfeit SSRs, it might actually be smart to buy a 40A...
 
Any ideas why compiling fails? these 4 errors:
Code:
HttpUpdateHandler.cpp
no matching function for call to 'HTTPClient::begin(WiFiClient&, String&)'
no instance of overloaded function "ESP8266HTTPUpdate::update" matches the argument list -- argument types are: (WiFiClient, String, String) -- object type is: ESP8266HTTPUpdate
no matching function for call to 'ESP8266HTTPUpdate::update(WiFiClient&, String&, String&)'
no instance of overloaded function "HTTPClient::begin" matches the argument list -- argument types are: (WiFiClient, String) -- object type is: HTTPClient
I had wrong platform version. changed espressif8266@~1.8.0 to espressif8266 and now it compiles.
Is there way to round temperatures to 1 decimal? (ds18b20 accuracy is +-0.5C)
Then I looked code how to do two point calibration. map do that easily but where is right place to do that?
 
I had wrong platform version. changed espressif8266@~1.8.0 to espressif8266 and now it compiles.
Is there way to round temperatures to 1 decimal? (ds18b20 accuracy is +-0.5C)
Then I looked code how to do two point calibration. map do that easily but where is right place to do that?

There isn't an easy way unless you modify the source code.
 
Yes, I meant modifying code.

What can cause reading temp is so slow that when warming up it overshoot 15-20 degrees? I allready tried disable lowpass filter and change min read time to 100ms
 
Last edited:
Yes, I meant modifying code.

What can cause reading temp is so slow that when warming up it overshoot 15-20 degrees? I allready tried disable lowpass filter and change min read time to 100ms

Some people reported that the temperature jumped and resulted unexpected behavior and I saw that once myself, so LPF was introduced.
The minimum read time is to alleviate processing loading for reading temperature.
The time requires to get a reading depends on the resolution. The longest time for 12bit resolution is 750ms.

http://henrysbench.capnfatz.com/hen...s-manual-part-3-reading-a-single-temperature/

Regarding the thermal response, which might be your real concerned, the package of sensor also involves. It gets worse if a thermowell is used.
 
Probably faulty sensor, changed it another but minor code change also. Now it overshoot ~2.5C and then quite steady +-0.25C
Code:
float lpfAddValue(float value)
{
    //_filteredValue = _filteredValue + LowPassFilterParameter * (value - _filteredValue);
    _filteredValue = (1.0 - LowPassFilterParameter) * _filteredValue + LowPassFilterParameter * value;
    return _filteredValue;
}
 
I'm playing around with BrewManiac without anything connected (other than LEDs for visuals), I'm waiting for a lot of components from China, and I can't find a way to exit auto/manual once I have started a "session". Is this "as designed", or am I missing something? I can of course reset the NodeMCU, but is there a "nicer" way?
 
I'm playing around with BrewManiac without anything connected (other than LEDs for visuals), I'm waiting for a lot of components from China, and I can't find a way to exit auto/manual once I have started a "session". Is this "as designed", or am I missing something? I can of course reset the NodeMCU, but is there a "nicer" way?

On phones and tablets that have touch screen, press “UP” and “DOWN” simultaneously.
Or, click at the rectangle area contains the buttons, move into “UP” without releasing mouse, continue to “DOWN”, and release inside the buttons.
 
Is it possible to control pump speed with BM, or do I need a speed regulator in addition? Could you add PWM pump control as an option? I might be able to program it myself, if you could guide me to where in the code I should make the change...
 
Is it possible to control pump speed with BM, or do I need a speed regulator in addition? Could you add PWM pump control as an option? I might be able to program it myself, if you could guide me to where in the code I should make the change...

I couldn't make PWM work on ESP8266. There are some issues, and you can find some on the internet.
Moreover, you need a way to control it, which means UI is needed. It complicated the whole thing.
If you don't need automatic speed control, which is another issue, maybe using a physical dimmer would be easier.
 
I couldn't make PWM work on ESP8266. There are some issues, and you can find some on the internet.
Moreover, you need a way to control it, which means UI is needed. It complicated the whole thing.
If you don't need automatic speed control, which is another issue, maybe using a physical dimmer would be easier.
OK, thank you.
I will find a way to control the pump. If I have understood it correctly, the pump on/off is in minutes, so the minimum time the pump will run is 5 minutes. If this was 1 minute, or even less, it might have been useful. I'll figure something out...
 
Anybody tried my pcb design yet?
Hi.
I downloaded the BrewController111.zip and I am trying to get my head around the circuit (BrewController_v11.pdf). It's been a while since I read electronic diagrams, but I'm slowly getting into it again.
I have a few questions someone might like to confirm or decline, and then perhaps explain/clarify.
1. If I want to use a I2C display, I can drop the second CF8574 (IC3) and connect the I2C display to LCD-I2C pins?
1.1 In the BOM it says PCF8574P, but in pocketmon's original circuit on GIT it is used a PCF8574AT. Do I have to change something in code to get the PCF8574P to work?
2. U1-U3 (2N7000) are used for voltage step-up/down between 3V3 and 5V and CAN be dropped? (I have gotten the BrewPiLess to work using 3V3 for relays and LCD, so I know it works... I guess the step-up/down is to make sure the signal is strong enough?)
The rest of the circuit is understandable, sort of...
If my assumptions above is correct, the only thing I REALLY need is the transistor to drive the buzzer?
I'm trying to "de-complicate" the circuit, at least until I see that it works the way I think it works, and something I want to spend time and money into making...

Thanks for any clarifying explanations.
 
OK, thank you.
I will find a way to control the pump. If I have understood it correctly, the pump on/off is in minutes, so the minimum time the pump will run is 5 minutes. If this was 1 minute, or even less, it might have been useful. I'll figure something out...

I took the minimum values from Open AirBir. It seems to work for most of the people.
There are people who use stirrers instead of PUMPs and need to set the values in seconds, there is an option for it.
 
I have connected two DS18B20 temperature sensors, but on the settings page, I don't see any of them.
upload_2020-1-19_21-25-33.png

I'm still waiting for the PCF8574, but I guess it's not necessary to get the temperature sensors listed?
I have flashed the env:spargeheater firmware.

Nevermind, I had to use the LCD to set them up. This should perhaps have been possible from the settings page?
 
Last edited:
I have a newbie electronics question.
I have wired up a BrewManiac on my breadboard, and in an attempt to keep it as simple as possible, I have mixed 3v3 and 5v to the components.
Instead of using level shifters, I feed the PCF8574P with 3v3 on Vdd, the LCD is getting 5v on Vcc, but get SCL and SDA directly from the D1 mini. The relay module is getting 5v on JDvcc and 3v3 on Vcc, and is contolled directly by the D1 mini from D5.
I plan on controlling the SSRs for the heaters with 3v3, directly from the D1 mini as the SSRs have 3-24v input range.

All of this is working fine on my breadboard (well, I havent connected the SSRs yet, since they are of Zero Crossing DA type, I need some 230VAC connected so I can actually see that it works. I need to clear my workbench for that, so it may take some time :))

First question is if I'm doing something stupid, if we imagine that the D1 mini has unlimited current. Will anything break in the long run, because I mix voltages like I do, or is it OK to do?

Second question is if the SSRs and the rest of the components will pull more current than the D1 mini can deliver? I have searched a bit on the net, and it seems the GPIOs can deliver 12 mA each, and the SSRs are specified to pull 13 mA@12V. Can I then assume the SSRs will pull 3,6 mA@3v3? (I did the U=R*I math). If this is correct, I guess I should be able to control the SSRs without any transistors between the pins and the SSR?

Or, is this bad practice and should not be done in "production" even if it works on my experiment breadboard?
 
Last edited:
I have a newbie electronics question.
I have wired up a BrewManiac on my breadboard, and in an attempt to keep it as simple as possible, I have mixed 3v3 and 5v to the components.
Instead of using level shifters, I feed the PCF8574P with 3v3 on Vdd, the LCD is getting 5v on Vcc, but get SCL and SDA directly from the D1 mini. The relay module is getting 5v on JDvcc and 3v3 on Vcc, and is contolled directly by the D1 mini from D5.
I plan on controlling the SSRs for the heaters with 3v3, directly from the D1 mini as the SSRs have 3-24v input range.

All of this is working fine on my breadboard (well, I havent connected the SSRs yet, since they are of Zero Crossing DA type, I need some 230VAC connected so I can actually see that it works. I need to clear my workbench for that, so it may take some time :))

First question is if I'm doing something stupid, if we imagine that the D1 mini has unlimited current. Will anything break in the long run, because I mix voltages like I do, or is it OK to do?

Second question is if the SSRs and the rest of the components will pull more current than the D1 mini can deliver? I have searched a bit on the net, and it seems the GPIOs can deliver 12 mA each, and the SSRs are specified to pull 13 mA@12V. Can I then assume the SSRs will pull 3,6 mA@3v3? (I did the U=R*I math). If this is correct, I guess I should be able to control the SSRs without any transistors between the pins and the SSR?

Or, is this bad practice and should not be done in "production" even if it works on my experiment breadboard?

It is said that ESP8266 is 5v tolerant. I have a BrewPiLess setup that has 5v and 3.3v mixed connections like yours. It has run for over 3 years. It's not a good practice, but you should be fine.
I don't have much knowledge about SSR, you might need to find out the specification of yours and try it out.
 
Recipe functions ready
- import of BeerXML.
- Brew saved recipes.

View attachment 388245
I see you import water amounts in the mash profile. AFAIK beerxml doesn't support water. Which fields are you using?
I'm importing beerxml-files from Brewfather, and they don't contain water...
Perhaps you should have a chat with the developer of Brewfather?
 
I see you import water amounts in the mash profile. AFAIK beerxml doesn't support water. Which fields are you using?
I'm importing beerxml-files from Brewfather, and they don't contain water...
Perhaps you should have a chat with the developer of Brewfather?

The water amount displayed is "INFUSE_AMOUNT" in MASH_STEP:
INFUSE_AMOUNT

Conditional

Volume (liters)

The volume of water in liters to infuse in this step. Required only for infusion steps, though one may also add water for temperature mash steps. One should not have an infusion amount for decoction steps.


T
 
Hi Guys, some of you work the BrewPiless well
the D4 button does not work
I'm having trouble it doesn't work.
 

Attachments

  • 20200212_215748.jpg
    20200212_215748.jpg
    1.4 MB · Views: 116
20190601_151410.jpg
Buonasera ragazzi. Scusa dell'insistenza che qualcuno di voi usa questa carta come BrewPiless?
Ho problemi di digestione
 
Last edited:
Back
Top