How To: BrewPi LCD Add-On

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.
For folks that are having LCD noise issues: the comment Elco made about missing a pull-up on an AVR pin causing LCD corruption got me inspired to dig a bit to see if there might be other pins that could be prone to noise.

Considering sensors most folks might never wire up, the first candidate was the Door sensor input on Digital IO4.

By default, the web gui has this sensor unassigned, so it's basically ignoring it. I scoped the AVR pin and it was sitting at "0" volts. Then I used the BrewPi configuration gui to assign the device to Door Sensor, leaving it set for inverted mode, and suddenly there was a pull-up on that net. Then I de-assigned the sensor, but the pull-up remained. It persisted until I reset the Uno.

This doesn't seem right to me. There should always be a pull-up assigned to that low-asserted input, whether its state is ever processed or not. Conversely, if the sensor is set for non-inverted mode, there should be a pull-down assigned.

So, an easy long shot to try: enable the Door sensor device (it'll be the last device listed in the Detected Devices list). It's hard-wired to digital IO4, and set for inverted mode (meaning a LOW indicates the door is open). Assign it a valid slot and set the Function to Chamber Door then hit Apply.

Because the pull-up that gets invoked will hold the input in the negated state you won't ever get any messages. But see if it makes any difference wrt boinking the LCD.

There are likely other pins to inspect. I'll try to get to all of them...

Cheers!
 
Nice find day_trippr. I just tested it by configuring the Door Switch but i still get LCD errors.. Damn!

I even made a I2C version, so no shift register and who would have thougt i still get the display errors (display gets garbled after some time).. So that leaves us to the arduino and the brewpi-avr code..

Sadly im also not very fond of programming you need to have special brain wiring for that..

DSC_0656.jpg


DSC_0657.jpg


DSC_0671.jpg
 
I replaced my relay board with a Teledyne SSR (SD24R50) and have been running for 6 days without any LCD issues.

I modified the BrewPi web interface on my development rig and added a (admittedly poor) photo of the LCD interface. The LCD photo is updated once every minute so I can continue to keep a close eye on things for the time being.


I'm powering my LCD shield via the RasbberryPi's USB port (with the USB cable shipped with the shield) - The USB camera & WiFi dongle are also powered directly from the RaspberryPi.

As you can see I'm running a Beer Profile intended to cause frequent cool-heat-cool cycles.

Crossing my fingers.....

Capture.JPG
 
Nice find day_trippr. I just tested it by configuring the Door Switch but i still get LCD errors.. Damn!

Nuts. I don't get LCD errors so I don't have any good way to test.
Oh well, on to the next phase of the pin survey.

I even made a I2C version, so no shift register and who would have thougt i still get the display errors (display gets garbled after some time).. So that leaves us to the arduino and the brewpi-avr code..

And power/gnd.

But that's great input (and thanks for the I2C LCD implementation link - that one actually looks like it works :D) as it eliminates the shift register and its ins and outs. Kind of surprising as I definitely thought the SR would be the most susceptible to noise.

I've noticed in some pictures of BrewPi shield assemblies that Elco put a chunky electrolytic cap across power/gnd right on the LCD display module. I don't have anything at all at that location, but I wonder if that's something worth trying? Maybe not the freakin' can he used, but something...

Cheers!
 
Don't believe him he posted a picture that said its only been running for 14 minutes....lol
 
Nuts. I don't get LCD errors so I don't have any good way to test.
Oh well, on to the next phase of the pin survey.



And power/gnd.

But that's great input (and thanks for the I2C LCD implementation link - that one actually looks like it works :D) as it eliminates the shift register and its ins and outs. Kind of surprising as I definitely thought the SR would be the most susceptible to noise.

I've noticed in some pictures of BrewPi shield assemblies that Elco put a chunky electrolytic cap across power/gnd right on the LCD display module. I don't have anything at all at that location, but I wonder if that's something worth trying? Maybe not the freakin' can he used, but something...

Cheers!

You are right, i cursed that shift register. If it is the Power source, what more can i do to optimise it?

Star Ground with a common GND point?
What about the 5V line is it ok if daisy chained?
0.1uF before and after the 7805?
10 - 1000uF right before or after the 7805?
Filter coils?
Switching power supply or transformer?
0.1uF caps right before the relay PWR and GND

I made another test by driving my shield with an uno, only 10,11,13 PWR and GND connected, same instability as with the mini. So i think we can savely rule out the pro mini as the culprit.

I have never seen a big cap on the shield, i thought its the buzzer on there?
 
Just wanted to pop in and thank everyone involved in this thread. I've done a couple of brews now using the diy brewpi, and for me has been solid.

Cheers guys and keep up the great work!
 
day_trppr, really appreciate all the help you've given the community on this. Shame that Elco has dropped brewpi completely and gone completely to the Spark platform, so think more and more we'll be relying on guys like you to keep the original Brewpi alive. Also love the look of the minions you've knocked together. Now that I've stumbled on this having been sick and tired of the swings of the STC-1000, I'll be modeling mine on yours.
 
Thanks for the kind words :mug:

Not so sure that Elco is abandoning the original BrewPi scheme, but time will tell. It wouldn't surprise me either way, but bottom line is the original does all of what I need, so I'll be sticking with it...

Cheers!
 
Support for arduino based brewpi installs has been promised and a new version of the firmware is in the works. No new boards have been made and the rev c are currently out of stock. No information has been given to whether of not they will continue to develop hardware for the arduino. But technically the arduino can handle everything the spark can but in a limited capacity (not as fast, not as much storage, etc. etc.). Perhaps they may even release a hardware package similar to the new spark design. I mean, the spark is similar in size to the mini/nano family of arduino boards, footprint wise. All the spark really offers over the arduino is the built in wireless.
 
I dunno. The fact that all hardware has been removed from sale (okay, understandable) but all links to the open source schematics he had on his site are now gone too. I would hope he'd at least continue to sell the shields for those who'd like to go that route (as you said, the "old" brewpi does everything I want, although the addition of real-time gravity readings talked about in the new Spark-based unit down the road are intriguing!). That said, it's all Elco's intellectual property, he's the one that put the work into it, so he can do what he wants, and good for him! :)

The new Spark is sexy and all, but can't justify the $200 or so it'd cost to buy and ship over, when I already have an Arduino and a B+ in the drawer. And now all the parts for your LCD shield are on the way, so will hopefully start work on my own minion when the stuff gets here.

Out of interest, what enclosures are you using there? And are you nibbling out the holes? Any time I take a dremel to anything, it looks like a drunken Stephen Hawking tried doing the work!
 
Please feel free to use anything I've posted on any of the HBT forums, you're more than welcome.
A fully-loaded double-sided Uno R3 shield solution should be a piece of cake.

But if you pay $10 a circuit, make sure you get kissed first ;)
If you get to where you're actually looking for a volume fab shop let me know.
The ~ 1" x 3.5" pcb below is for a 2TB SSD I designed for the current MacBook Pro and is 10 layers, scary tight geometries, controlled impedance, and costs about a buck and a half...

