HomePi – Version 1 (Kind of)

Posted by beakersoft | Posted in RaspberryPi | Posted on 11-08-2013


I knows its been a while, but I have now finished worked on my first version of the HomePi!

I had started to use Fritzing  to design my PCB, at first it is easier to use, but when it actually came to put the board together for fabrication I found myself going back to Eagle. The last stage of Fritzing wasn’t anywhere near as good and accurate (in my option) as Eagle, the more I used Eagle the more intuitive it seamed to become.  Anyway, board created, I used the SeedStudio service again to create my board. Its based in China so the shipping is a bit slow, but for how cheap it is I don’t mind the wait. So, in case you haven’t read a previous post about this project, here is the hardware that’s gone into building it

  • A Raspberry pi Model A
  • An Adafruit Pi Plate and 16 x 2 LCD Screen for the display
  • WiFi adapter for network access
  • My custom PCB
  • A DHT11 sensor for reading the temperature and humidity levels
  • Ultra bright 3mm LED light for my ‘Street Light’
  • A light dependent resistor for measuring the current light level
  • Lego!

At the moment, this is what its doing

  • All driven from a Python script, that starts as the Pi boots so it can be ran without any keyboard or monitor
  • LCD screen displays the current date and time, temperature and humidity, light level and current trending twitter topics
  • Temperature and Humidity are logged into RRD, and graphs created by RRDtool
  • Apache web server running on the Pi to serve the graphs
  • When the light drops below a certain level (i.e. when its dark) an LED ‘street light’ is turned on, and the LCD screen is turned off.

You get get the Gerber files for creating the PCB here – http://www.beakersoft.co.uk/downloads/HomePi_V1.0.rar
All of the code along with some basic install instructions are over at Github – https://github.com/beakersoft/HomePi

HomePi, Coming together

Posted by beakersoft | Posted in Raspberry Pi | Posted on 12-05-2013


Over the last couple of weeks l’ve done a bit more work on my HomePi project. I have now finished the design of the pcb (for the first version). Previously i had been using Eagle to design my pcb’s, this time however i have used Fritzing instead.

While Eagle is very good, its also a bit hard to use, especially if you have not done a lot of electronics work before. Fritzing on the other hand is aimed at novices and is very easy to get to grips with. You can create a virtual breadboard of your project, and based on this it will create you a real schematic and a PCB. There are also loads of template part available online, so building up the project is a simple! Check out the software at http://fritzing.org/.

They also offer a PCB fabrication service, but it doesn’t work out as cheap as using Seedstudio, although (from a European standpoint)  you will end up with your board a lot faster. This is an export of my breadboard view:


So, on this board I have the following sensors:

  • A DHT11 temperature and Humidity sensor
  • A light resistor and capacitor for measuring the current light level
  • An LED that can be turned on or of (to be used as a lego street light that comes on at night)
  • An Rj45 interface so the device can be extended with 1-wire devices

My HomePi board will be mounted on the top of an Adafuit LCD pi plate using a 45° GPIO header. The LDC plate will have the LCD screen plugged in, and is mounted in the roof of the Lego house. My first (unfinished version) of this is pictured below:


From the  Fritzing software, I have also printed out the PCB, backed it on a some polythene packing sheet and mounted all the components on it. I have done this to give me a rough idea of how big the finished PCB will be, and to make sure its going to fit in the house OK. Lucky it looks to be the right size:


So hardware wise, I think I am now ready to get my board made. I still need to do some more work on the actual house, one of my main things with the house is i’m not sure the best way to create my little street light. I have ordered a pre-made Lego street lamp, so I might have to drill some holes in it to get my LED in.

Software wise, I have done a bit more work on the Python script that controls everything. I have tided up some of the code, and it is now hosted on Github, so you can download it yourself and have a play around. At the moment there is no instructions on how to build everything needed for the code to run, but as I need to build an sd card from scratch for the micro sd adapter I am going to use, I will document it as I build. Go and grab the python script now from https://github.com/beakersoft/HomePi

