I want to develop an app on an Apple iPhone, that has Bluetooth 4.0 BLE embedded, that talks to a basic piece of kit with a bluetooth 2.1 chip in it?

Firstly - is it technically possible - if I only use the most basic commands of 4 to just 'know' if the 2.1 device is present?

  • 1
    \$\begingroup\$ Curious about the close flags and the -1: Not debating them, just wondering why. \$\endgroup\$ – Anindo Ghosh Dec 28 '12 at 14:50
  • 2
    \$\begingroup\$ @AnindoGhosh I voted to close as off topic. This question would get more traction on SO. That is if it's not already answered. A quick search yields many answers. \$\endgroup\$ – embedded.kyle Dec 28 '12 at 18:58
  • \$\begingroup\$ @embedded.kyle So, telling a newcomer that would have been more helpful, I guess? Rather than fobbing them off, and thereby possibly turning them off this site completely? \$\endgroup\$ – Anindo Ghosh Dec 28 '12 at 19:03
  • \$\begingroup\$ @AnindoGhosh I agree completely. Which is why I commented as well as closed. The comment helps the newcomer find the correct Stack Exchange for their question and closing the question helps the site at large stay focused. I simply added your name to notify you since you seem to be interested in why it was getting closed as well. \$\endgroup\$ – embedded.kyle Dec 28 '12 at 19:41

There isn't much information about the bluetooth/radio chip embedded in the newer iPhones (4s, 5, iPad 2, newer macs), but it is commonly known to be a Dual Mode Bluetooth 4.0. They can access older Bluetooth (v1.x) Bluetooth + EDR (v2.x) and Bluetooth + HS (v3.x) devices, as well as newer Bluetooth v4.0 AND BLE v4.0 devices.

The host chip on the iPhone can talk to both, but not at the same time. A BLE slave device can only talk to a BLE host. A BR/EDR device can only talk to a BR/EDR Host. There can be dual-mode slaves, but not really.

Yes, you can use your iPhone with Bluetooth v4 to talk to a basic BR/EDR device. You can't use a iPhone with BT v2.x to talk to a BLE device.

  • \$\begingroup\$ Thanks passerby - useful information - much appreciated... \$\endgroup\$ – user1459408 Dec 28 '12 at 22:50

Even though both Bluetooth Classic and Bluetooth Low Energy both use 2.4GHz and GFSK, channel bandwidth and other parameters is different between them. So, they cannot communicate even at the PHY level and that means no.

Note that I use the nomeclature Bluetooth Classic because although Bluetooth Low Energy is specified in the v4.0 spec, Bluetooth Classic is also speced there. So saying Bluetooth v4.0 might confuse (although saying Bluetooth 2.1 wouldn't given that no BLE existed in that spec).

Bluetooth Classic was made for higher data rate applications (audio, headset, etc) whereas BLE sacrifices the data rate in order to lower power consumption. This rendered them incompatible.

Most phones support either Bluetooth Classic or Bluetooth Classic + BLE, but you are unlikely to find any phone/tablet only supporting Bluetooth BLE given that they need classic bluetooth for headsets.

Your post touched on another issue. Apple decided a long time ago that communications using Bluetooth classic for the interchange of data (not audio) requires the developers of the device to become part of the MFI (Made for Apple) program, which means adding a special authentication chip to your device. Without this device, it is not possible to send data between Apple products to Bluetooth classic. This doesn't apply to audio/music though.

The restriction above isn't present for Bluetooth BLE. iPhone/iPad/iPods with Bluetooth Low Energy can communicate to any device with BLE support without needing the authentication chip.

  • \$\begingroup\$ Do you think it may be possible to use a BT v2 chip with the Audio/Video Remote Control Profile (AVRCP) in a new device and read the play/pause/stop commands for other purposes than AV? And therefor not needing MFi? \$\endgroup\$ – Darren Dec 29 '12 at 8:37
  • 1
    \$\begingroup\$ You're correct, A2DP and AVRCP don't need authentication chip. BTW, a nice resource is here: developer.apple.com/hardwaredrivers/… You could reroute the signals of that stop, play, etc does. It might be of some limited usefulness. \$\endgroup\$ – Gustavo Litovsky Dec 29 '12 at 17:35

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.