Cheers!

Piece of cake, you say? I'd be first in line for sure! :ban:

I know it SEEMS straightforward enough to DIY shields, following the awesome instructions, but deffo think there's enough brewers on here following this and the main thread on the Brewpi on the cheap, who have little to no soldering skills (and may not have the right kit to be able to do it) who'd love a more "off the shelf" solution. The Uno shield is what... 3x2 or thereabouts? Could get 100 of those put together for about $2 each?

If only we knew someone with circuit building experience... *hint* ;)
 
Play around with fritzing if you wanna make your own shield. You can get about 3 I imagine into a 5 x 15 sheet. That's about 20 bucks from oshpark
 
This reminds me - I should archive all of the Brewpi software at home, I'd hate to see it disappear and then need it. Maybe image my SD card too..
 
Or you can get 10 5x5 PCB for 15$ here:

http://dirtypcbs.com/

10 for $15 thats a fair bit cheaper than fritzing, i tried and failed to actually get a printable circuit with my fritzing design, but i think it's because i used an ardunio shield as the template that i guess is only 2 layers?

I can see why Elco doesn't want to give away the eagle files though, as no one would be the spark if they knew they could get a basic brewpi for less than $5.
 
I'd happily do the work, but gonna take me a while. Not that I'm ridiculously busy, but have ZERO electrical or engineering skills, and have never even attempted anything like this before. (Just downloaded Eagle and am scratching my head, haha). That said, beer is the great equalizer, so surely know SOMEONE locally who can do this, that can be bribed by a certain amount of beverage.

