Application firmware

The Application firmware is the code that makes the actual Pebble Tracker Application, taking care of collecting the sensors data, building the signed data message and sending it to an IoT backend using the MQTT messaging protocol over cellular LTE.

Prerequisites

We assume you already cloned the Pebble Firmware repository, and installed the Nordic nRF Connect tool for your system. If you have not done so yet, follow the instructions for your system below:

Install nRF Connect & Programmer

  1. Open a command prompt and clone pebble Firmware repository:

cd %userprofile%
git clone https://github.com/iotexproject/pebble-firmware.git

Install and launch the Programmer App

You will need to install a custom Programmer app for nrf-Connect, that is included in the pebble-firmware repository.

  • Locate the following archive in the pebble firmware folder: pebble-firmware/pc-nrfconnect-programmer-1.4.2.tgz

  • Extract the content of the archive in the nRF Connect apps folder:

In Windows, extract in the following path:

%userprofile%/.nrfconnect-apps/local/

Launch the nRF Connect tool, scroll down to the Programmer app and open it:

Connect Pebble to your computer using the USB cable, and follow the instructions in following two sections to flash the Pebble Application Firmware or the Pebble Modem Firmware respectively.

Flash the Pebble Application Firmware.

  1. Select the firmware hex file you want to flash (if you built a new firmware, find the zephyr/app_signed.hex file in the build folder)

  2. Select your device from the devices combo box in the programmer window

  3. Put Pebble in MCUboot mode (see the section below) and click the Write button

The flashing process will last about 60 seconds: the red led on the boards will blink during the whole process. Eventually, Pebble will reboot automatically and the new firmware will be loaded.

Flash the Pebble Modem Firmware

Please notice that updating the modem firmware will also erase the Pebble Application Firmware: you will need to flash the application firmware again.

  1. Download the nRF9160 modem firmware binary from Nordic: please notice that the officially supported version is v1.2.0

  2. Select your device from the devices combo box in the programmer window ( make sure your device is connected with the IoTeX programmer properly, as indicated by the green solid dot next to the devices combobox)

  3. Enter the MCUboot mode for your Pebble (see the section below) and click the Update Modem button

  4. Select the modem firmware binary file mfw_nrf9160_1.2.0.zip you just downloaded and click Open to start the modem update process.

The flashing process will last about 2 minutes: the red led on the board will blink during the whole process.

Put Pebble in MCUboot mode

You can flash a new firmware to a Pebble through the USB port by putting the board in MCUboot mode: in this mode Pebble will start the MCUboot secure bootloader instead of the main application firmware, that will allow to receive a new firmware through the USB cable.

Follow the instruction below to enable MCUboot on Pebble (please refer to the hardware setup guide to locate the buttons on the board):

  1. On Pebble, press and keep pressed the Power Button

  2. While the Power Button is pressed, press and release the Reset Button

  3. The blue led will turn on: keep the Power Button pressed until the led turns off (~5s)

The MCUBoot mode is now enabled and you can release the Power button:

the device will stay in MCUboot mode for about 20 seconds, if during this period the firmware flashing process does not start Pebble will reboot automatically in normal operation mode.

Last updated