Loading a Firmware Image

To download a firmware image to your Milli device:

  1. Download the firmware image you want to load from the Document Center
    • In the Document Center, Select the Industry/Area of Interest dropdown menu, and select IoT. 
    • Select Firmware and Configuration
    • Select Milli
    • Select Firmware Images
    • The latest firmware image displays. Click the download arrow to download the firmware image file. For example, a .bin file with a name such as milli.sfl.prod_sig.01.01.1008.128111.bin is available for download. If there are multiple files, choose the most recent, or the one that applies to the country in which you are going to operate the Milli Shield. See the end of this page for more information about selecting files. 
  2. Download the sio_load.exe file.
    • This is a Windows based application. 
  3. Copy the downloaded firmware image file and sio_load.exe to a well-known location on your Windows machine.

  4. Download and install the Tera Term application (or similar) from here

  5. If you have not already, return to steps 1 and 2 of the Milli Setup Checklist to connect and power up the Millishield.

  6. Once you have both the 3-pin USB/TTL console cable and the Micro USB cable connected to your computer or a power supply, initiate Windows Device Manager on your computer.

  7. Determine which serial port of your computer is connecting to the Millishield through the 3-pin USB/TTL consol cable by looking at the current list of  of COM ports.

  8. Open a Windows Command session. 

  9. Enter the  CD Downloads command to change the command line path to the folder where you stored the firmware image. Once your command line is pointing to the Downloads folder, enter the following command: 

dir milli.s*

A list of the Milli firmware in that folder displays.

  1. At the command line prompt, type in the following command, inserting the COM port identified in step 7 and the name of the firmware image .bin file downloaded in step 1:

sio_load.exe -i <COM port to which the Milli Shield is connected> -f -3 <milli_image_filename.bin>


If you select the wrong port, you will receive an error from sio_load that states "cannot get the attention of the MNIC". 


  1. Upon successfully running sio.load.exe, a “Reset mNIC now…” instruction displays. This instruction is asking you to reset the Milli. Push the SW1 blue reset button on the Milli to start the firmware update. The firmware image will be written to the Milli module. Refer to the following image as an example:



  1. Start the Tera Term application. When Tera Term opens, select the Serial radio button.
  2. Click the Port drop down menu to select the COM port where the 3-pin USB/TTL console is plugged into the computer. The computer will receive Millishield input from this COM port.


  1. Click OK and Tera Term will advance to a screen offering a Setup menu.


  1. From the Setup dropdown menu, select Serial Port and fill in the values as shown below, including baud rate 115200. The Port field displays the Port where the 3-pin USB/TTL console cable is plugged into the computer.​




  1. Click OK to save.   

  2. Press the reset button on the Milli board. The startup text should display a response similar to the following image:


In this screenshot, "1.2.0000" is the firmware version and "111433" is the firmware build number.


  1. Once you have completed the steps above, there will be three firmware images on your Millishield.
    • Hardware test image – starts with 8 (ex. 81.04.000)
    • Production image – does not have the 8 (ex. 1.04.0000)
    • Self test image – starts with c (ex.c1.04.000)
  2. To view the images on the device, type: fw images and press the Return key.


  1. To set the firmware production image, as the firmware image to run when the Millishield boots, enter "atb <firmware version number>"  where the command includes the version number of the production image.
    Note: For example "atb 1.2.0000" as shown below. 
  2. Press Return. The response should be as follows:



  1. After the atb has successfully run, press the Reset button on the Milli board again. It should come back up running the standard operating production firmware image similar to what is shown below (where the last line indicates the designated BOOT firmware version number). 

All system variables set prior to the image upgrade should still be applicable.



  1.  A successful boot will return “BOOT 01021000” as shown in the screen capture here.


For Singapore and European countries 

You must use firmware version 1.2.1000 build 117958 or later. 

  • There were changes made to the default CoAP URI strings for the Milli and for the CoAP server on the connected sensor micro controller. When accessing Milli CoAP resources the URI was changed from "/system" in older versions to "/sys" in newer versions.
  • Similarly the URI proxied from CoAP clients to the sensor controller CoAP server resources were changed as well. In older versions the default URI prefix of "/sensor" was used to indicate resource should be proxied to the sensor CoAP server. 
  • In newer firmware versions the default prefix was changed to "/snsr". This prefix is stripped from the Uri-path and the remainder of the URI is used to access the sensor CoAP server resources.
  • Version 1.2.1000 build 117958 and later changes "sensor"->"snsr" and "system"->"sys"
    • Milli CoAP URI defaults:
      • /sys
      • /sys/stats?pwr
      • /sys/cfg?pwr
    • Device (aka sensor) URI defaults
      • /snsr
      • e.g. /snsr/.well-known/core to query the sensor CoAP server for available resources
  • Version 1.2.1000 build 112738 and earlier uses the following default CoAP URIs
    • Milli CoAP URI defaults 
      • /system
      • /system/stats?pwr
      • /system/cfg?pwr
    • Device (aka sensor) URI default prefix
      • /sensor
      • e.g. /sensor/.well-known/core to query the sensor CoAP server for available resources


Next Steps

Setup the Milli Dev Kit Reference Application.