iPhone 4S says goodbye to MFi for Bluetooth Smart Devices

TI BLE CC2540 iOS app

Big news from Texas Instruments, they’ve just released a video demonstrating the keyfob included in the CC2540DK-MINI dev kit communicating with the Iphone 4S using the GATT interface through the new Core Bluetooth API.

This is a particularly big deal because it shows the CC2540 interacting with the iPhone 4S using the stock 2540 mini dev kit without an authentication chip.

Up until this point, if you wanted to get your bluetooth device talking to your iPhone, you had to apply for acceptance into the Made for iOS (MFi) licensing program.  Once accepted, you could then use a special authentication chip with your bluetooth peripheral to interface with the iPhone.  For small developers and hobbyists, this was a major hurdle, since it costs upwards of $20,000 to get your device certified for acceptance into the MFi program.

Unfortunately, if you don’t become MFi certified, you can’t sell your program on the App Store.  The alternative has been to jailbreak your iPhone and use BTStack, A Portable User-Space Bluetooth Stack.  The downside to this approach is that it requires all your users to jailbreak their phones to install your software.

So this demo by Texas Instruments is significant because it shows that we can now develop Bluetooth Smart devices for the iPhone without the use of an authentication chip.

According to this message from Brian Tucker, Senior Software Engineering Manager iOS Bluetooth Technologies Apple and Bluetooth SIG Board of directors member:

Bluetooth Low Energy is not part of our MFi accessory program. A third party application can interact with a BTLE accessory via a new framework found in iOS 5 and OX X 10.7.2, called Core Bluetooth

I believe classic Bluetooth devices will still require an authentication chip and MFi certification though.

This is all very exciting from a developers point of view, since I’m sure a lot of innovative ideas were stifled by the requirement of an authentication chip and MFi certification in the past.  Developing Bluetooth devices and software for the iPhone 4S just became a whole lot more accessible.

Source code for the iOS application is available from the TI wiki.

The software does the following:

  • Connects to keyfob
  • Shows live accelerometer data
  • Shows live battery level data
  • Shows live button data
  • Can sound buzzer when button is pressed
About these ads

