Firmware & Changelog
Wireless M-Bus over LoRaWAN Bridge
The latest firmware version is v2.9.2.
Current firmware version
You can check the firmware version of your device in one of the following ways:
- Inspect the USB log output using the Lobaro PC maintenance tool.
- Check the daily status uplink message sent on LoRaWAN port 1.
See also: Status Packet
Firmware update
Please refer to the maintenance tool documentation for firmware update instructions:
Firmware Downloads
Select the correct hardware revision before flashing firmware.
Due to continuous hardware development, there are two major hardware revisions of the Wireless M-Bus over LoRaWAN Bridge. Please use the pictures below to identify the correct firmware for your device.
The dedicated revision 2.x has a simplified production process and was introduced for optimized larger deployments.
Hardware Revision 2.x
Active since: 2020
Downloads
- app-wMbusLoraBridge-2.9.2+hw2.hex (current release)
- app-wMbusLoraBridge-2.7.0+hw2.hex
Hardware Revision 1.x
Active since: 2017
Hardware revision 1.x has not been the default variant since 02/2020.
Revision 1.x hardware is still available only on special sales inquiry.
Please contact Lobaro if you are interested in revision 1.x hardware.
Downloads
- app-wMbusLoraBridge-2.7.0+hw1.hex (current release)
- app-wMbusLoraBridge-2.6.1+hw1.hex
Old v1.x firmware
The old v1.x firmware branch is no longer recommended for use.
If you still rely on older v1.x firmware, you can find it at the end of the previous v1 documentation:
Release Changelog
| Version | Type | Details |
|---|---|---|
| 2.9.2 – 2023-03-27 | Added | Config parameter TimeSync now supports values from -1 to -1440 to configure synchronization in minutes instead of days. Example: -180 means sync every 3 hours. |
| Added | Telegram filters now support blacklisting. Prefix a filter list with ! to exclude matching values. Example: typFilter=!07,04. | |
| Fixed | Correct RTC prescaler when using LSI. | |
| Fixed | UART parity for logging fixed to work with recent Lobaro Tool versions under Linux. | |
| 2.9.1 – not released | Fixed | Reactivate Sensus-RF. |
| 2.9.0 – 2023-02-13 (not released) | Changed | Use LSI instead of LSE for RTC. |
| Changed | LSE could stop in high humidity conditions; LSI does not. | |
| 2.8.0 – 2023-02-13 | Fixed | Fix log UART parity to work with newer Lobaro Tools under Linux for the dedicated board. |
| Changed | Use Hash-Store instead of wMBus-Store. | |
| Changed | Disable LoRaWAN testing mode. | |
| 2.7.0 – 2021-08-24 | Added | Introduce CI-field filter to wMBus telegram filters. |
| Added | Add new config parameter ciFilter. | |
| 2.6.1 – 2021-02-25 | Fixed | Filter list for Sensus-RF now supports IDs with prefixes other than 10. |
| Changed | Sensus-RF IDs in filter lists must now be provided as full 11-digit values without dashes. | |
| 2.6.0 – 2021-02-16 | Added | Support for Xylem Sensus RF Bubble Up telegrams (X-Mode). |
| Added | New config parameter: xmodeDurSec. | |
| 2.5.18 – 2021-01-11 | Fixed | Fix issue when sending multiple FOpts in one uplink (LoRaWAN). |
| 2.5.17 – 2020-12-17 | Fixed | Fix filtering by manufacturer ID for telegrams using a non-globally unique address (highest bit in M-Field set to 1). |
| 2.5.16 – 2020-10-26 | Fixed | Fix an issue caused by unusual bytes in the air that could temporarily disturb wMBus reception. |
| 2.5.15 – 2020-10-19 | Fixed | Fix a bug that prevented reception of certain valid wMBus C-Mode Class-A telegrams due to invalid CRC rejection. |
| 2.5.14 – 2020-09-28 | Info | This release is functionally identical to 2.5.13. No benefit upgrading from 2.5.13 on HW2. |
| Fixed | Shorten logging message so the firmware still fits into HW1 flash. | |
| 2.5.13 – 2020-09-24 | Fixed | Fix handling of Type B wMBus telegrams. |
| 2.5.12 – 2020-09-09 | Fixed | Fix possible OOM failure on complicated cron expressions. |
| 2.5.11 – 2020-08-18 | Added | Add config parameter TxPower to change maximum TX power, default 13 dBm, in specialized firmware. |
| 2.5.10 – 2020-08-14 | Added | Check config parameters DevEUI, JoinEUI, and AppKey after boot. |
| Changed | Invalid values for NwkKey are now treated like 00000000000000000000000000000000. | |
| Changed | Remove OpMode from config parameters. | |
| 2.5.9 – 2020-08-10 | Added | Adjust HW1-specific code to implement features originally developed on HW2. |
| 2.5.8 – 2020-08-07 | Fixed | NewChannelReq can remove channels by setting frequency to 0. |
| Fixed | Fix bug where NBTrans > 1 leads to multiple responses from the LoRaWAN stack. | |
| 2.5.7 – 2020-08-07 | Added | Add power-on self-tests for SRAM, EEPROM, and voltage measuring. |
| Added | Request ACKs to check network connection for lostReboot. | |
| Added | Skip random timeout on first upload. | |
| 2.5.6 – 2020-08-06 | Fixed | LoRaWAN test support command 0x05 (LinkCheckReq). |
| 2.5.5 – 2020-08-04 | Added | Brown-out protection for HW2 below 2.5 V, recovery at 2.6 V. |
| Changed | Send ACK for remote reboot request before rebooting. | |
| 2.5.4 – 2020-07-31 | Fixed | LED remained on after wakeup from deep sleep. |
| Fixed | Updated to latest LoRaWAN stack passing all LCTT tests. | |
| Added | Enter LCTT test mode by setting DevEUI to 0001020304050607. | |
| 2.5.3 – 2020-07-21 | Changed | Use Lobawan v1.3.0. |
| Changed | Use a single heap allocator for FreeRTOS and newlib. | |
| 2.5.2 – 2020-06-17 | Changed | Time sync now performs only one attempt at boot. |
| Changed | Use Lobawan v1.2.2 fixing OTAA join issues. | |
| 2.5.1 – 2020-05-15 | Changed | Adjust to Lobawan v1.2.0. |
| 2.5.0 – 2020-04-02 | Added | Remove learning mode. |
| Added | Send status message when not collecting telegrams. | |
| Added | Add second cron expression for status messages. | |
| Added | Add remote command to trigger telegram collection outside cron. | |
| Added | Add listenOnBoot config parameter. | |
| Added | Send status message before listening on boot. | |
| Removed | Remove learning mode. | |
| Changed | Status message now includes an additional flags byte. | |
| 2.4.0 – 2020-02-25 | Added | Add new Payload Format 2 with timestamp and RSSI. |
| 2.3.10 – 2020-02-21 | Added | Add LoRaWAN stack version number to the log. |
| Fixed | Fix crash in append function of remote config. | |
| 2.3.9 – 2020-01-21 | Fixed | Fix minor memory leak in wMBus parser. |
| 2.3.8 – 2020-01-09 | Improved | Enhance wMBus reception. |
| 2.3.7 – 2020-01-08 | Info | Internal use only. |
| 2.3.6 – 2020-01-07 | Improved | Increase wireless M-Bus C1/T1 mode receive bandwidth. |
| Changed | Change detection method for incoming telegrams. | |
| 2.3.5 – 2019-12-23 | Improved | Improve wireless M-Bus receive sensitivity. |
| 2.3.4 – 2019-12-13 | Improved | Improve reset line usage for dedicated PCB version. |
| Fixed | Fix issue with bad battery measurement timing. | |
| 2.3.3 – 2019-12-10 | Improved | Optimize LoRaWAN RX1/RX2 timing. |
| Added | Add more precise downlink logs. | |
| 2.3.2 – 2019-11-18 | Fixed | Fix crash when receiving long non-standard telegrams. |
| 2.3.1 – 2019-11-13 | Improved | Improve Filtering of non-standard wMBus-telegrams |
| 2.3.0 – 2019-11-12 | Changed | Migrate to alternative dedicated board |
| Fixed | Fix Deep Sleep settings on dedicated board | |
| Fixed | Fix rx/handling of S1-mode CRCs of unencrypted telegrams in wMBUS driver | |
| 2.2.0 – 2019-09-13 | Changed | Integrated with new LoRaWAN stack, now supporting v1.1, Class C, downlinks, ... |
| 2.1.3 – 2019-03-11 | Added | New Parameter: learnedListenSec to define how long to listen when meters was learned |
| 2.1.2 – 2019-03-11 | Changed | Packet size depending on SF with payloadFormat = 1 |
| 2.1.1 – 2019-02-20 | Added | New Parameter: timeSync – request time with status packet and upload until valid time |
| Added | New Parameter: payloadFormat (0 = old format, 1 = split format with timestamp) | |
| Changed | Upload is randomly delayed by 1–30 seconds to avoid collisions | |
| Added | Payload Format 1: LoRaWAN Port 101 → <5 byte Timestamp UTC><raw wMbus Telegram> | |
| Added | Messages split into chunks with prefix byte: <7..2 RESERVED><1 LAST><0 FIRST> | |
| Added | FIRST/LAST bits + framecounter allow backend reconstruction | |
| 2.0.0 – 2019-02-12 | Added | Learning mode to learn up to 20 devices and their intervals |
| Added | New Parameter: learningMode (enable deep sleep based on learned intervals) | |
| Added | New Parameter: meterIntervalSec (predefine interval instead of learning) | |
| Added | Learning process: device detected → interval calculated → optimized wakeup | |
| Added | Bridge wakes up only ±10 seconds around learned transmission | |
| Added | If device missing → learning mode restarts | |
| Added | Max receive interval doubled during learned mode | |
| 1.6.0 – 2019-05-20 | Added | New parameter cmodeCompatibility for fallback wideband receive |
| Fixed | Fix CRC validation of unencrypted meters | |
| 1.5.8 – 2019-02-18 | Improved | Reduce chance to miss wMBus packets under high traffic |
| 1.5.7 – 2019-01-07 | Fixed | Fix issue with very large T1 telegrams |
| 1.5.6 – 2018-11-20 | Added | Support new FRAM memory type |
| Improved | Improve random generator behaviour | |
| 1.5.5 – 2018-11-14 | Info | Internal use only |
| 1.5.4 – 2018-10-25 | Added | Support LoRaWAN NBTrans > 1 |
| Changed | Prevent unsupported FSK DR during ADR | |
| 1.5.3 – 2018-10-18 | Fixed | Fix deduplication of identical wMBus messages during listen intervals |
| 1.5.2 | Added | Support LoRaWAN Rx1 DataRate Offset |
| 1.5.1 | Added | New parameter resetHours (auto reset + rejoin after X hours) |
| 1.5.0 | Changed | Duration params renamed: cmodeDur → cmodeDurSec, smodeDur → smodeDurSec |
| Changed | Status packet shortened, version encoded in 3 bytes | |
| Fixed | Upload correct battery status in DevStatusReq | |
| Added | Support ADR ChMask to disable channels | |
| Added | Restore default channels when uplink lost | |
| Added | Support LoRaWAN MAC commands: NewChannelReq, DlChannelReq, RxParamSetupReq | |
| Fixed | No MAC commands dropped when unknown command received | |
| Fixed | Fix endless loop on unknown MAC command | |
| Improved | Improve LoRaWAN debug logs | |
| 1.4.1 | Fixed | Allow large wMBus messages (>160 bytes) in T1 mode |
| Improved | Improve config parameter descriptions | |
| Improved | Improve wMBus terminal output | |
| 1.4.0 | Added | New ADR parameters (ABP): AppSKey, NetSKey, DevAdr |
| Added | New parameter OTAADelay (join retry delay + randomness) | |
| Fixed | Support LoRaWAN Status MAC command | |
| Fixed | Fix TxPower not applied | |
| Info | Requires Lobaro Tool > v1.3.1 | |
| 1.3.1 | Fixed | Fix ADR bugs |
| 1.3.0 | Changed | Enable ADR by default |
| 1.2.0 | Changed | Increase config version (reset required) |
| Added | Introduce default LoRaWAN parameters | |
| 1.1.0 | Added | New filters: devFilter, typFilter, mFilter |