I’ve posted an article about my new and improved arcade fight stick, like the original only with flashing lights!! – http://www.beakersoft.co.uk/geekbox2
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
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
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
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