Bluetooth Low Energy (BLE) Arduino Shield Eagle and Firmware (v0.9.2) files Open Sourced!

After some time I finally managed to look at license types, and I’ve chosen the same licenses as the Arduino boards are licensed.

The Eagle files (Board and Schematic) are licensed under the Attribution-ShareAlike License 3.0 and the firmware under LGPL.

Please modify the PCB and the firmware as you like and please share your ideas, changes and additions here on my blog. I hope to give you all who demanded the sources and PCB files a better insight of what is happening in the firmware of the shield and show you that it is not a kind of rocket science behind it. Since there is some space left on the BLE112 module to extend the functionality of the BLE-Shield firmware, I’d love to get some comments on the currently implemented functionality and how I can possibly change the firmware to make it even better. Furthermore the BLE-Shield could be extended as well. Please let me know what you think!

Eagle Board and Schematic Files

BlueGiga BLE112 Firmware Project


The BlueGiga BLE112 module firmware was compiled against “Bluetooth Smart Software Development Kit 1.0.3 Build 43”.

15 Responses to Bluetooth Low Energy (BLE) Arduino Shield Eagle and Firmware (v0.9.2) files Open Sourced!

  1. Brent June 18, 2012 at 23:03 #

    Michael, I absolutely love the idea of creating BLE sensor modules! The things we can do with smartphones gets crazier every year… but I do have a few questions regarding this new BLE technology interacting with smartphones.

    1) If I walk into proximity of a BLE module can it launch my smartphone app (App designed specifically for those BLE modules) without having my bluetooth setting set to “always on” on my smartphone. In other words, while in proximity of the BLE module, can I wake up my app and turn bluetooth on and then have it turn back off when out of range? Or maybe I should just have my app running in the background periodically turn on bluetooth and check for BLE modules and then turn back off only to repeat this process say one minute later?

    I know this isn’t possible with previous versions of bluetooth but now I understand BLE is different.

    2) how many smartphone apps could connect to one BLE module?

    Any response to these questions would be great! I’m really interested in this technology and already ordered a few Tod modules and can’t wait to order a few BLE Arduino Shields. Thanks for your help. My email is

    • Michael Kroll June 24, 2012 at 18:27 #

      Hello Brent,

      sorry for the late reply.
      Reply to 1)
      I think Bluetooth has to be switched on in the devices settings already. You can’t switch on bluetooth from the app and switch if off after a given time. There is no discovery or paring for BLE devices in the settings app, but the on/off switch is for classic bluetooth and ble as well.
      There is a delegate method:

      – (void)centralManagerDidUpdateState:(CBCentralManager *)central;

      Where you will get a notification when the state changes, but you can’t set this state from your app.

      Reply to 2)
      As I know, there can only be one connection to a BLE peripheral at the same time.

      Thanks very much for your interest in the Tod modules and the BLE Shield as well. Yesterday I just ordered 10 more prototype PCBs before I will do a production run in order to get more feedback on the hard- and firmware of the shield.
      So please stay tuned concerning the BLE Shield. I want them kind of waterproof before I order hundreds of them 😉


  2. Patrick June 25, 2012 at 09:22 #

    That is exactly what I need. 🙂
    But I don’t have an iPhone4S – Is there a way to connect two Shields or BLE112 as a serial bridge or to connect the Shield with the PC via the BLE112-USB-Dongle?

    • Michael Kroll June 25, 2012 at 11:28 #

      Hello Patrick,
      without changing the firmware of the BLE Shield you cannot connect two shields since they are both servers. The latter way is possile. you can connect to a BLE Shield using a USB dongle such as the BLED112.


  3. Carlos June 26, 2012 at 02:19 #

    Hello Michael,

    I am looking for the arduino libraries to drive the bluegiga BLE112. I encluntered your article here

    where you show arduino code that uses the functions bleShield.write() and bleShield,read().

    Where is the arduino library that contains those functions ?

    Thank You

    Carlos Mastrangelo
    University of Utah

    • Takeuchi September 23, 2012 at 20:31 #

      I tried to program my Arduino Fio welriss using Xbee Pro S1. But every time I tried to upload the sketch wireless to my Arduino Fio, I always encounter this message: avedude: stk500getsync(): not in sync: resp=0 00 avrdude: stk500disable(): protocol error, expect=0 14, resp=0 51Do you know what went wrong? =)

  4. Carlo July 8, 2012 at 04:30 #

    Hi Michael,

    I got a BLE112 module and wonder how I can flash it with your firmware without using CC Debug. I hooked it up with a prototype shield now, but later I’ll get a real shield from you.

    Appreciate it.


    • Michael Kroll July 8, 2012 at 08:10 #

      Hi Carlo,
      I have no idea if this is or will be possible.
      From my side I rely on the CC Debugger and focus on the firmware not on a replacement for the CC Debugger.
      In order to flash it, you need to get a CC dDebugger from TI.


  5. Jonathan Rosen July 11, 2012 at 05:36 #

    Hello Dr. Kroll. Would it be possible to get one of your prototype shields? Let me know what they cost.



    P.S. I am in the U.S., but am willing to pay for shipping.

  6. Carlo July 23, 2012 at 03:40 #

    Hi Dr. Kroll,

    I’ve flashed my BLE112 chip with your firmware but couldn’t see it on my iPad 3 (which supports Bluetooth 4.0) Am I missing anything?

    Any help is appreciated!


  7. John Bailey August 29, 2012 at 02:47 #

    Do you have any of the Bluetooth LE shields available for purchase? If not, do you know when you will?

    • Michael Kroll August 29, 2012 at 13:41 #

      Hi, I’m currently preparing a Kickstarter Project for the BLE Shield.
      Hope to get it setup by this weekend.

  8. Ato October 18, 2012 at 15:49 #

    Hi Dr. Kroll,

    I use BLE Shield v0.9 with Arduino UNO and it works with example Arduino Code and BLExplr App.
    But now after I flashed new code to Arduino the LED on BLE Shield lights forever and I can’t reset this. BLExplr can’t scan BLE Shield too.
    Can you help me to fix this? Thanks

    • Michael Kroll October 18, 2012 at 21:02 #

      it seems that ther is now something wrong. If the blue led is on the firmware is not flashed correctly.
      Can you try to flash again?
      Send me an email and I can sedn you firmware 1.0



  1. URL - September 23, 2012

    … [Trackback]…

    […] Read More: […]…

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Powered by WordPress. Designed by WooThemes