Experimental BLE project showing how IO can be made with an App over BLE. Pointer to matching App will be added when ready, initially this works with: - Android App [nRF-Master Control Panel], supports Write,Read,Notify - Android Project [BluetoothLeGatt]

Dependencies:   BLE_API mbed nRF51822

You are viewing an older revision! See the latest version

FOTA Notes

Just a gathering of notes from my first FOTA test on an nRF51822-mkit, then an nRF51822-EK

A: Prep Platform for FOTA

  1. Download the FOTA initial hex file from "Default Bootloader" section of:
  2. Copy the hex file to the *normal* virtual USB drive of your FOTA platform
    • Connect Platform to computer, a virtual drive should appear with file "mbed.htm" (If anything else you are in the wrong mode)
    • When powering up the platform by connecting USB don't press reset or any other buttons
    • drag the hex file to the virtual USB drive
    • wait till the file is fully processed (drive disconnects, then reappears and file is gone
  3. disconnect the USB to powerdown the platform, then reconnect to powerup with FOTA
    • LED1 blinks with default app installed
    • Debug available on USB Serial "ping..." (TeraTerm 9600,8N1)
    • You may need to Press reset and/or restart TeraTerm depending on what else you do
  4. Use Android App "nRF UART 2.0"
    • Connect to [DefaultApp]
    • Confirm regular "ping" messages
  5. Check FOTA:
    • Start Android App "nRF Master Control Panel" (MCP)
    • Connect to device [DefaultApp]
    • There should be 5 services, including Device Firmware update service
      • If not then disconnect and reconnect to refresh the services list (May be caches from your previous tests)
  6. To restore non-FOTA operation and mbed virtual drive see "Firmware Update" section in

B. Compile sample project for FOTA Platform

  1. Get to your compiler: https://developer.mbed.org/users/yihui/code/BLE_Default_APP/
    • I had no issues with this today for mkit 2015Jan11
  2. Ensure FOTA Platform selected
    • i.e. for the mkit select "Nordic nRF51822 FOTA" (not "Nordic nRF51822 mkit")
  3. Modify the main.cpp so you are sure it is your file that is loaded
    • change line: DEBUG("ping\r\n");
    • to custom message : DEBUG("It Worked!\r\n");
  4. Compile, save hex file
    • FOTA Hex file should be about 55KB (Application only, no bootloader or softdevice)
    • (Normal mkit non-FOTA hex file should be >250KB)

C. Loading sample project using MCP

  1. copy hex file to Android device (Maybe to the folder "Download")
    • Options: Shared folder, copy over USB cable, email to phone, etc.
  2. Start MCP
  3. Connect to [DefaultApp]
  4. Click [DFU] Button, Follow prompts to select Application hex file
    • At this time use "No" for "Init Packet" (Future Feature?)
  5. Allow bootloader to process file
    • New project should run automatically after completed

D. Check loaded sample project

  1. Use Android App "nRF UART 2.0"
    • Connect to [DefaultApp] (Or whatever you modified it to)
    • Confirm that your modified message is received
  2. Use MCP to connect
    • In MCP it may be necessary to disconnect/reconnect to refresh the services for new Project on mkit

. ======================================================================================

E. FOTA on an nRF51822-EK (Not an mbed platform, but can do mbed using FOTA)

  1. Start nRFgo Studio on PC
  2. Select the nRF51822-EK
  3. Do [Erase All]
  4. Select Tab [Program Application]
  5. Select the FOTA Initial hex file for the Platform
  6. Program then Verify the application
  7. Disconnect the USB from the nRF51822-EK
  8. Powerup the nRF51822-EK with Battery or USB
  9. Continue from Step A5 to B,C,D
    • Serial Debug over BLE works using App nRF UART 2.0
    • LEDs and Buttons may need IO redefinitions

. ======================================================================================


All wikipages