"The quotation marks mean you can't get done for copyright infingment" - Anon.
My girlfriend is obsessed with the Harry Potter franchise. For Christmas, I decided to attempt to make magic as real as I could using the wonder that is electronics, programming and determination.
[Update] Improving Reliability
I set out to make a 'Weasley' clock. For those who don't know, this is a magical device that lives in the Weasley household, however instead of displaying the time, it displays the whereabouts of each family member by pointing a named hand at a defined location such as 'school, travelling, magic-ville etc'. My version has only one hand and that points to six different locations and consists of a Raspberry Pi, USB Mobile Broadband Modem, Arduino, 'Servo' Motor, Some Microswitches and more Pritt Stick than I'd like. There were many quite drastic changes throughout the build process and as a pretty fixed deadline (christmas) so please accept that the solution I came up with may not be as elegant as possible - and I wouldn't recommend anyone copy the code/circuits presented here verbatim for anything, but rather use it as a guide and a way of saving yourself the trouble of learning some things the hard way...
The device has to work as if by magic. Therefore, apart from power, there could be no external connections to other devices (no Ethernet) and also without any configuration whatsover (no WiFi). It also had to be portable and not require much maintenance. Naturally, I couldn't actually figure out how to make it really magical - so in order to know where I am - the clock looks up my location over the internet (that I update with a phone app or web interface) and positions the hand accordingly. Discounting WiFi and ethernet meant that GPRS or Mobile broadband was the way to go.
It is possible to purchase GPRS modems that are compatible directly with an Arduino or PIC interface that would've done the job well, however the cost for such devices was always around £40 for a device to be sent from Hong Kong / China, taking time I simply didn't have. The solution was clear - a Raspberry Pi (which I already had) and a second hand USB mobile broadband stick which I picked up on Tottenham Court Road for £8. This coupled with a pre-pay data plan should hopefully have the connection problem solved. The next stage was figuring out the hardware, and in particular some way of moving a hand to a precise location around an entire 360 degree rotation, and finally bringing it all together (hardware and software) into something that resembled a clock.
So as to break the build down into readable chunks - here is list of links to the various parts of this write-up:
Thanks must go to everyone at the London Hackspace for the amazing support and community that were essential in helping me get this off the ground, and providing an awesome place to make stuff!