Serial connection over Bluetooth

Hello,

We have a non-Apple, non-MFi hardware device with bluetooth capability. Is it possible for an iOS app to connect to our hardware device over bluetooth for serial communication without the hardware device being MFi certified?

thanks.

Are you talking about a Bluetooth Classic device supporting Serial Port Profile, such as an HC-05 module or similar? Core Bluetooth doesn’t support that.

If your device supports Bluetooth LE, then yep you can work with it via Core Bluetooth.

I did once implement both ends of a simple serial protocol over BLE (iOS central, BlueZ/Linux peripheral) and while it’s doable, my advice is to avoid this if possible and instead design a custom BLE profile that meets your needs. Shoehorning a serial stream into GATT is tricky to get right: you’re using characteristics to implement TX and RX buffers, ACKs, flow control, etc. (Though there are some implementations of it out there you may consider.) Here’s a good analysis of pros and cons of serial over BLE: https://punchthrough.com/serial-over-ble/

Serial connection over Bluetooth
 
 
Q