Skip to main content

Firmware & Changelog

Firmware

Firmware application:

app-modbus-lora-bridge

This firmware enables remote reading of Modbus devices over LoRaWAN.

Firmware compatibility

Firmware updates may change the device configuration or payload format.

Before updating an existing installation, check the changelog and ensure that the backend parser is compatible with the selected firmware version.

Firmware Downloads

VersionRelease statusDownload
1.3.3Latest listed releaseDownload app-modbus-lora-bridge-1.3.3.hex
1.2.2Previous releaseDownload app-modbus-lora-bridge-1.2.2.hex
0.3.1Latest release with old LoRaWAN stackDownload app-modbus-lora-bridge-0.3.1.hex

Changelog

The changelog format is based on Keep a Changelog, and the firmware versions follow Semantic Versioning.

Version 1.3.4 - 2022-01-26

Fixed

  • Prevented a crash that could occur after failed LoRaWAN uplink attempts.
  • Fixed the UART configuration used for logging so that it communicates correctly with the current version of the Lobaro Maintenance Tool.

Version 1.3.3 - 2021-04-01

Changed

  • Added support for 32 kB SRAM on the board as an alternative to FRAM.

Version 1.3.2 - 2020-12-21

Fixed

  • Fixed the initial time synchronization when the device operates in LoRaWAN Class C.
  • Fixed the status message interval so that the message is sent once per day instead of every 15 minutes.

Version 1.3.0 - 2020-12-16

Potentially breaking changes

This firmware version may break integrations that use a custom or highly specific payload parser.

  • An undocumented payload format was removed.
  • The status message on LoRaWAN port 1 is two bytes longer.
  • Compact payload formats 2 and 3 were replaced by formats 4 and 5.

Check and update the backend parser before installing this firmware.

Changed

  • Replaced the broken compact payload formats 2 and 3 with the new formats 4 and 5.
  • Made daily status messages independent of the configured measurement schedule.

Added

  • Added LED blinking patterns indicating success or failure during data readout and OTAA joining.
  • Added the reboot reason and final-words fields to the status message.
  • Added the PowerDelay configuration parameter to control the warm-up time of sensors powered by the Bridge.

Fixed

  • Increased the stack size available in Dialog Mode.

Version 1.2.2 - 2020-06-18

Changed

  • Updated to Lobaro LoRaWAN stack version 1.2.2.
  • The updated stack fixes issues affecting OTAA joins.

Version 1.2.1 - 2020-02-17

Added

  • Added the Lobaro LoRaWAN stack version to the boot log.

Fixed

  • Fixed a crash that could occur when using the remote command append.

Version 1.2.0

Added

  • Added the MbAttempts configuration parameter.
  • MbAttempts controls how often a Modbus command is repeated when a timeout occurs.

Version 1.1.1

Changed

  • Increased the memory available for the device configuration.

Version 1.1.0

Added

  • Added optional Listen-Before-Talk communication.
  • Listen-Before-Talk allows the Bridge to coordinate its communication with another Modbus master on the same bus.

Fixed

  • Fixed an issue that could truncate long Modbus responses.

Version 1.0.3

Changed

  • Dialog Mode now logs activity detected on the RS-485 bus while the Bridge is not communicating.
  • This can be used to detect another Modbus master on the bus.
  • Added LoRaWAN frequency information to the device log.

Version 1.0.2

Added

  • Added startup wait cycles to allow optional capacitors to charge and stabilize.

Version 1.0.1

Changed

  • Added the use of FRAM for storing results before upload.
  • This allows several kilobytes of data to be transmitted, depending on the available hardware memory.

Fixed

  • Fixed a memory-corruption issue that could occur with configurations containing many Modbus commands.

Version 1.0.0

Added

  • Added LoRaWAN 1.1 support.
  • Added remote configuration through LoRaWAN port 128.
  • Added clock synchronization through LoRaWAN.

Changed

  • Added a random delay before uplinks to reduce persistent collisions when several devices operate at the same time.
  • Modbus responses that exceed the maximum LoRaWAN payload size are now split into multiple uplinks.
  • Additional response parts are transmitted on LoRaWAN port 5.

Version 0.4.1

Fixed

  • Changed the error-indication bit for Modbus error 11 from 0xf0 to 0x80.
  • Fixed the parsing of multiple Modbus commands from the configuration.

Version 0.4.0

Breaking configuration and payload changes

Version 0.4.0 introduced a new command-based configuration and changed the uplink payload format.

Existing device configurations and backend integrations may need to be updated.

Added

  • Added support for writing values to holding registers and coils.
  • Added the execution of arbitrary Modbus commands triggered by LoRaWAN downlinks.
  • Added LoRaWAN Class C support for faster reactions to downlinks.
  • Added automated register writing and Modbus broadcasts through the device configuration.

Changed

  • Scheduled readouts are now configured using complete Modbus commands.
  • This provides greater flexibility but is incompatible with configurations from older firmware versions.
  • The upload format now contains the raw response to the configured Modbus command.
  • This change is incompatible with older backend integrations.

Fixed

  • Added buffer flushing to prevent invalid bytes when switching from transmit mode to receive mode.
  • Fixed byte counting in Modbus ASCII mode.
  • Fixed the configuration of a UART data length of seven bits.

Version 0.3.1 - 2019-05-24

Fixed

  • Improved the reliability of data reception at higher baud rates.

Version 0.3.0 - 2019-05-15

Added

  • Added the initial firmware release for the newer hardware revision with the RS-485 add-on.
  • Updated the Modbus implementation to support all four Modbus register types.

Changed

  • The parity bit no longer needs to be subtracted from the configured number of data bits.

  • UART configuration 8E1 can now be entered as:

    • 8 data bits
    • EVEN parity
    • 1 stop bit

Version 0.1.0 - 2018-08-13

Added

  • Added the original firmware release for the first hardware revision.
  • This hardware revision used an RS-485 interface located on the holding PCB.