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

    Homebrewing Facebook Group

How To: BrewPi LCD Add-On

Homebrew Talk

Help Support Homebrew Talk:

This site may earn a commission from merchant affiliate links, including eBay, Amazon, and others.
Hey guys.
With LBussys help I've managed to get the beta version of BPiRemix installed, and my i2c lcd running on pin A4/5.

Now I have a question about the workings of brewpi...

I got a pi-zero-w with arduino uno. I got two SSR's hooked up to pin 5 and 6 on the positive side, and common ground on the other. Also got temp probes set up and reporting correctly.

I know the SSR's can be controlled, 'cause when I set up things, they will turn on if I don't choose non-inverted.
So far so good - I got brewpi up and running, and want to test it out.
So I go to the lower part of the webinterface, choose f.ex. the fridge constant tab, and punch in something lower than what the probes are reporting - like 7 degrees C, then "apply". The lcd and the webinterface shows "Fridge Const."
In my mind, this should make the controller call for cooling (since the probes report 24 degrees), but it keeps sitting at "idling" - it doesn't seem to start trying to lower the temperature, and the temperature on the right in the display just keeps showing: --.-
Have I misunderstood how it works?
 
Last edited:
The controller will idle for a time based on a few different things; sometimes it will wait for peak and there's a few other things that will show up when you think it should be flipping a relay. Ultimately, let it sit and it should decide to do something after those timers run out. How long have you let it sit like that?

I'll be able to have a look here in a few ... I have everything torn apart right now. :)
 
I think yesterday I tried setting the beer constant to 70 degrees celsius for the fun of it, and it idled for around 14 minutes before I gave up.
 
Found a json error - not sure how I managed to introduce THAT but I believe what you are experiencing is related to that. I'll be able to have a look in a couple hours.
 
by the way - just throwing something out there - how about a button on the webui, that turns the pi off?
(so I can be lazy and not ssh into it to sudo poweroff)
(or is this already implemented somewhere I didnt look??)
 
by the way - just throwing something out there - how about a button on the webui, that turns the pi off?
(so I can be lazy and not ssh into it to sudo poweroff)
(or is this already implemented somewhere I didnt look??)
That's been done before - unfortunately that means the www-data user has root access which is A Bad Thing™. I've got another way to do it but it's lower on the list. It is on the issues list on the GitHub so I'm reminded all the time.
 
Definitely an issue here somewhere that I was not able to get figured out today. Traveling in the morning so tomorrow night is the soonest I will be able to look at it again. Sorry for the delay. I blame it on the cat - she must have walked over my keyboard. :)
 
Dont sweat it. Take your time - and thanks a bunch for all your work on this.
 
Quick update for you guys:

I intended to get the new boards tested out over the weekend. A combination of things led to me to get about 90% done with the I2C path and about 80% done with the parallel LCD path. I'm getting the dreaded 85°C reading from the sensors and I've had this issue before with this batch of sensors so I need to buy more. It's probably just the sensors but I don't want to tell you guys it's all tested and find an issue after.

Since posting the boards on OshPark I've moved a couple silk-screen legends to keep them from getting obscured by components, and flipped a trace to get rid of a via. Nothing functional, just stuff I could not leave well enough alone. I'm not going to upload 1.3.1a yet till I get it to 100%.
 
Last edited:
Quick update for you guys:

I intended to get the new boards tested out over the weekend. A combination of things led to me to get about 90% done with the I2C path and about 80% done with the parallel LCD path. I'm getting the dreaded 85°C reading from the sensors and I've had this issue before with this batch of sensors so I need to buy more. It's probably just the sensors but I don't want to tell you guys it's all tested and find an issue after.

Since posting the boards on OshPark I've moved a couple silk-screen legends to keep them from getting obscured by components, and flipped a trace to get rid of a via. Nothing functional, just stuff I could not leave well enough alone. I'm not going to upload 1.3.1a yet till I get it to 100%.

I've been getting some funky 85 degrees error too with the sensors currently on my breadboard.
I'm not sure it's the sensors though - I just put together a photon "spark" on my breadboard, and it reports temps correctly with the same sensors.
 
None of the OneWire work has changed .... unless the avr libraries from the vendor changed but that’s a pretty drastic mistake to make. Anything is possible though.

I just know when I go to one sensor it works, then I can add a second, then a third. It’s very weird.
 
Just getting back to all of this. Had a ton of work come up then hospital visits with my wife. So @LBussy Is there a resistor/capacitor list into which C/R slots they go. Im assuming they are the same labels as Cadi's board, just he resistors arent listed.
 
I have the BOM and all the pieces, just confirming the resistor and capacitor designation R1,R2,.... Is the same as the other shields.
 
Soldered up my 3 boards. Gonna put my controller back together this weekend. So what's the cat Jack for?

