Arduino Based Keezer

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.

citywok

Active Member
Joined
Mar 29, 2013
Messages
29
Reaction score
6
Final Write-up: http://bit.ly/10Vc7wX

I decided to build a keezer, and then decided being an IT person/programmer that I should play with an Arduino and see what I could get it to do. I read a lot of threads around here to get ideas for my keezer / collar, so I figured I'd post what I've done so far (i'll post more as I progress, should be done in a couple weeks).

I plan to use the Arduino to measure how much beer is left in the keg with an LCD for each tap, as well as show the temp inside and outside of the keezer (I plan to put it on my deck for the summer). It has a webserver (ethernet shield) showing how much beer is left on each tap, and soon it will have a page where you set what beer is on each tap including name/capacity.

I know kegbot exists, but I wanted to do it all myself from scratch as a learning experience :)

Tonight I used a jigsaw to cut the LCD holes, then a router to make room for the PCB to fit and have the LCD be flush, drilled the holes for the shanks, and glued the whole thing together. Once the glue is dry i'll put blocks in the corners to help provide some stability.

Does anybody have any suggestions / ideas for other things I can do with the Arduino?

2013-03-28 23.03.43.jpg


2013-03-28 11.38.31.jpg


2013-03-28 23.00.07.jpg
 
If you're doing it by weight, you might consider measuring how much c02 you have left - warn you that you're almost out. If you can get a pressure sensor of some sort, you could do automatically do the volume of CO2 calculation for each gas line you've got.

Maybe a warning email/text if the temp goes above or below your thresholds.

Cool project!
 
Measuring the power consumption of the freezer.

Drinker identification using RFID tags?
 
love this idea and have thought of doing something similar, can't wait to see what you come up with.
 
If you're doing it by weight, you might consider measuring how much c02 you have left - warn you that you're almost out. If you can get a pressure sensor of some sort, you could do automatically do the volume of CO2 calculation for each gas line you've got.

Maybe a warning email/text if the temp goes above or below your thresholds.

Cool project!
I like the email alerts for the temp, that's a great idea. I'm going to use flow sensors to measure the volume of liquid (it's all written, but the sensors aren't here yet.)

Measuring the power consumption of the freezer.

Drinker identification using RFID tags?

A buddy of mine suggested using a Kinect and the people recognition it has (part of the SDK) to identify who is pouring a beer. I don't know how accurate it would be outdoors in changing light (on the deck), but it might be worth a shot!

love this idea and have thought of doing something similar, can't wait to see what you come up with.
Thanks! I plan to do a write-up of it on my IT blog when I'm done, including the code I write.
 
Not a lot of progress to post today, the first coat of high gloss white paint went on the inside of the collar, I cut the hole for the temp controller (forgot to do that before assembly, whoops), and I wired up the STC-1000 controller and tested it. I'll have to take it apart to install it in the collar but that is no big deal.

The liquid flow sensors are here so I finally have everything, and we are getting close to final assembly! Waiting for a couple coats of paint to dry is going to be the most painful process.
 
Why are you using an stc1000 instead of using the arduino to control the temp?
 
Why are you using an stc1000 instead of using the arduino to control the temp?

Yea, that was a failure to plan. The Arduino was an afterthought for the kegerator and I already had the temp controller. Then I decided it was okay because I didn't want something to crash or die on the arduino and ruin all of the beer.

Easter Sunday so I didn't get to do anything today. I thought I had a tube of caulk but I don't so as soon as I get that tomorrow I can attach the collar and lid.
 
Yea, that was a failure to plan. The Arduino was an afterthought for the kegerator and I already had the temp controller. Then I decided it was okay because I didn't want something to crash or die on the arduino and ruin all of the beer.

Easter Sunday so I didn't get to do anything today. I thought I had a tube of caulk but I don't so as soon as I get that tomorrow I can attach the collar and lid.

Just a thought because your collar looks like a 2x10 or 2x8. Mine was a 2x10 and i picked up a second set of hinges. After having it like this for 6 months now, I really like it. I can lift my kegs over the collar but it is really nice that i don't have too. Just thought i'd offer up an idea since i'm probably going to be picking up plenty of ideas from you during this build. :mug:
 
citywok said:
I decided to build a keezer, and then decided being an IT person/programmer that I should play with an Arduino and see what I could get it to do. I read a lot of threads around here to get ideas for my keezer / collar, so I figured I'd post what I've done so far (i'll post more as I progress, should be done in a couple weeks).

I plan to use the Arduino to measure how much beer is left in the keg with an LCD for each tap, as well as show the temp inside and outside of the keezer (I plan to put it on my deck for the summer). It has a webserver (ethernet shield) showing how much beer is left on each tap, and soon it will have a page where you set what beer is on each tap including name/capacity.

I know kegbot exists, but I wanted to do it all myself from scratch as a learning experience :)

