On Saturday I put on the second SuperHappyDevClub; the sun was out so we setup camp in the garden.
We moved from two peope to three this time! First was a guy called Tom who works at Moviestorm, which is some sort of game/sim for creating your own movies. I’d never met him before so that was great. Turns out he’s done some pretty interesting research in to algorithmic creation of realistic cityscapes, so obviously google earth conversations came up pretty quick, and wondering whether you could recreate all the cities around the world by extracting the characteristic parameters from small samples. Later Rob joined us, who strangely enough also does some work at ARM on mobile graphics stuff. He has an interesting project to pimp up his bike with seemingly as many sensors as he can get his hands on.
My project for the day was to see what I could do with a Bluetooth module I’d got hold of. The dev-board has an RS232 connector which I very quickly realised wasn’t compatible with my no-RS232 laptop. So a trip to maplin with £20 (what?! only because i was desparate!) successfully got me a USB-RS232 interface. It also didn’t work. This made the £20 seem an even more interesting price point to choose. An hour of googling later, it still wouldn’t install. That’s the feeling of productivity we’re striving for!
I shifted over to using a bluetooth dongle instead to see what could be done, and started trying to connect to mobile phones. It didn’t take too long to be able to make a connection, and then Tom caught the bug. So talking to mobile phones became the challenge.
Rob wanted to run a backlight module from PWM, but didn’t know how it was meant to be driven. Obvious answer; pull off the back of the phone and measure it wih an oscilloscope. Obvious problem; no oscilloscope. Obvious solution; build one! So Rob started beavering away on a text readout oscilloscope!
Some hours later and we had the phones doing lots of stuff; it turns out a lot can be done using AT commands over a bluetooth serial conection. Things like getting the phone to ring a number, send us what buttons are being pressed, status information and even access to the text message store.
Rob got his oscilloscope working pretty well. If only we’d had a screen lying around it could have been graphicalised; so that’s going on the shopping list.
So we could now control the phones over bluetooth, but I really wanted to make the bluetooth module work (that was my goal for the day). So I ended up just bypassing the dev-board and wiring the module straight to a microcontroller. That worked much better and it didn’t take too long to be able to talk to it. Interestingly, my first experiment was to use the micro to build a USB-RS232 adaptor, which worked first time! £20 is really looking steep now.
I finished the night with the microcontroller using the bluetooth module to make a connection and pair with a mobile phone. Absolutely no PC involved, just a micro and bluetooth module, so it could be battery powered too!
And of course, because the micro could now control the phone, at some early hour in the morning this is what my friend Chris received on his mobile:
Hello World! from a bluetooth and mobile phone enabled mbed board!
Microcontrollers sending text messages. Sweet! Now any device can notify you by text message!
If you are interested in joining us next time, see SuperHappyDevClub!