PARTS

Arduino Uno - $18

Can get a Sainsmart Arduino Uno on amazon for $18, cheapest ive found it not buying a knockoff from China.

If money is a main concern and every dollar matters and you dont mind waiting a long time, order from Dx.com for $13 with free shipping from China. Do realize this will take a minimum of 3-4 weeks to arrive in the US. So dont expect it for 30-45 days after you order. I still think the Sainsmart is a better option for only $5 you get it in a few days, but this is the next best thing.

Webserver Host (PICK ONE)

RaspPi - $60

[**] This is where a majority of the above mentioned $100 cost is if you go the RaspPi route. You can get a complete Kit including a MicroSD card on Amazon here http://www.amazon.com/gp/product/B008XVAVAW/?tag=skimlinks_replacement-20

[**] Another option is to just buy the RPI for $40 and use a power cord and or MicroSD card you already have.

[**] This is where a majority of the above mentioned $100 cost is if you go the RaspPi route. You can get a complete Kit including a MicroSD card on Amazon here http://www.amazon.com/gp/product/B008XVAVAW/?tag=skimlinks_replacement-20 [**] Another option is to just buy the RPI for $40 and use a power cord and or MicroSD card you already have. Any PC with USB

[**] This is where you can save a ton of money, if you are like me and have any old spare PC’s laying around with old drives, you can install Debian Wheezy on it, Unix based OS's are great because they can run on the crappiest of PC's. Doing this route makes the software installs a bit more manual but its all very well documented line by line on the BrewPi Wiki. Instructions here http://docs.brewpi.com/manual-brewpi-install/manual-brewpi-install.html

EDIT - Its also come to my attention via this thread that the BrewPi Install script you would use on a RPI works fine on Debian installs, and likely some other Debian based Unix OS's. So try running the automated installer documented below first to see if it just works, if it doesnt reinstall Debian and do it manually.

SainSmart 2 Channel Relay Board - $10

Simple relay board thats capable of switching 10A(same as a STC1000) is perfect for this application. http://www.amazon.com/gp/product/B0057OC6D8/?tag=skimlinks_replacement-20

4.7k Resistor x1

This is needed to wire between the Data and VCC pins on your arduino, this is a requirement of the DS18B20's to be used on the OneWire bus.

DS18B20 Sensors x2

There are a lot of options here so shop around to find the cheapest ones that fit your criteria, you can buy premade ones, something like this http://www.ebay.com/itm/1pc-Waterpr...688?pt=LH_DefaultDomain_0&hash=item4d17cc2d40

Just make sure if you get premade sensors that any sheathing is not greater than .305 inches or it wont fit in the listed thermowell.

Or you can buy just the sensors themselves and wire make cables yourself, you can get 4 wire cable by the foot at Lowes/HD for like 44c per foot. If you think 1 Meter of cable is long enough for your implementation then the above are good...if you need a long run you may want to make your own..or splice some longer cable onto the premade ones…I think you can get 10 DS18B20 sensors on Amazon for about 8 bucks. Hooking them up is straight forward just follow the schematic. Once i have a sensor up and running, i typically just put a thin layer of aquarium silicone on its contacts to keep them in place and from shorting together when i shove it down the thermowell, hot glue works as well just try to keep it off the top of the sensor where it takes its readings.



Things to think about when ordering premade wires is if their length is long enough to fit into your setup from where you will externally mount your brewpi, and if the sheathing is too wide to fit in a thermowell. Honestly pretty much every one you see with a metal tip covering it will be identical, because their all the same thing just mass produced in china and resold here at various prices, but do check these things.

Thermowell (OPTIONAL BUT RECOMMENDED) - $12



http://www.brewershardware.com/Straight-Wall-Thermowells/

http://www.brewershardware.com/Straight-Wall-Thermowells/ Brewers Hardware sells these that i use, the width is wide enough to fit the premade sensors down. You also need to figure out a way to get said thermowell in your fermenter. For me using a bucket, i simply drilled another hole in my lid, bought another cheap rubber stopper with a hole drilled in it to fit that hole and the thermowell fits very snuggly in a standard drilled stopper.