Tonight I used a jigsaw to cut the LCD holes, then a router to make room for the PCB to fit and have the LCD be flush, drilled the holes for the shanks, and glued the whole thing together. Once the glue is dry i'll put blocks in the corners to help provide some stability.

Does anybody have any suggestions / ideas for other things I can do with the Arduino?

Sweeeeeet idea!! I want to add those to my keezer!
 
Just a thought because your collar looks like a 2x10 or 2x8. Mine was a 2x10 and i picked up a second set of hinges. After having it like this for 6 months now, I really like it. I can lift my kegs over the collar but it is really nice that i don't have too. Just thought i'd offer up an idea since i'm probably going to be picking up plenty of ideas from you during this build. :mug:

I just decided on the same thing for mine. Instead of gluing the collar down I was going to put a brace on the back to keep it from sliding. Then I decided to go with door hinges to attach the collar to the freezer. I will probably access the keezer by opening the lid mostly, but I'll have the option to lift the whole collar/lid combo if needed.
 
Just a thought because your collar looks like a 2x10 or 2x8. Mine was a 2x10 and i picked up a second set of hinges. After having it like this for 6 months now, I really like it. I can lift my kegs over the collar but it is really nice that i don't have too. Just thought i'd offer up an idea since i'm probably going to be picking up plenty of ideas from you during this build. :mug:

Yep, 2x10 so I can put a keg on the hump. It's a good idea, I've been considering that after I dropped one of the LCDs in the freezer with the collar resting there and realized I would have to hang upside down to get it out. How did you seal the collar to the freezer? I was going to caulk it down to ensure a good seal and you probably can't do that, and 1/4 or 1/2" weather stripping would probably be visible/noticeable from the outside.


What flow meters are you using?

The $10 Adafruit ones, here: http://www.adafruit.com/products/828

I haven't tested their accuracy with beer yet but they do work (I connected one and blew through it to test, and then fully assembled my beer lines last night). I plan to calibrate each keg on the first pour by pouring a 16oz pint (probably in to a measuring glass) and then tell the Arduino the last pour was exactly 16oz and it can use that knowledge to calibrate. I'll try it with water first to see how different it reads between water and beer.


I just decided on the same thing for mine. Instead of gluing the collar down I was going to put a brace on the back to keep it from sliding. Then I decided to go with door hinges to attach the collar to the freezer. I will probably access the keezer by opening the lid mostly, but I'll have the option to lift the whole collar/lid combo if needed.

When I installed my collar I put a 1.5x1.5x8" block in each corner for added stability. I did this while it was resting on the freezer, and I installed them as low as they would go (they were resting on the inside of the freezer this way), probably hanging about a 1/4". This actually keeps it from moving more than a hair in any direction, and adds extra strength to the collar because I didn't trust the wood glue alone.

edit: I'll take a picture of how I did this and post it tonight. I'm going to find, buy, and then stain the collar tonight so I should be able to start final assembly tomorrow.
 
Yep, 2x10 so I can put a keg on the hump. It's a good idea, I've been considering that after I dropped one of the LCDs in the freezer with the collar resting there and realized I would have to hang upside down to get it out. How did you seal the collar to the freezer? I was going to caulk it down to ensure a good seal and you probably can't do that, and 1/4 or 1/2" weather stripping would probably be visible/noticeable from the outside.

I used weather stripping. can't remember how thick. At first i wasn't to stoked about the gap but with a little bit of time it became compressed and looks just fine. I used the 2x10 for the same reason. I do still like to leave bottles in there from time to time and it is nice that i don't have to hang myself up by my ankles to do so. It is also really nice when you want to clean it out.

Another plus is that when you lift the collar it will get your beer and gas lines out of the way as well.

Again i'm just tossing that out there because i believe i'm going to learn a lot from your build. The Arduino micro controllers seem like they have a lot of uses and i would love to start messing with them, though the coding is a bit intimidating.
 
I need those flow meters on mine! 2x10 collar works well.

Very nice Keezer. The only thing keeping me from going that far with mine is that by the time i got it built, it would probably die. Then I would probably never be able to fix it or find that model ever again.
 
Dolomieu said:
Very nice Keezer. The only thing keeping me from going that far with mine is that by the time i got it built, it would probably die. Then I would probably never be able to fix it or find that model ever again.

That's the chance you take, my freezer was a Craigslist special. $30 for the freezer and $75 in wood...if it dies on me I can reuse all the hardware and start with a new freezer and new wood for a new build to to change all the things I wish I did the first time.
 