That aside, wouldn't want to step on Elco's toes, or take bread off his table with his current projects. But since he's no longer offering Arduino items for sale, would assume that getting a dozen or two PCBs made that would be distributed via a group buy to folks who'd be DIYing shields anyways wouldn't be an issue?
 
I can see why Elco doesn't want to give away the eagle files though, as no one would be the spark if they knew they could get a basic brewpi for less than $5.

Yep. Definitely can't blame him - he's put a lot of work into developing this, and he's ended up doing something we all dream about, earning a living doing something he loves. (And chances are it's not much of a living, am sure this doesn't let him give up his day job.)

BUT, the RevC schematic was given out freely (although not any more), which is what day_trippr based this DIY shield on. While I think just copying Elco's work is offside, converting the shield into something that means DIYers don't have to dribble solder all over (and remember, everyone would still have to buy the various components and Pi/Arduino - unless you have most of those lying around, you quickly get to the cost of a new BrewSpark) doesn't really mess with things?
 
Really the only thing you "need" the shield for is the lcd and rotary encoder. Everything else is basically plug and play.
 
Really the only thing you "need" the shield for is the lcd and rotary encoder. Everything else is basically plug and play.

True. But... the lcd just looks so NICE, hahaha. And while for many folks, not having it isn't an issue, speaking for myself my fermentor is in the garage, so it's nice to be able to glance at the screen in passing to get a status update, rather than constantly check via a web browser. And think if it were easier to implement, more folks would do it. I've got SOME soldering experience, and I know I for one look at the instructions with a fair amount of nervousness.

An unpopulated shield would sort of the sweet spot between complete DIY and buying a premade kit off the shelf.
 
When I'm finally done if I do have an lcd it's going to be on a mobile minion setup. Right now my plan is to have a single 15" screen that displays all my fermenters lcds on one screen.
 
I'd happily do the work, but gonna take me a while. Not that I'm ridiculously busy, but have ZERO electrical or engineering skills, and have never even attempted anything like this before. (Just downloaded Eagle and am scratching my head, haha)...

If you are going to be learning a new bit of software anyhow, I would recommend starting off in KiCAD. It's not the industry standard, but offers a few things that are a positive for us hobbyists.

1. It's open source (and Free)
2. It does not have any restrictions on board size or quantity of copper layers (Like the Free version of Eagle does)

It is a bit more cumbersome to learn than Eagle. But once you get the flow of operations down, it actually makes a bit more sense.
 
Wow. If it's more cumbersome than Eagle, I'm screwed. I just downloaded the PCB layout of the protoshield, figuring it wouldn't be that hard to just modify that using day's layout on page 2, but it's about as intuitive as a self operating napkin. That said, I'm used to Photoshop and Illustrator, so just assumed drawing lines would be... drawing lines.

Looks like I'll be butchering a protoshield after all!
 
Nice spot, bigdaddy - those, alas are the first revision boards, which (apparently?) had some issues. Think RevC is the current (last) one, and the one most recommended.

That said, my nefarious plan is to con day_tripr into doing it when he gets back from the tropics... a shield with his little modifications to it to allow for the serial/bluetooth and switches would be lurvely! ;)
 
