Iphone – How to connect an iOS device to non iOS device (Arduino devices) via Bluetooth

arduinobluetoothios5iphonemfi

After searching on Google, I found that people say it's only possible to connect an iOS device with a non iOS device with the 'MFi program'. Is that true?

My project is mainly focused on sending and receiving information with the Arduino device via Bluetooth directly.

Is communication between iOS and non iOS devices without jailbreak possible? If yes, is there a reference?

(I viewed Stack Overflow question How can an iPhone access another non-iPhone device over wireless or Bluetooth?.)

Best Answer

As I stated in the above-linked question, general Bluetooth communication to external devices on non-jailbroken iOS devices is restricted to MFi-compliant Bluetooth hardware.

However, newer iOS devices (iPhone 4S, new iPad) are capable of Bluetooth 4.0 LE communication with external devices without the need for those devices to be MFi-compliant. This interaction is done through the new Core Bluetooth framework, which lets you send and receive arbitrary data to and from Bluetooth LE devices. This only works with those listed newer iOS devices, though.

Tim points out an interesting hack that you might be able to get away with in making your device appear like a Bluetooth HID keyboard. Devices like this barcode scanner have special modes to appear as HID devices to iOS. You might be able to pull something together based on this, but all data transfer will be one-way from your device, and it looks like this will require entering that data into text fields as if you had a keyboard connected.

Related Topic