I used weather stripping. can't remember how thick. At first i wasn't to stoked about the gap but with a little bit of time it became compressed and looks just fine. I used the 2x10 for the same reason. I do still like to leave bottles in there from time to time and it is nice that i don't have to hang myself up by my ankles to do so. It is also really nice when you want to clean it out.

Another plus is that when you lift the collar it will get your beer and gas lines out of the way as well.

Again i'm just tossing that out there because i believe i'm going to learn a lot from your build. The Arduino micro controllers seem like they have a lot of uses and i would love to start messing with them, though the coding is a bit intimidating.

Yea it's a good idea with so much collar height. When you tip the collar back how do you control the freezer lid? Do you use a piece of duct tape or something to temporarily keep it from flying open?

Also, what did you use for hinges? I saw a picture where one person used generic interior door hinges. My goal is to avoid any permanent modifications to the chest freezer, so the interior hinges might work and I could always drill new holes in them if they don't line up on the freezer.

That's the chance you take, my freezer was a Craigslist special. $30 for the freezer and $75 in wood...if it dies on me I can reuse all the hardware and start with a new freezer and new wood for a new build to to change all the things I wish I did the first time.

Nice work! If I did a coffin I could probably put it in the house, for now it's going on the deck in the summer and the garage in the winter. Maybe some day I'll come up with the skills to do something like a coffin :)

How many hours did you spend building it? Also, it looks like maybe a 5CF freezer?
 
citywok said:
Yea it's a good idea with so much collar height. When you tip the collar back how do you control the freezer lid? Do you use a piece of duct tape or something to temporarily keep it from flying open?

Also, what did you use for hinges? I saw a picture where one person used generic interior door hinges. My goal is to avoid any permanent modifications to the chest freezer, so the interior hinges might work and I could always drill new holes in them if they don't line up on the freezer.

Nice work! If I did a coffin I could probably put it in the house, for now it's going on the deck in the summer and the garage in the winter. Maybe some day I'll come up with the skills to do something like a coffin :)

How many hours did you spend building it? Also, it looks like maybe a 5CF freezer?

Yes it's a 4.5 or 5 CF chest freezer...it took me about 10 hours to build and about 2 hours to stain and put 3 coats of urethane on. I really would like to get those flow meters on it!
 
I actually just finished an keezer project that used an Arduino so if there's any code or things I can do to speed up your process, just let me know! I had to use an upright freezer I got from Sears Outlet because I don't have the space, so I'm no help on the collar, etc.

I'd be really interested to see what flow sensors you're using. I'm hoping in my next version to do some tracking of how much is left in the keg. I was originally thinking of putting a weight sensor beneath each keg to make sure I knew exactly how much was left, but the space implementation has ended up being a real pain. How hard was the code for the flow sensors?

If you do decide to go with the arduino to control your temps, I highly recommend going I2C or OneWire. Because the LCD/Touchscreen I used took pretty much all of the pins I had, I used a one-wire bus to run a temp sensor (DS18B20) and a switch (DS2408). I wired the switch to an SSR that's runs a plug in a box in the bottom of the freezer, and then both the switch and temp sensor onto the one-wire bus of the Arduino in the door.

The only tricky thing from a coding perspective for the temp control was making sure the compressor didn't kick on and off too much and running the LCD. It was a pretty easy coding project, although I think what you're doing with the separate controller is the way to go. The first couple nights I had some crazy dreams about fridges kicking on too often...

PICs or it didn't happen: http://www.chaosbrewclub.net/forum/equipment/kegerator-20
 
I actually just finished an keezer project that used an Arduino so if there's any code or things I can do to speed up your process, just let me know! I had to use an upright freezer I got from Sears Outlet because I don't have the space, so I'm no help on the collar, etc.

I'd be really interested to see what flow sensors you're using. I'm hoping in my next version to do some tracking of how much is left in the keg. I was originally thinking of putting a weight sensor beneath each keg to make sure I knew exactly how much was left, but the space implementation has ended up being a real pain. How hard was the code for the flow sensors?

If you do decide to go with the arduino to control your temps, I highly recommend going I2C or OneWire. Because the LCD/Touchscreen I used took pretty much all of the pins I had, I used a one-wire bus to run a temp sensor (DS18B20) and a switch (DS2408). I wired the switch to an SSR that's runs a plug in a box in the bottom of the freezer, and then both the switch and temp sensor onto the one-wire bus of the Arduino in the door.

The only tricky thing from a coding perspective for the temp control was making sure the compressor didn't kick on and off too much and running the LCD. It was a pretty easy coding project, although I think what you're doing with the separate controller is the way to go. The first couple nights I had some crazy dreams about fridges kicking on too often...

