Firmware Release Notes

  1. Home
  2. Docs
  3. Firmware Release Notes
  4. V0.2.0


This was a big release with lots of updates and improvements including a major update to Hexabitz backend! Check out the following Wiki articles for more details: Communication Backend, Array Messaging, EEPROM Emulation.

New Modules

  • H26R00: Load cell (strain gauge) sensor module.
  • H07R31: A new hardware revision of H07R30 module that introduces bigger MCU Flash and improved audio path. It is available as a second target on H07R3x firmware project.
  • H0FR10: SPDT mechanical DC relay module. It is available as a second target on H0FR6x firmware project.
  • P01R00: This module used to have its own repository. Starting this release, it will bundled with H01R0x firmware as a second target.
  • P08R60: Time-of-flight IR sensor module. It is available as a second target on H08R6x firmware project.

New Features

  • The BOS backend is completely revamped with an improved messaging scheme, circular receive buffers and improved DMA hendeling. BOS messages are now transmitted as a single packet (including the length byte) and terminated with actual CRC8 byte instead of 0x75. Message start is marked with two delimiters-the characters ‘H’ and ‘Z’. The circular buffers are able to receive multiple messages on multiple ports at the same time and queue them for processing.
  • Adding a Backend Task to handle parsing and processing of circular buffers and activate the appropriate Messaging Task.
  • Separating Option bits from message codes in the message frame leaving 16 bits for message codes. Message codes can be transmitted in either one- or two-byte format.
  • Adding an Option Byte with bits controlling Message Trace and Response as well as indicating long messages. The Option Byte can be extended as well for future applications. 
  • Adding ReadRemoteParam API to read module parameters remotely by giving the textual parameter name in message parameters.
  • Adding BOS port-forward message to remotely forward data to a specific port.
  • Adding “play tune” message to H07R3.
  • Adding port bridge/unbridge functionality to the BOS (APIs + CLI commands). You easily can bridge any two array ports and they will transfer data between each other seamlessly. The bridge will be stored in the emulated EEPROM as well.
  • In USB-UART converter modules (H1AR1, H1AR2, H1AR3), the USB port is automatically bridged to its opposite module port on startup. Thus, you can use the module as a UAB-UART converter on-the-fly. You can connect to a different CLI port and unbridge the USB and its opposite port to use them in a different configuration.


  • All main and submodule repositories were transferred from Bitbucket to Github.
  • P01R0 module firmware was merged with H01R0 firmware as a second uVision target. This ensures these two modules are developed together and reduces entropy with repositories and projects.
  • Multiple memory improvements and optimizations to reduce SRAM and Flash usage.
  • ARM compiler optimization level was increased to O1.
  • Moved all Message Codes into a central BOS header file so that they can be referenced from all modules.
  • Rearranged EEPROM addressing space and divided it into BOS, Module and User space. The total addressing space was increased to its full size of 1024.
  • Moved MCU memory map into a separate header file located with module drivers.
  • Refactored SendMessageFromPort API to cover multiple cases and added a BroadcastMessage API.
  • Rearranged Tasks and their priority and renamed the UART task into CLI task.

Bug Fixes

  • Float size in remote read/write messages was updated to 32-bit instead of 64-bit.
  • Fixed UART-Port mapping in some module drivers.
  • Fixed BOS micro- and milli-second timers.
  • Fixed H07R3 “play sine” and “play wave” messages.
  • Fixed H08R6 module messages and remote streams (stream to port).
  • Fixed H0BR4 module messages and remote streams (stream to port).
  • Fixed a bug in H1BR6. Module crashes and freezes when pulling uSD card during operation. Now the module reboots and blinks its LED waiting for the card.
  • Improvements and bug fixes to parameter handling in multiple CLI commands.

Known Issues

  • H23R1x module firmware won’t be available in this release.

Backward Compatibility

  • This release is not backward compatible. All modules in the array must be updated to V0.2.0 in order to communicate with each other.
Was this article helpful to you? Yes No

How can we help?