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:
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).
Since there is a header soldered on the bottom side of the board, it fits directly on the BLE112 or BLE113 development board.
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:
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.
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:
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.
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.
Thanks for reading,