Building the HomePi

Posted by beakersoft | Posted in Raspberry Pi | Posted on 07-04-2013


As I mentioned in the previous post, I am building a little Lego house with a raspberry pi inside it that is going to drive an LCD screen and output some interesting information. I now have most of my hardware parts working on a breadboard, and I am displaying text on the LCD screen.


So far its doing the following, all via a python script:

  • Show the current date and time on the LCD screen
  • Read the temperature and humidity from the sensor, and display on the screen
  • Show the current twitter trends on the LCD screen
  • Using the light sensor, if the light level is below a certain level (ie its dark) then turn off the LCD screen, and turn an LED on. When the light level returns back to normal, turn off the LED, turn the LCD screen back on and start looping through the date/temp/twitter information again

I have mounted the Adafruit LCD breakout board on an extra long GPIO header, so I can still use the pins on the pi. Instead of attaching the LCD screen directly to the breakout board I have connected it via cables, this is so the Pi can sit at the bottom of my lego ‘house’, and the LCD screen can be put in the roof.

The actual python script needs a couple of tweaks  then I will upload it onto Github so anyone can have a play with it. Its quit simple, but someone might find it useful.  The next things i need to do are:

  • Work out the best way of putting a 1-wire connector (probably Rj45) onto the system, so a new sensor can be easily added to the new system.
  • Try and work out if  the new Pi camera  module will fit into the system somehow
  • Design an actual pcb for the system to mount the components on. Everything is on a breadboard at the moment, obviously this cant be used in the finished house. Seedstudio offer quite a good pcb prototyping service, hopefully I can use them. I also need to work out the best way to mount the pcb to the pi, in the house.
  • Build the actual lego house to hold it all in. I looked at the LEGO Digital Designer software, but I have decided to do it old school and just try and build it from scratch.
  •  Look at some sort of back end to the system, probably web based so it can be configured easily and some of the data can be logged.

Once I have the script on Github I’ll post a link on here

HomePi – Raspberry Pi Lego House

Posted by beakersoft | Posted in Hardware | Posted on 25-03-2013


One of the amazing things about the Raspberry Pi micro computer (apart from its price) is its ability to interface with other hardware. It opens up so many possibilities that used to be quite expensive and difficult to implement . As interfacing a pc directly with hardware is not something I have ever done before, I’ve come up with a project to learn some of the basics, I call it HomePi

The idea is to house a Raspberry Pi in a little Lego house, and attach various sensors to perform certain task, and maybe implement some sort of data logging and remote access into the project as well. My ideas for sensors and extra hardware so far are:

  • A temperature and humidity sensor
  • A light sensor, that will turn on a ‘street light’ when its dark. This will just be a single LED light enclosed in some Lego
  • An LCD screen to sit in the roof, to display various bits of information, such as the current temperature & humidity, date & time, RSS feeds, Twitter trends etc.
  • A couple of buttons to maybe change what the display is currently showing
  • An LED in a ‘street light’ that will come on when the lights are turned off
  • A motion tracker to see when someone enters the room
  • Maybe an RJ45 jack to interface 1-Wire, so I can plug in additional sensors if needed.

I have already decided on a bought some of the hardware I will need for the project:

  • For LCD screen I have bought the Adafruit RGB 16×2 LCD kit. This includes the actual LCD screen. The advantage of this kit (as opposed to just buying the screen on its own) is that it you only use the 2 I2c pins on the pi. Plus you don’t really use them as you can attach other things onto the I2c bus anyway. Check it out here.
  • With the LCD breakout sitting on the GPIO pins, I have also got an extra long header connector, so I can mount the LCD breakout on the pi as normal, but also have access to all the pins
  • A DHT11 temperature and humidity sensor
  • A light dependent resistor sensor
  • Plenty of cables to run the sensors and other devices

I have started work on it now, I’ll post some more info later in the week.