19 thoughts on “iPhone 4S says goodbye to MFi for Bluetooth Smart Devices

  1. Wow, great news! Now this iPhone it’s becoming the sexiest smartphone, seriously considering getting one! I have considered developing for Android, but if MFi certificaction is not needed for the Apps I’ll jump to Apple’s boat.

    • I guess we won’t know whether or not MFi certification is needed until someone creates a Bluetooth Smart app and submits it to the app store. I’m hoping that MFi certification is only needed for classic Bluetooth. The fact that Apple doesn’t require an authentication chip for Bluetooth Smart devices is very promising.

    • I finally received my mini-dev kit and tried out the simple app on the KeyFob. It looks like the source for the full featured app comes with the BLEStack download from TI, but no hex files. Can anyone recommend a good low-cost compiler to use that runs under OS X or Unix/Linux?

      Thanks

      • I finally received my mini-dev kit and tried out the simple app on the KeyFob. It looks like the source for the full featured app comes with the BLEStack download from TI, but no hex files. Can anyone recommend a good low-cost compiler to use that runs under OS X or Unix/Linux?

        I read in the following message that the hex files are missing from the 1.1a BLE stack, must be an oversight from TI.

        In any case, I’ve uploaded a copy of the BLE 1.1a stack that I downloaded from TI a few weeks ago, which includes the hex file images. You can download it from here.

        There’s no compiler you can use on OS X or Linux for the TI BLE stack. The libraries are built for IAR and the source is not available, so you can’t rebuild it for another compiler. See here for more information.

      • Thanks Adam. I do have those hex files that came with BLEStack 1.1a, but not the KeyFOBDemo hex file. I was able to get a machine long enough to compile it. It works well with my iPhone 4S now. Thanks for the help!

  2. Thanks for the information. This was a huge help! I’m waiting for my TI mini dev kit, but they appear to be on backorder until January. Bummer.

    Do you know how sensitive/accurate the proximity data is coming from the keyfob? I’m wondering if you could display semi-accurate positional data for the keyfob on the iPhone.

    Thanks again!
    Xendren

    • I just received my TI mini dev kit after waiting 2 weeks for stock to be replenished, I guess they’re becoming quite popular after it was announced that the iPhone doesn’t require MFi for Bluetooth Smart peripherals. I’m not sure how accurate the Received signal strength indication (RSSI) is, but I’m very interested to find out as well since I’d like to use it for a certain application I have in mind. I haven’t had a chance to test out my TI dev kit yet, but I’ll be sure to post any information I find regarding RSSI measurements.

      I’d suggest posting a message to the Low Power RF & Wireless Connectivity forum, since you’ll be able to get answers from TI engineers, or others who are very familiar with the CC2540.

  3. Hi,
    does your screen on the iPhone 4S also look different than it does in the demo video from TI ?
    I am just curious, why they would change the input screen

    • Yes, my screen on the iPhone demo app looks different from the video. It’s the same as the image near the top of this blog post. Texas Instruments originally came out with the iPhone app that you see in the demo video, then updated it with accelerometer and buzzer functions, which is why the screen in the current demo app is different.

  4. Anybody got their hands on a Wilink 8 or the equivalent Broadcomm Dev Kit that has NFC and Bluetooth LE, and GPS and Wifi? Thats an interesting chipset!!

  5. We have just launched a project on Kickstarter for a BLE accessory that is compatible with the iPhone and new iPad. It is using the BLE112-A module from BlueGiga which features the TI CC2540 chipset. Our accessory is developer friendly and allows access to all 21 pins. If you are interested in a development platfrom for BLE, this is fairly low cost. Check it out here: http://www.kickstarter.com/projects/rowdyrobot/tod-connect-real-world-actions-to-mobile-devices-a

    Otherwise, I welcome any and all feedback and hope to continue to contribute to this community.

    Thanks!

  6. Does anyone know of a case where BLE was used as a serial cable replacement, much like SPP with classic BT? Even though the packet size is severely restricted, it seems like it could be done with some buffering of the data streams . Any thoughts?

    • Yeah, this is the big downside. BLE is an awesome new technology but it isn’t inherently much lower power than previous Bluetooth specs. It relies on the principle that very little data is transmitted.

      Unfortunately, any device that requires much data at all isn’t well suited to BLE. Furthermore, Apple’s MFI still limits innovation for tons of stuff. BLE won’t send a file to/from an iPhone for instance.

      Not to be all Negative Nancy, but this kind of crap makes me seriously consider an Andriod phone.

      I used to say Apple made Fisher Price toys for grown ups…sadly, it’s still kind of true.

      I think the only plausible solution to all this is Jailbreaking and running BTStack. But until that matches the native Bluetooth stack there’s a sad choice between excellent iPhone integration (A2DP, hands free, etc) or the ability to do what we want (home made RC car, Arduino serial, etc.) I long for the day I can listen to jams via Bluetooth on my car stereo while wirelessly controlling my door locks.

      At least Steve’s dead. Tim Cook seems to be a little more open minded. Let’s hope he doesn’t have a Jobs shrine in his basement like the rest of the Apple cult, otherwise we’ll be at the mercy of Steve’s ghost.

      /rant

      • That really doesn’t answer the original question. Your rant about steve being dead and whatnot seems troll-ish.

        To reiterate:
        If the packet size is reduced in BTLE, then instead of sending one 3 KB packet, can you send one hundred 30 byte packets?

        How is BTLE limited compared to older BT protocols?

        I don’t want to use the MFi program… we were about to buy a bunch of BT chips with authentication, but if we can use stuff from other vendors and not have to pay the Apple royalty, that would be a huge bonus for us.

        Also, if we use the BTLE, that means only the iPhone4S and iPhone5 and the next iPad will be able to work with it? Did they disable the Authentication needed to talk to older blue-tooth devices?

    • According to , “the latest beta release of BGScript supports cable replacement with BLE using two BLE112 modules or iPhone and BLE112″, which may be what you’re looking for. If it’s possible to do this with BGScript, I’m sure it can be done with the CC254x directly.

  7. Hi All,

    While developing several Bluetooth Smart devices we found the need for a good iOS App to test them. So we developed LightBlue and released it for free on the App Store. Here is a tutorial: http://blog.punchthrough.com/post/46285311872/testing-bluetooth-low-energy-devices

    If you’re developing for iOS, you’ll find this very handy! Adam, I thought you would want to know about this as well. Feel free to shoot me an email for more info, we’re constantly updating and adding new things.

    Cheers!

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s