PICs or it didn't happen: http://www.chaosbrewclub.net/forum/equipment/kegerator-20

That's a lot of beer on tap! How many people do you have helping you? I don't think I could drink that many kegs by myself before they started going bad :)

Here is the sensor: http://www.adafruit.com/products/828 -- I'll report back with how accurate they are once I have them up and running. I've read the margin of error is 10% without calibration and 3-5% with. I used the example sketch on adafruit as a starting place and spent half an hour working it for my needs. Once I'm done I plan to post all of my code so you can see exactly what I did :)

I purchased a Mega R3 so I would have lots of extra inputs to work with, but I have also seen articles on which pins you can run in parallel so you don't need quite as many inputs for the second and third LCDs.

My goal is to use a MicroSD card to store the beer info / quantities, and then use a webserver to configure what is on each tap, when a keg is refilled, and to help calibrate the sensors. This way the Arduino won't need a PC plugged in to it and can be fully self sufficient. I already have a chunk of this code written but I changed my mind a couple times on how to do things so I wasted a bunch of work.
 
I actually just finished an keezer project that used an Arduino so if there's any code or things I can do to speed up your process, just let me know! I had to use an upright freezer I got from Sears Outlet because I don't have the space, so I'm no help on the collar, etc.
...
Sorry for the off-topic!
hey emperorcow, do you mind sharing your code - I am looking at a brewery controller project based around a TFT LCD touchscreen and Arduino Mega. What Screen is that. My screen is still on the slow boat from China so I have only done minimal amoutns of code for the 2 axis joystick so far. Need to sort out some DS18B20s as well :D
 
Yea it's a good idea with so much collar height. When you tip the collar back how do you control the freezer lid? Do you use a piece of duct tape or something to temporarily keep it from flying open?

Also, what did you use for hinges? I saw a picture where one person used generic interior door hinges. My goal is to avoid any permanent modifications to the chest freezer, so the interior hinges might work and I could always drill new holes in them if they don't line up on the freezer.

The lid stays put. I actual bought a replacement set of hinges for my model of freezer. That wat i had no need to modify the freezer or lid. I just screwed them into the collar. The hinges are strong enough to hold up the collar and lid. I thought it wasnt but it turned out i had a gas line pulling it down.
 
That's a lot of beer on tap! How many people do you have helping you? I don't think I could drink that many kegs by myself before they started going bad :)

Well... I still have 1 tap that isn't filled yet... but I've been brewing like crazy to get this thing full! It'll just be lots and lots of get togethers!
 
I did an arduino based keezer project once. I used RFID tags to enable or disable the tap from being usable. Simple solenoid in line with the beer line, pretty sweet way to keep people at the fraternity from drinking my beer!
 
Sorry for the off-topic!
hey emperorcow, do you mind sharing your code - I am looking at a brewery controller project based around a TFT LCD touchscreen and Arduino Mega. What Screen is that. My screen is still on the slow boat from China so I have only done minimal amoutns of code for the 2 axis joystick so far. Need to sort out some DS18B20s as well :D

I put my code up here. Its commented... but its also a bunch of crap, so feel free to let me know what questions you've got (We should probably start another thread though, so PM me if you do!). It wasn't too hard to get the onewire working once I got it figured out! As far as LCDs, I highly recommend this one. Its really easy to get working on an Arduino and Lady Ada (of Adafruit) has really documented this one quite well.
 
I used the same hinges that were on it originally, now the hinges are attached to the lid and the collar. When I get home tomorrow I will post a picture. Very easy to do.
 
Okay, here's a picture of the corner braces, but you can't really see how they hang 1/4" down in to the freezer to help hold the collar in place.

There's also a picture of the stained collar resting on the freezer (no weather stripping yet). I got generic door hinges and drilled holes in them so I can use that on the lid without having to do anything to it. The original hinges will attach the collar to the freezer. I'll do that stuff tonight, and then hopefully start running lines and wires.

2013-04-01 17.41.39.jpg


2013-04-02 08.58.47.jpg
 
And here is the website I worked on last night, allowing you to configure what is on each tap, how many gallons is in the keg, how much is left, and how many pulses per liter for the flow meter. The default is 450, that is there in case you need to calibrate each beer differently. Mind you this is all running on the Arduino natively :)

There's also a simple homepage that is just a display rather than the configuration page (/admin).

The number of taps you have is set in the Arduino sketch, and all of the data is stored on a MicroSD card (on the ethernet shield) for persistence between reboots / power outages / etc.

configuration.jpg


display.png
 
Back
Top