Remote Sensor Firmware Upgrade Notes (9/27/2025)

IMPORTANT NOTES: 

1) Additional sensor configurations, like those provided with sensor_v01.25_UPDATE.txt described below, are only supported by the original locally installed IOLab software application (i.e. not by the new web-based IOLab application). Firmware versions that don’t change the number of fixed configurations, like sensor_v01.10_UPDATE_8g_v2.txt below, should work with the new web based application. 

2) You should not attempt to reprogram your sensor microcontroller unless the factory firmware version it came with is v01.10. You can check the firmware versions running in your remote in the application by clicking on the word IOLab in the dark band the top left, or by clicking on the IOLab tab and selecting "about IOLab". In the window that pops up you will see something like sensorFwVersion: 272 (0x110). If your sensor firmware version is not 0x110 please don't try to reprogram it. 

sensorFwVersion: 293 (0x125)

Firmware files: 

sensor_v01.10_UPDATE.txt
This is the default manufacturing file that most of your devices will already be programmed with.

sensor_v01.10_UPDATE_8g_v2.txt
This is identical to the default manufacturing file except the accelerometer is set to a maximum range of +/- 8g rather that +/- 4g. If you update to this firmware you will need to re-calibrate your accelerometer, but you DON'T need to make any changes to the config.json file.

sensor_v01.25_UPDATE.txt
This has additional sensor configurations with higher analog sensor sampling rates as described below. This does NOT change the accelerometer range. 

Firmware Version 0x125 has the following new fixed configurations (see also new FixedSensorConfig.xlsx):
- Readout of A7 at 4800 Hz (fixed config 21)
- Readout of A7 and A8 at 2400 Hz (fixed config 20)
- Readout of A7 and A8 and A9 at 800 Hz (fixed config 19)

PROGRAMMING PROCEDURE:

1) Use a Windows based PC.
2) Plug the IOLab dongle into a USB port and turn on the IOLab remote. The battery voltage should be at least 3.0 V.
2) Double click on UpgradeUtility.exe to run the application. 
3) Select the center radio button to the right of the word "Sensor".
4) Click on the "Open" button underneath the drop-down that shows which COM port is being used.
5) Using the "Upgrade Path" dialog, navigate to the firmware file you want to use (for example "sensor_v01.25_UPDATE.txt")
6) Click on "Start Upgrade". The process will take about 10 minutes.
7) After the upgrade is finished, remove the batteries from the IOLab for a few seconds and then put them back in. This will make sure the microcontroller reboots.
8) Check the firmware version and you will see the number updated to reflect the version you just installed, for example sensorFwVersion: 293 (0x125).

USING THE NEW HIGH-SPEED CONFIGURATIONS
1) On the computer you are running the IOLab software on (Windows or Mac), place the included "config.json" into the top level of your IOLab-Workfiles folder**. This is usually located in your Documents folder. (In order for your application to utilize these new configurations you should be using IOLab application version 1.72.1546 or later.)
2) Click on the Settings icon (the gear to the right of the cloud) and select "Expert Mode" then "Fixed configuration". A new drop-down menu will appear at the top of the list of sensors on the left side of the screen. This will allow you to select any specific fixed configuration, including the new ones which are numbers 19, 20, and 21 (if using v01.25).

**If you already have a "local" config.json file in your IOLab-Workfiles folder (for example, to set the inactivity power off delay to some something besides 300 seconds), then you should merge these files.  

Note: The JTAG folder contains information for those that have an MSP430 USP Debug Interface Programmer and want to upgrade the firmware by plugging a cable between this and the JTAG connector on the PCB inside the remote. This is much faster than the regular OTA (over the air) programming but will apply to almost no one since you need the additional hardware.