You can alternatively just insulate it properly on the side of the fermenter, but you need to be VERY good with your insulation...I would highly recommend a thermowell as measuring the temp inside is going to be the most accurate, and that's what we are going for with this project over a standard STC1000...external mounting will get you close, but when your talking +-.1F accuracy you will want it in the heart of your wort where the heat is, not externally measuring heat through the somewhat insulating plastic of your fermenter.

Power socket - $5?

Any 10-15A socket from HD/Lowes should work

Power cord - $??

The easiest thing to do is to harvest a PC power cord and cut off the power supply end and keep the socket plug in end. Many people have boat loads of these laying around, the nice thing is you can harvest the cut end for good 14-16 gauge wire to use for this project. If you must, buy the shortest and cheapest 16 gauge extension cord you can find. You may be able to find something to harvest at a store like GoodWill/Salvation army, they usually have piles of cables near their electronics for a few dollars each. In the case of PC power cords you can cut the power supply end off, then cut some 6-12 inch sections off as needed and pull the individual White/Green/Black cables out of the outer black sheathing. These make great connections for the Relay side going to the Wall socket, which should use 14-16 gauge wire to be safe. Use thinner wire if possible for the arduino connections, it will make it easier to solder onto the pads...or if you want you can always use header pins and just plug directly into the arduino from the top.

Assorted bag of Twist on Wire nut style connectors

These can be used to make the connections more quickly and easy, optionally instead of using these you could twist the wires in the diagram together and solder them, but this makes it harder to disassemble if you hook something up wrong.

SCHEMATIC

Installation

Hook Up Arduino to RPi via USB

Once you have the Arduino wired up properly to the relay board and Sensors, hook it up via USB to the RPi.

Install Raspian Wheezy -

If you bought the Canakit listed above, simply plug it into a monitor via HDMI and usb keyboard in with the MicroSD card in it...when it boots it will ask you what OS to install, select Raspian and leave it...it takes a while to install.

If you didnt have the NoobSD card, install Raspbian Wheezy onto a MicroSD card following the Raspbian instructions.

If you are using a PC instead of an RPI, use the install Debian Wheezy on the hard drive(Dont use a Live DVD)

Install BrewPi

From a command line terminal type sudo apt-get update , this will update your repositories so that the install scripts below are able to get all of their files.

, this will update your repositories so that the install scripts below are able to get all of their files. If you are using an RPI, type the following commands given on this page to install the script, following the prompts http://docs.brewpi.com/automated-brewpi-install/automated-brewpi-install.html

If you are using a PC with Debian Wheezy use these longer instructions http://docs.brewpi.com/manual-brewpi-install/manual-brewpi-install.html

Update Arduino’s image ??

This may or may not be different now, i have not done a fresh install in quite a while. It seems like now when you run an Install that one of the steps is to program automatically flash your Arduino via the above Install script. You want the Uno RevC image.

If it does not pop up asking you this during the install then use the following instructions to upload the appropriate image to the Arduino, you want to save the brewpi-uno-revc.hex image to your local machine by right clicking on it and saving it to a file. You then go to your BrewPi interface at http://brewpi/ on your local network(or goto the IP address of your RPI) You will then use that file in these instructions http://docs.brewpi.com/after-install/program-arduino.html

Setup Devices

We are almost there! You should have have a brewpi web interface if you open up a web browser and go to http://brewpi

The final step is to tell it about your sensors, this is where you will find out if something is not wired properly in your Arduino circuit.

First check the top right, it should say that the Script is running. If it is not, try clicking the button the start the script and wait 30 seconds to see if it starts. If it still wont work, this means the script on your Arduino is not properly running and you may need to try reflashing it with the image, you cant set the settings below until it shows the Script is running.

Step one you should have a page that looks something like this, you may have a demo graph in this case my BrewPi was set to the Off mode.



Under the Maintenence Panel, select Device Configuration



Check Read Values, and press the Refresh Select Device button