Nevermind....always go back and read before asking a question.
(NEW) Break-Out Board support: An RJ45 to allow for a remote break-out board. This uses an Ethernet cable (which is straight-through) as opposed to the smaller RJ11 (telephone cord) because phone cords are cross-over by default. The pin-out supports @Thorrak's original breakout boards, however support for remotely placing the heat/cool relays is also included. A breakout board supporting all of this is in development:
  • Pin 1 - Unused
  • Pin 2 - Unused
  • Pin 3 - VCC
  • Pin 4 - OneWire Data (A4 or A0)
  • Pin 5 - GND
  • Pin 6 - Door (D4)
  • Pin 7 - Cool (D5)
  • Pin 8 - Heat (D6)
 
Last edited:
I don't particularly like the breakout board I made FYI ... the intent there was more to demonstrate all of the potential. Still, being able to choose between DuPont or screw terminals as well as have heat/cool LED's in a board that's only 1.21 x 1.96 inches (30.8 x 49.8 mm) is pretty nice. I suspect that I'll make a couple of much smaller boards to allow a person to choose between having either the DuPont or screw terminals and get it even smaller. The idea of the breakout board was @Thorrak's, but I'm not above stealing a good idea. :)

Of course my dumb @$$ bought RJ11 jacks not RJ45 jacks so I'm still waiting for those from China. Right now my test board has pins made from component leads sticking out so I can test.

Incidentally, I tested the new 1.3.1 board with the 0.2.10 RevC firmware. I didn't have any doubts that it would work but I figured I'd answer that question before someone asked it. I also verified that I have the same 185° F/85° C issue at startup that I had with the 0.2.11 and 0.2.12 firmware. Then I tested a bare Arduino with a single temp sensor and 0.2.10, same issue.

The 0.2.10 is the original firmware compiled by Elco (or one of those guys anyway) so this rules out the board and the firmware as a causal item. That's a load off my mind. I was frankly worried that an error was injected somewhere by the new PlatformIO-compiled versions.

So, I have a set of sensors which should be delivered today (thank you Amazon Prime!) from a different vendor to do some more testing.
 
In my mind, this should make the controller call for cooling (since the probes report 24 degrees), but it keeps sitting at "idling" - it doesn't seem to start trying to lower the temperature, and the temperature on the right in the display just keeps showing: --.-
Found a json error - not sure how I managed to introduce THAT but I believe what you are experiencing is related to that. I'll be able to have a look in a couple hours.
Got through all the testing. RevC looks good to go with 1.3.1 with all three firmware versions: 0.2.10, 0.2.11, 0.2.12.

I2C, not so much. When switching between modes via the web interface, the Arduino resets and does not enter into the mode properly. At times it will actually lock up so for right now definitely don't run I2C in production. Damned if I know why that happens just yet but at least I have the fail case figured out. It does work when using the rotary encoder through so it's something about receiving/parsing the json. Fairly certain this means it's firmware rather than hardware but I'm not sure yet.
 
How was that the worst flight ever?
Coming into KC the pilot said he was going to try to "land in between two bands of storms." Well, apparently that didn't work out. They decided to abort approach and while turning we hit an up/down draft and crap went everywhere. Ladies were screaming, kids crying, folks puking ... we diverted from MCI down to near ICT, loitered a bit then back up to KC. The air was still pretty bad at that point crossing maybe 10k but we made it in. Not my favorite flight memory, for sure.
 
Coming into KC the pilot said he was going to try to "land in between two bands of storms." Well, apparently that didn't work out. They decided to abort approach and while turning we hit an up/down draft and crap went everywhere. Ladies were screaming, kids crying, folks puking ... we diverted from MCI down to near ICT, loitered a bit then back up to KC. The air was still pretty bad at that point crossing maybe 10k but we made it in. Not my favorite flight memory, for sure.
That my friend sounds horrible and this is why I drive when I can.
 
I have a few 1.3.1 boards available if anyone in the US is in need. PM me directly with your mailing address and I can mail you one.

These are not 1.3.1a - the main change to the "a" was moving a few silkscreens to make them easier to read. A couple notations got buried under parts in 1.3.1.
 
I forget who was messing with the 0.2.12 I2C code. I just pushed a change (use --beta tag) that will allow it to work. It does not make annotations in the interface when you change modes, but other than that it looks okay. If anyone tests, please let me know.
 
Hey Lee. Been a while since I've posted and it looks like everyone has been a bit baron around here. Question in your new shield. I'm using fermentrack. Should I use the 2.11 firmware? Why I ask is that's what I flashed and I'm seeing the relay but none of the probes. I want to know if I need to check to see if it is my soldering.

And I'm assuming I2C isn't implemented in ferment track yet as I see the I2C firmware at the bottom labeled do not touch.

ETA:. I do see this from your write-up. I'm assuming this has to do with the one wire select pins....when you say you have to choose A0....does that mean jump it to the center pin?
f you want to use the I2C there are two important things you need to keep in mind!
  1. I2C support is a separate firmware image and only available in version 0.2.12. As of right now (6/1/19) this is a beta image, but I should be ready to release it soon. Firmware 0.2.12 requires BrewPi Scripts/WWW v0.5.2.1 which is currently in the Devel branch.
  2. You MUST select "A0" on the One-Wire selector.
When configured for I2C this is technically a new shield definition (I2C). When configured for the parallel LCD it works as an updated RevC.
 
Last edited:

Latest posts

Back
Top