Archive for April, 2013

Sites like Kickstarter and Indiegogo make me very excited. They really do give opportunities to projects that probably never would have seen the light of day. A recent project to build a affordable 3D scanner has caught my eye. Have a look and see what you think.

Photon 3D Scanner

Photon Image

Photon 3D Scanner

I had a little time to play around this weekend so I got out some toys I’ve been meaning to play with and got a few things up and running. My EVE board has been lying around collecting dust so I assembled the RFM12B and the Ciseco SRF modules along with a TMP100 on board temperature sensor. The EVE board has 2 locations where the SRF module can be fitted but I put it on the 868MHz location as that’s the frequency I am using. The PCB is routed such that the Pi can communicate with it via SPI on SS0 but it also has pads for the serial connection which is a blessing as the firmware that the module is shipped with uses serial and not SPI. Although you can OTA program these devices since I don’t have any radio modules that can easily connect to a PC I just hooked up an FTDI adapter to the serial port and programmed them using their XCM tool. The firmware image can be found here.

RFu328

I also have one of their Arduino compatible boards with a footprint for the same SFR module on the Pi so I programmed that up with the RFu328 code (I used the beta firmware) and put a small sketch on there which periodically reads the temperature and humidity values from a DHT22 sensor and sends them out to anyone listening. The protocol used to send these packets is LLAP which is really basic but gets the job done. CRC and other such things are handled in hardware so that is not required in the protocol. After that it was easy enough write a python script on the Raspberry Pi to read the values and for now just posts them to COSM.

Next phase I’m going to set up some web sockets and have a play around with some HTML5. All in all it was a fun little weekend project and I am most happy with how far it’s come.

I would also like to change this so that the sensors do no just present the data but rather are polled. While I’m at it I’d also like to build in standard inputs and outputs so I don’t have to change the code if I want to add a few basics later.

I’ve gotten myself into quite a few projects at the moment and I think I need to spend some time finishing a few things off rather than just taking new things on. The first and easiest thing to tick off the list would be Ambilight. It’s all up and running and working great! I really love it. All that needs doing is packaging it all up so that it looks nice. In doing so I have ordered a few things which should all arrive soon. The first thing I did after trying out a few wall warts was to order a decent 5.5A switchmode power supply. I think it’s good practice to have a supply that can output a good deal more than you need so it is not living on the edge of it’s capabilities.

I didn’t like having the Arduino hanging off the edge of the TV and needed another 5V supplied micro board so I ordered a Xino Mini from Ciseco. This is a great little respin of the Arduino Mini but doesn’t carry it’s heavy cost. It will be great and unnoticeable behind the TV. Along with that I needed a 5V I/O FTDI adapter which is the last thing I am waiting for as the wrong part was sent out to me. Once I have it all put together I’ll post pictures but this was a fun little project.

Apart from this I have been playing with my EVE board and getting a few home automation projects off the ground. Not too much to speak of yet but keep an eye on my github page because all the code will be there.

The last thing I have been busy with is a software project that will be very useful for home and work which has started as a python application which I have named Phantom. This program will run as a client or server and using the Pyro library dynamically generate a list of compatible devices on a network, query their capabilities and generate a GUI to control them. It was dreamed up in the middle of the night and will be great for hardware test Linux boards. I think I’ll start out with a lot of things hard coded and then try to make as much as dynamic as possible. Below is the beginnings of what I hope to achieve.

Phantom Flowchart