When you do so a big list of devices will show up under Detected Devices, we will be doing the temp sensors first and they will be on Arduino Pin A4(OneWire). Scroll through the list and you should see TWO devices on Pin A4(OneWire) with a number in the value field, this is the temperature it is reading(probably in Celcius). If you do NOT see two sensors reporting back a temperature, check your circuitry.



When both are detected, assign each a device number, set each one to Chamber 1 and Beer 1, and hit apply.

Next you need to set one of the devices to Chamber Temp(sensor that just sits in your thermal chamber), and the other to Beer Temp(the one that is on the side of your fermenter or in a thermowell), we dont care about the Room temperature. Be sure to hit Apply for each device after you’ve set them up properly. Once you hit apply and refresh the devices will show up in the Installed area





Under DETECTED DEVICES you will see quite a few devices, find the one on Arduino Pin 5(Act2) and one on Arduino Pin 6(Act 1), these are your relay switches.

Set them to Chamber 1, and Chamber Device for their assigned values. You also need to set the Pin Type to inverted if you followed my wiring diagram and used the left and middle pins of the Relay output. Also make sure to hit apply for each device after you have set them up properly. After you do this for both of them and they show up as installed they should be listed as Switch Actuators.

Your now done, you should now have 4 devices in your installed section. Two temp sensors that read values and two switch actuators that will likely say inactive.



Your front panel LCD panel in the top left of the main BrewPi page should now be updating with your temperatures, you may want to go into the Maintenence Panel->Advanced settings and change from Celcius to Fahrenheit and click the Send to Arduino button and you should now be getting readings in Fahrenheit.