Anyone who knows what they're doing wanna check my horrifically shoddy work? Been on this damn thing for five hours, and think I'm done with the shield - but too tired to hook it all up to the encoder and whatnot yet.

front.jpg


arse.jpg
 
Got everything up and running. doing some testing right now all that seems to be going go. Just wanted to see if one of you could tell me the best way to wire up a couple of PC fans. I'd like for them to run all the time to keep the air moving is there a way to do it to run off the relay or the plug? Or wire them together and add plug
 
If they are going to run continuously. Then get a wall wart rated for the voltage you need. Some pc fans run off 5v some off 12v. Then just wire them up to that and plug it in.
 
Well, smack my arse and call me Shirley.This is promising at least...


Weeeeell, spoke too soon. Getting nothing from my temp probes on the onewire, and the rotary encoder's doing diddly squat. Aaaaand, I can't get the wifi working on the Pi. Aaaaand now I can't reprogram the Arduino... Grrr....

IMAG0179~2.jpg
 
Have a look at post 81 re the board not being able to be programmed when I made mine i initially got a message saying it was an incompatible arduino. If the temp probes show up but don't show a value, check the soldering between the live and data and that you've not double up on resistors between the top.cant help with the rotary encoder as I never got that far.

The wifi on the pi sounds like it's the pi to me.

Still waiting on an arduino and protoshield to arrive from China I have a feeling they've been lost in transit.
 
The temp probes aren't showing up at all with the shield, which had me checking the soldering, but can't find an issue. Took the shield off, same problem. So for the 60th time, pulled the SD card, wiped it, and started again. Now, the probes show up (without the shield, have reverted to the most basic version to at least get it part way working) but BrewPi won't save them in the components area, hitting refresh just shows them back to being unassigned (they are showing temp). Per Elco, this is an EEPROM issue, so ran ICE and zeroed the EEPROM out, which meant I had to reflash the hex file, which brought up even more issues with errors about this, that, and the other.
 
Since you are able to recreate the problem every time you wipe the system and start over. It tells me that either you are missing something critical everytime or something is wrong with either your arduino or the hex file you downloaded. That being said, it's kinda hard to fix the problem if you completely start over every time without actually finding what the problem is first. Have you tried typing "echo -ne 'E\n' > /dev/ttyACM0" into terminal before trying to upload the hex file again? Without the quotations...
 
As mentioned, at this point I'm not using the shield, having gone back to the barebones "make a cheap brewpi for under $100" configuration of just the Uno, Pi, relay board, and handful of jumper cables (and the sensors). So issues with the shield (and am sure there are some!) are on the shelf for now.

The overwhelming issue is BrewPi writing to the Arduino. First time - before the shield - I tried this, and everything seemed to work without issue once I realized the Pi wasn't installing (or coming with) the Arduino core during the "standard" install. Once I got that in there, I got it up and running, did my happy dance, and shut everything down. When I fired it up again the following day, I noticed the Arduino hadn't saved the configuration, so tried to save it again, and it wouldn't take. At this point I've gone through 6-7 USB cables (since "cheap" cables seem to be an issue, but now am using a brand new gold plated one, and same issue!), I've assumed the hex file was corrupted so redownloaded that, but no deal. Every time I try to reprogram the Arduino via the maintenance panel, I get an error - rarely the same one. The constant wiping is generally the end result of threads I see on the brewpi forum, where the "well nothing else has worked, so try resetting the Arduino with the base sketch, wiping the EEPROM, and uploading a new hex file"

(Just noticed in the main thread that someone had the same issue, and mentioned there's a bug in the code that requires manual downloading of some files, so will try that later on.)

I suppose at this point, I do need to be looking at the Arduino itself (it's a genuine one, not a clone), and wondering if something's fakakta in there. I did try a Leonardo as well, but no dice there either. (That said, the Leonardo's been through the wars, so...)
 
Back
Top