Hardwired personalization of the Milli when integrated on device. Useful for setting country, network, and performance profile of the Milli during manufacturing or prior to deployment.
This page is intended for configuring Milli modules with personalization settings (also known as profiles) when integrating them into end devices. The Milli modules are shipped in a generic, non-customized state. When placed in a partner device, they need to be configured for the proper RF band (country), network, and with an application specific performance profile. This document describes how to perform this customization/personalization using the Milli hardware test image. It is written as if there will be human interaction and input, however the process can be automated for manufacturing and assembly if desired.
- Milli integrated into end device or as part of the Milli Dev Kit.
- Milli debug port pins are exposed with a header and can be connected Serial cable such as TTL-232R-RPi
- Milli reset pin 53 is exposed and can be pulled low (to ground). Alternately re-power the Milli unit to reset.
- Milli personalization profile settings for your application. These can be obtained from the links on this page and can also be found in Document Center on the Developer Portal under “Personalization Tools and Profiles.” There are currently profiles for development with "aggressive" settings as well as profiles for production settings where long battery life is required. In addition there are separate profiles for the recommended MQTT implementation for persistent observe type data (i.e. end point generated "bubble-up" messages) as well as alternates with settings for solutions where CoAP Observe is implented in the application layer (not recommended). For the aggressive settings there are different profiles for Europe (EU) than for the rest of the world. The profiles are provided below.
MQTT Personalization Profiles (Recommended)
- Leaf Node Aggressive (Dev Kit) MQTT Ref App EU - recommended configuration for developer kits with more aggressive discovery and listening cycles for supported countries in Europe.
- Leaf Node Aggressive (Dev Kit) MQTT Ref App - recommended configuration for developer kits with more aggressive discovery and listening cycles for all countries besides Europe.
- Leaf Node Long Battery Life MQTT Ref App Development - recommended discovery and listening cycles for long (5-20) battery life slightly modified to work when developing on corporate and home networks where firewall UDP timeouts are in effect. UDP timeouts are the norm for most corporate network firewalls as well as many ISP internet providers. Use this configuration on the Itron Starfish Stage network with your Milli device connecting to an IoT Router WAN mode. This will result in slightly higher average power consumption than the production settings.
- Leaf Node Long Battery Life MQTT Ref App - recommended discovery and listening cycles for long (5-20) battery life for production settings.
CoAP Observe Personalization Profiles
- Leaf Node Aggressive (Dev Kit) CoAP EU - alternate CoAP observe configuration for developer kits with more aggressive discovery and listening cycles for supported countries in Europe.
- Leaf Node Aggressive (Dev Kit) CoAP - alternate CoAP observe configuration for developer kits with more aggressive discovery and listening cycles for all countries besides Europe.
- Leaf Node Long Battery Life CoAP - alternate discovery and listening cycles for long (5-20) battery life for production settings using CoAP Observe.
The following tools are needed to perform the personalization configuration:
- Computer with Windows operating system and serial port.
- Download and install the Tera Term application from here.
- Download the sio_load.exe executable from the Developer Portal here.
- Serial cable such as TTL-232R-RPi.
- Wire to connect reset pin 53 to ground or mechanism to pull it low if power can’t be cycled.
- If updating Milli Dev Kit, one or more Arduino boards to power up each Milli under test.
The following are the steps required to begin configuring the Milli module:
- Attach 3-pin serial cable as follows (see datasheet for pin layout):
- GPIO_26_ADC4 - pin14 (RX)
- GPIO_27_ADC5 - pin18 (TX)
- Any ground pin
- Connect the serial port to the laptop
- Expose the reset pin (Milli pin 53, RSET_N) so that the Milli unit can be restarted. The unit can also be restarted by powering it off and then back on (e.g. pull the battery).
- Using a tool such as TeraTerm, connect to the COM port represented by the 3 pin serial connector
Set the Operational Mode of the Milli Module
- Apply power to the Milli module.
- Open Tera Term. Select the Serial radio button from the startup page.
- Select the COM port to the module.
- Use the Device Manager on your computer to determine the serial port on which the Milli is connected.
- Next, click Settings/Serial Port. Change the rate to 115200 and click OK.
- Open a Windows Command session.
- All personalization steps will be run against the hardware test image. To ensure that this is the currently operating image, apply power to the Milli module, and run the sio_load application to change the boot image to the hardware test image with command syntax is as follows:
sio_load.exe –i <COM port> -b – 1
- You will be prompted to reset the Milli. This allows the bootloader to receive the upload request. This is done by triggering pin 53 low or re-powering the Milli. If you are working with the Milli on a Dev Kit, click the Blue reset button on the Milli shield.
- An example execution is shown here:
- You will want to confirm Milli is in the hardware test mode. To do so reset the Milli by triggering pin 53 low or re-powering the Milli. If you are working with the Milli on a Dev Kit, click the Blue reset button on the Milli shield.
- The boot should look like this screenshot with mNIC Hardware Tester, 81.4.0001.123022. The leading 8 in the firmware is for the hardware test image and the rest is the firmware version (E.G. 1.4.0001) and build (E.G. 123022).
- Get the proper personalization profile settings for your application from the additional resources section on this page. The profiles are described in further detail in Requirements section above. These examples set the country code to USA (ISO 3 digit code = 840 = 0x48:0x03) and network ID to the Starfish Stage network (1711 = 0xaf:0x06) used by the Developer Program. Modify them for your country code and network ID before using them.
- In Tera Term configured as described above, select menu item Edit->Paste<CR> then paste or type the personalization profile setting commands into the Tera Term clipboard window. Each command should be of the form.
atsysvar <ID> <# bytes>=<value in Hex>
<ID> is the system variable (aka sysvar) number
<# bytes> is the number of bytes of data
<value in Hex> is the value in Hex (LSB first)
Or of the following form which resets the sysvar specified to its default value.
atsysvar <ID> ~
Note: (EU only) atsysvar 27 4=0x00:0x00:0x05:0x00
- The settings from the clipboard are sent to the hardware test image. The firmware should respond with “OK” for each command processed.
- When the configuration commands are finished change the boot image to the final desired image.
- There are three images installed on the milli (HWTEST, PROD, and SELFTEST). If Milli configuration personalization is required, you may wish to leave the device in hardware test (HWTEST) mode. You may wish to leave it in self test (SELFTEST) mode for additional testing. You may wish to place the unit in production (PROD) or standard operational mode because you’re finished with personalization.
- To view the images on the device, open Tera Term and set it up as described above. Then open a Windows Command prompt, type: fw images and press Return. Note that in the example below, 1.2.1000 is the standard operating production image, and 111433 is the build number.
Note: There will be three images on the board. The image numbers are as follows:
- Hardware test image (HWTEST) - Typically used when configuring or changing the personalization profile. This image name will start with an 8 followed by version and build number (e.g. 81.2.0000.111433 where version is 1.2.0000 and build number is 111433.
- Standard operating image (PROD) - Sometimes referred to as the production image, or PROD, is the image that should be running in normal operational mode connected to a network. This image name be of the form version followed by build number (e.g. 1.2.0000.11433 where version is 1.2.0000 and build number is 111433.
- Self-test image (SELFTEST) - Typically used to run a self-test of the Milli module. This image name will start with a letter “c” followed by version and build number (e.g. c1.24.0000.11433 where version is 1.2.0000 and build number is 111433.
- To change to the running firmware image run the following command
sio_load.exe –i <COM port> -b -<image number>
where <image number> is 1, 2 or 3 as described above.
- An example of setting the Milli to run the HWTEST test image is shown below.