The final step is to determine which power outlet goes to what. The easiest way to do this is to set your BrewPi to a temperature thats colder than what they are currently reading. Select Beer Constant, enter in a temp and hit apply and in 10 seconds your LCD panel should update that it is waiting to cool and count down as well as show the set beer temp and a set fridge temp(that it calculated as part of the PID algorithm, this is the temp your BrewPi thinks it needs to get to in order to chill your beer to your set point). Once it starts cooling, one of your relays is going to trigger on(you will see one of the red LED's on the relay board turn on and hear the relay click on). This is your cooling plug, mark it somehow with tape or a sharpie or something so you dont forget which is your hot plug and which is your cold plug. If you need to swap them for whatever reason(like your fridge has a plug that bends down and would block the heat plug) just go back into the Device Config, swap your Cooling switch actuator to heat hit apply, and your heat to cool.

Use the same principle to determine which of your probes is your fridge and which is your beer probe, you can just hold one of them between your fingers for a few seconds and see which one goes up. I recommend marking these as well somehow with tape or something so you dont accidentally put your fridge probe in your beer and beer in your fridge and start a brew and it doesnt work.

Tips & New Features

Install Idea's

Up to Date Instructions can be found hereSo, i will start this post by saying Elco, _mdma, and Geo(i believe) are amazing at what they have created with BrewPi and continue to develop for free. Brewers are great in that they share nearly everything, and they are no different.This post is in no means being created in an effort to hurt their sales at their BrewPi store( http://www.brewpi.com ) and the PCB's they have created, if your willing to spend the extra $$ you can get most of the hard circuitry done for you. But all of this as you know comes with a price, and a prebuilt BrewPi from them can cost a good amount of money. I hope this post brings BrewPi more press, and can get more people using it because i do honestly think it is the most accurate method of fermentation control available to a homebrewer. It is also nice because all of this data is stored on your BrewPi system, so in 9 months you make your same Oktoberfest and your last one was amazing, you can just pull up your old graph and recreate your exact temperature profile.This is a post for how to piece together a basic relay driven circuit using an Arduino and a RPi for max $100(If you use a old PC instead of an RPI to host the web server it can be done for the same cost as a STC-1000 Build($30ish)) in such a way that it will interface with the amazing BrewPi software running on a RaspPi(or PC w/ Debian) that gives you graphs like thisAnd to give you the precision of this because of its advanced dynamic PID algorithms, you can see over the 4 hours of this sample brew with the set point at 65F my temperature rarely moved .1F off of the set point. For those not familiar with PID, you can think of it as "self learning" software. A very simple explanation is that it learns and adjusts its internal variables to match your system, it learns that in your setup if your requested beer temp is set to 65f and right now its at 67F that it needs to get your beer to 65.3F and then turn off because your chamber's residual cold air will bring it down that extra .3F. This results in very accurate temperatures without huge overshooting or undershooting you may experience with other temperature controllers. It also results in less cycling of your cooling/heating elements and therefore more power savings and less wear and tear on your fridge/freezer. If you look at the picture below you can see this in action, the blue and red bars along the bottom of the graph represent when the fridge is cooling and heating respectively. You can see it only chills for a few minutes, and before the beer even really begins cooling it already turns off because it knows the ambient cold air will bring it down to where it needs to be as it slowly drifts back towards 65F and below where the heater kicks on.Or this zoomed in snippet of the same brew during nearly 24 hours of constant temperature ramping, again almost rarely reaching .1F over its set point, in most cases its .05F-.07F. Ignore the front panel showing 65.05C, its because they are Euroand BrewPi defaults to C, but i have it swapped to Fahrenheit in the settings but there are a few GUI bugs like that still that dont swap properly...no biggie doesnt effect the operation.And hopefully for only about $100, or less depending on which route you take which will be explained below. This assumes you have the basics, like a soldering iron and some way to strip wires.So lets get a list of things that are neededThis is a very basic sketch i threw together with my amazing MS Paint skills. The circles are the wire nuts.Here is an alternative Schematic that the awesome 100Amps here on HBT made up that he has given me permission to post here. Gives a good setup using the block connectors to hook everything together rather than twist caps. The only other real difference is a few extra ground connections to the outlet. Technically the relays are grounded through the Arduino to the RPI's ground which would be the same as the wall outlet, but if it makes you feel better its a good idea.The wiring isn’t actually all that difficult and can be banged out in an hour or so once you have all of your wires cut and ready, i will note that you are playing with 120V mains voltage coming from your wall. Be extremely careful when handling this when plugged in, always ensure that there is no power being supplied from the Arduino and the 120V plug hooked up to the SSR is not plugged in when you are messing with the wiring.I will note that the Sainsmart relay board comes with stupid male pins for the inputs instead of female to use easy jumper cables. Because of this I and many others just pull the header pins out and solder wires to the pads or through the connector.After that, you should have a functioning BrewPi, take whatever steps you want to make it pretty by putting it in a box to protect the electronics. I recommend testing it and your electrical socket wiring with a fan or light of some sort and watch the BrewPi interface to see if it thinks it is heating or cooling or idle, and that it is indeed doing that by powering the appropriate outlet or none(idle).The brewpi LCD interface in the top left by default updates every 10s, you can press the refresh graph button to update the graph, or just reload the page.Lets keep the banter about doing everything on a RPi to a minimum, there are reasons that they have chosen to go this route, mostly due to the innate stability of the Arduino, and the general unstability of Raspbian and the RPi. If the RPi was to crash, the Arduino would still has everything it needs to maintain its temperature until you fix the problem. But a micro controller like the Arduino crashing is generally unheard of, although i guess in theory it could happen it should reset itself. And honestly the Arduino Uno at this point is so cheap it doesnt matter if you did it strictly on a RPI, your not really saving much money.Lastly if you made it this far you can take a look at my BrewPi graph and play with it, i altered the page so that the settings are all gone so people cant mess with my ferm chamber, but you can still see the graph and play with it if you want. You can turn on and off the various graphs on the right, zoom in time or temperature, etc.If you want to learn how to make this public page, and or a password protected public page so that you can view your BrewPi from anywhere check out this postFeel free to post here if i left anything obvious out and i’ll do my best to help!Finally I will attempt to keep this list up to date with cool things and tips people have posted throughout this big thread, if you have something i missed that you think should be here PM me!This list contains many of the completed BrewPi install's so that people can get idea's for mounting/container type solutions that others have done.