With the help of several others I've finally managed to get my I2C LCD working on my DIY BrewPi. I would like to share a quick "how-to" for the benefit of anyone that may be trying to add an LCD to their setup. (Using Arduino UNO)
After completing
the setup recommended by FuzzeWuzze. The following steps are required to add an I2C serial LCD to your brewpi setup such as
this one by SainSmart. The two files referenced in the following steps can be accessed in this repository:
https://github.com/sc4z/BrewPi_I2C_LCD_Edited. Please note that the address for my LCD was found to be 0x27, if your LCD's address is different, you will require a different .hex file.
1. Connect the SDA and SCL pin outs from the LCD to the appropriate pin outs on the Arduino.
2. Connect the 5V and GND pin outs from the LCD to the "Eurostyle" connector strip junctions shown in the
drawing presented by FuzzeWuzze.
3. In the brewpi web interface, reprogram your Arduino with the .hex file found in the aforementioned repository. This file was compiled by editing the
initial file by Vasco, with the help of
instructions made by doomlab. Because this DIY brewpi setup doesn't include a potentiometer to wake up the LCD screen, the .hex file has been edited so that the LCD backlight remains on. A reasonable compromise for this simple addition IMO.
4. As per Vasco's instructions, the onewire bus connection should be moved from the Arduino pin-out A4 to A0.
5. On your raspberry Pi, the file "pinList.py" and "pinList.pyc" located at /home/brewpi should be deleted and replaced with "pinList.py" from the aforementioned repository.
6. Run the brewpi script and have fun with your new LCD! Remember that while you're setting up your BrewPi device list, the "Beer Temp" and "Chamber Temp" functions now refer to Arduino pin A0.
**EDIT**
Thanks to AnthonyUK I was able to successfully include a rotary encoder/ push button combo:
I bought a bare rotary encoder from Amazon which has 5 connections -
http://www.amazon.co.uk/dp/B00KHTLY7M/?tag=skimlinks_replacement-20
The two GNDs can share a single cable to GND and the push button goes to D7 with the left/right to D8 and D9.
7. Following AnthonyUK's instructions I soldered wires to each of the five connections on the rotary encoder which I ended up buying on digikey
http://www.digikey.ca/product-detail/en/ACZ11BR1E-20FD1-20C/102-1768-ND/1923363. As seen in the attached image, the two black wires are connected to the same common ground as mentioned in step 2 on the "Eurostyle" connector strip. The yellow wire for the push button is connected to D7 on the Arduino, the green wire for the encoder is connected to D8 and the blue wire is connected to D9.
8. A new file has been added to the repository above. The Arduino UNO should be reprogrammed with the file named "brewpi_avr_with_encoder.hex" if you want to use an encoder. This will re-enable the backlight dimming feature.
Thanks again to everyone for their help! I'm glad to finally have everything up and running smoothly