DKBLE11x-OTA-AddOn-Module-0_1

Bluegiga BLE11x OTA experiences

Hello everyone,

since Bluegiga added the possibility to upgrade the BLE11x modules firmware over the air (OTA) in v1.2 of their SDK I spend some time to test this features on the BLE112 and BLE113 Eval boards successfully.

In order to prepare the setup I ordered some of the necessary SPI Flash Chips from Digikey with part number “W25X20CLSNIG-ND” in 8SOIC package. I used the schematic as illustrated in figure 6 of the Application Note “Implementing Over-the-Air Firmware Upgrade” as shown below:

Screen Shot 2014-01-10 at 22.28.52

 

I soldered a simple add on board as shown in the following illustration (I know the board was a waste, but I had no other prototyping boards around).

Screen Shot 2014-01-10 at 22.33.25

 

Since there is a header soldered on the bottom side of the board, it fits directly on the BLE112 or BLE113 development board.

Screen Shot 2014-01-10 at 22.38.28

I now simply followed the description of the application not on how to proceed to test the OTA feature. Opened the BLEGUI app, set the parameters and started to scan for the BLE development board where I installed the OTA firmware:

Screen Shot 2014-01-10 at 22.55.11

 

Connect to the development board, show the GATT and discover services. Then select the menu Command and select DFU. Select the tab Over the Air update and don’t miss to check the handle numbers of your Development board. The Application not mentiones handles 15 and 18, but on my installation it was 25 and 27.

Screen Shot 2014-01-10 at 22.59.53

 

Then browse for the firmware to flash and hit upload. You will see the progress of transferring the hex file in the dialog as illustrated below:

Screen Shot 2014-01-10 at 23.05.43

 

Don’t expect wonders now…. I stopped the the elapsing time on my iPhone and by getting roughly a throughput of 1kB/s it took me about 2 minutes to flash the firmware using a BLED112 attached to my windows machine. I checked both the BLE112 and the BLE113 development boards with the OTA firmware which works fine and took the same amount of time to finish.

Since I don’t really like the prototype board I created, I designed an AddOn board for the eval board as shown in the image below. I ordered the board at OSHPark which will be delivered in a few days hopefully. I’ll keep you posted on the progress of this AddOn board and will make it available for sale if people are interested.

DKBLE11x-OTA-AddOn-Module-0_1

DKBLE11x-OTA-AddOn-Module-0_1

Since the hardware setup and the OTA procedure was now successfully tested on the desktop it will be the next step to implement this feature into BLExplr on which I started to work now. I would be nice to send a hex file as E-Mail attachment to an iPhone which runs BLExplr and open the hex file in it and store it in the Documents/ directory of the App. The user should be able to pick a hex file from this directory to upload it to a peripheral supporting the OTA feature. I have some ideas howI will implement it and write another blog post about it once finished.

Stay tuned!

Thanks for reading,

Michael.

 

3 Responses to Bluegiga BLE11x OTA experiences

  1. Rahul Mitra March 29, 2014 at 03:10 #

    Hi Michael,

    I am an avid Bluegiga fan, and I think this is wonderful work. I look forward to seeing OTA updates integrated easily into BLExplr

  2. Suresh Joshi March 9, 2015 at 05:11 #

    Hey Michael, try using firmware=”false” in the .bgproj for the ota tag. It leaves out the BLE SDK updates (not needed unless you’re changing SDKs). It lowers a typical flash file to maybe 4-8kB instead of 80kB!

    I’m discussing it here:
    sureshjoshi.com/embedded/ble113-ota-over-the-air-programming

Trackbacks/Pingbacks

  1. BLE113 OTA (over-the-air) programming - Suresh's Site - March 9, 2015

    […] I’m not going to go into detail on how to upload your firmware from BLEGUI, as BlueGiga (or, I guess kinda Silicon Labs now) has gone into depth on that. However, if you still need a primer, check out Dr Kroll’s website. […]

Leave a Reply

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

Powered by WordPress. Designed by WooThemes