We’ve long been able to get Arduino and Android to talk to each other over Bluetooth (for example, see the Android Controlled 3D Printed Slalombot), but doing that with an iOS device has required you to be enrolled in Apple’s MFi program or you to jailbreak your device.
That seems to have changed with the addition of Bluetooth 4.0’s “Bluetooth Smart Ready devices”. Alasdair Allan [via Tom Igoe] clued me into this really interesting development. Dr. Michael Kroll is working on a Bluetooth Low Energy (BLE) Shield for Arduino based on the Bluegiga BLE112 modules:
Right after my first contact with BLE technology I was thinking of a BLE Shield for the Arduino. I really liked the Arduino BT of the Bluetooth Shield from Seeed Studio, but since these boards are not “Made for iPod”, they are not connectable to iOS Devices. The idea I had in mind was to create something similar to the Seeedstudio Bluetooth Shield where the Arduino’s Serial RX/TX pins or Pins 2/3 (with SoftwareSerial) can be used to read data from and send data to an iOS device. That said, I started a first prototype of an Arduino Shield using Bluegiga’s BLE112 Bluetooth 4.0 single mode Development Kit. Once Bluegiga’s firmware was finished and my first sketch could read and write to my iPhone 4S, l then I created my first real Arduino Shield PCB.
Dr. Michael Kroll: Bluetooth Low Energy (BLE) Shield for Arduino
No word on pricing [Update: the shield is now up on Kickstarter], but the modules it’s based on don’t look that expensive, nor do similar modules from BlueRadios. Even without a breakout board, you shouldn’t have much trouble connecting an Arduino to the UART on either of these modules; all you need to do is figure out what to say to them.
Tom covers Bluetooth/Arduino communication in his book Making Things Talk, and Alasdair’s looking at getting some coverage of these modules in his upcoming book, iOS Sensor Programming (you may also want to look at his shorter book iOS Sensor Apps with Arduino, which will be updated and incorporated into the larger work iOS Sensor Programming).