Firmware

Introduction

Here you will find all firmware information for the following devices:

For compatibility with the Enterprise series all devices must be updated to firmware v2.0.
Using the Device configurator, the devices can be configured to work with the Enterprise system.

Please download the latest firmware here:

Download firmware v2.0

Update instructions

Windows using DFU tool

Updating the firmware with ST's DFU Tool is a relatively easy process which only requires a few steps. The tool requires Windows 10 or earlier versions. For a full technical description of the tool we refer to this application note from ST.

  1. Download and install the DFU tool.
  2. Latest firmware download-link can be found on your order page, a notification e-mail will be send.
  3. Download the latest firmware version (.dfu file). You can download the latest version here.
  4. Open the DFU tool called "DfuSe Demo".
  5. Remove the jumper from the BOOT0 pin on the pozyx device and insert the USB to your computer. After the driver has automatically installed, "STM device in DFU mode" should become visible under Available DFU devices.
  6. Under "Upgrade or Verify action", click on choose and select the .dfu file.
  7. Make sure targetid is set to: 00 - Internal Flash.
  8. Click on Upgrade to upload the new firmware version.
  9. Place the jumper on the BOOT0 pins again to use the Pozyx device.
MacOS and Linux using DFU-util
Updating using dfu-util is a very good choice if you're comfortable with the command line.
  1. MacOS: Install dfu-util using Homebrew or from source.
  2. Linux: Install dfu-util from your distro's package manager.
  3. Remove the jumper from the BOOT0 pin on the Pozyx device and insert the USB to your computer.
  4. Have the latest firmware version (.dfu file) ready.
  5. It's important to only have a single device in DFU mode attached, then the -D parameter will automatically use that device and you won't have to find vendor ID and product ID.x. Don't forget to undo the jumper on the Pozyx devices like you would following the Windows instructions!
  6. Update the device's firmware by running: dfu-util -a 0 -D /path/to/dfuse-image.dfu
    Example: dfu-util -a 0 -D /home/john/Downloads/pozyx_firmware_v1.3.dfu
  7. If you encounter the following error: dfu-util: ERASE_PAGE not correctly executed, please execute the following command:
    dfu-util -a 0 -D /path/to/firmware_v1.3.dfu -s :unprotect:force
    Then re-execute the firmware update command: dfu-util -a 0 -D /path/to/firmware_v1.3.dfu
  8. Remove the Pozyx device and place the jumper on the BOOT0 pins again to use the Pozyx device.

Changelogs

Change log v2.0

June 05, 2019

From this version onwards, the firmware is compatible with Aloha TDOA positioning for the Enterprise system. The firmware remains backwards-compatible with v1.3.

  • Added Aloha functionality
    • Added a new operation mode for Aloha to the register POZYX_OPERATION_MODE.
    • new POZYX_BLINK_INDEX register containing the incrementing blink index.
    • new POZYX_CONFIG_BLINK_PAYLOAD register to configure which sensordata is embedded in the blink transmission.
    • new POZYX_POS_VARIATION register to configure the randomness of Aloha blinks.
    • Modified POZYX_DEVICE_GETRANGEINFO register
    • Modified POZYX_TX_SEND register
  • Fix being able to set positioning algorithm to None.
  • When i2c transaction fails for BNO055 we reset the I2C.
Change log v1.3

April 23, 2018

In this update, the firmware has been adjusted to be compatible with the cloud-based companion software.

Change log v1.2

Nov 19, 2017

In this update, the firmware has been adjusted to be compatible with the alpha version of the cloud-based companion software.

Change log v1.1

April 19, 2017

The focus of this new update has been the improvement of the positioning accuracy, the smoothness of positioning and yet another improvement in update rate. The Arduino and Python library has also been updated and new sketches have been added to showcase the new features. An overview of all the new firmware features is listed below:

  • Positioning update rate up to 140Hz depending on the UWB settings.

  • Increased update rate for ranging up to 350Hz.

  • The TRACKING algorithm is available in POZYX_POS_ALG for tracking (fast) moving objects.

  • Updated and finetuning of the positioning algorithms.

  • Added the register POZYX_RANGE_PROTOCOL to select between the PRECISION and FAST protocol.

  • Added the register POZYX_POS_FILTER to tune filters for smoothing the positioning data.

  • Added the register POZYX_MAX_LIN_ACC which can be used to detect a device falling down.

  • Removed the LEAST_SQUARES algorithm.

  • Bugfixes and improved overall stability.

  • UWB_GAIN can now be saved correctly to flash memory.

  • Fixed crash when positioning on multipe UWB channels at the same time.

In conjunction with this firmware update, we have added a system performance section to the datasheet that provides detailed technical data and benchmarks for the positioning accuracy, the update rate, and the positioning delays for the system.

Finally, the Python library documentation is added to the website.

Change log v1.0

Feb 22, 2016

This is the first major update since the release of the Creator kit and it contains a large number of new features and fixes. The Arduino library has also been updated and new sketches have been added to showcase the new features. An overview of all the new firmware features is listed below:

  • Update rate up to 100Hz depending on the UWB settings.

  • USB interface (virtual COM port).

  • Ability to save the configuration to non-volatile memory.

  • Revised interrupt configuration to allow compatibility with more Arduino models such as the Arduino Yùn.

  • Added message re-transmission protocol to increase UWB reliability.

  • Improved overall stability.

  • Various bug fixes

    • UWB preamble length 64 available.
    • UWB channel 7 available.
    • Arduino does not reset together with the Pozyx reset.
    • Temperature register now reads chip temperature.
    • More stable polling.
    • New register addresses for the GPIO configuration
    • ...
Change log v0.9

18 Jan 2016

Initial release of the firmware.