Recently I purchased a water damaged iWallet on Ebay and from the start it was pretty clear I wasn't going to be able to fix it. So the logical next step? Strip all the electronics out of it and rebuild it. I made a quick trip to Microcenter and picked up the following:
Arduino Pro (Atmega 328)
Lithium Polymer USB Charger and Battery
Bluetooth Mate Silver
I wired in all the components and glued 5 SMD Led's in a row into the old fingerprint hole to use as a notification of BT connectivity being established.
I wired the serial port to a tiny external plug so that I could reprogram on the fly without having to open up the shell.
Since now the primary serial port is setup for programming I had to use 2 GPIO ports for the BT serial connectivity. This was actually dead simple thanks mainly to NewSoftSerial library.
I tied one of the GPIO's onto one side of the BT led pin and use it as a trigger for the SMD led's on top. I also wired up the speaker just so I got that sweet beeping action on open.
Now onto the coding part. I hooked it all up and went to connect my iPhone and It couldn't find the BT module. Turns out in typical apple fashion they don't support SPP (Serial Port Profile). But lucky for me BTstack was there to save the day. So after a few minutes of playing around with their example (they had a few bugs). I was able to connect to the BT module and send text. Then it was as simple as reading the data and triggering the motor.
I made a quick movie to show it in action:
Oh and the ladies love it :)