Skip to main content

This page lists the WND-series WattNode Modbus and (including MCM) firmware versions. This includes the following models:

  • WND-WR-MB: WattNode Wide-Range Modbus, firmware versions 10xx, where ‘xx’ is one of the versions below.
  • WND-M1-MB: WattNode Module for Modbus, firmware versions 10xx, where ‘xx’ is one of the versions below.
  • WND-xx-xxx-MB: WattNode Modbus (WND series), firmware versions xx, where ‘xx’ is one of the versions below.
  • MCM: MCM Multi-Circuit Meter, firmware versions 20xx, where ‘xx’ is one of the versions below.

WND-series WattNode models for Modbus may be field upgraded, but the process requires special software and is not recommended unless necessary to fix a bug or for an essential new feature. Meters may also be returned to the factory for firmware upgrades. There is a nominal charge for factory firmware updates unless they are needed to fix a bug under warranty. This page does not list every firmware change, but only those affecting the end-user behavior. Some changes are to enhance production or internal diagnostics.

For WNC-series WattNode Modbus meters see WNC Series Modbus Firmware Versions.



Firmware Version 42

Released: 2021-05-03, MCM only.

  • BUG Fix a bug where the MCM accepts parity mode changes written to the communications configuration but always used the default (8N1).
  • BUG Fix a bug where communication configuration settings loaded by the MCM when the DIP switch reset procedure was used may not match the expected settings. The MCM would load a fixed address of 1 and baud rate of 19200 instead of the communication settings used when ordering the meter (Meters can be ordered with either a pre-set address and baudrate or to use the DIP switches to derive the address and baudrate values)2

Firmware Version 41

Released: 2020-09-29, MCM only.

  • BUG Fix a bug where changing the baud rate via the DIP switches while the MCM is powered OFF would cause the MCM to stop responding to communications. This can be remedied by setting the DIP switches back to the previous setting then cycling power on the meter.

Firmware Version 40

Released: 2020-08-24, MCM only.

  • UPDATE Add support for Modbus TCP over ethernet.
  • UPDATE Improvements to MCM voltage measurement accuracy.

Firmware Version 39

Released: 2020-08-18, MCM only.

  • UPDATE Improvements to MCM voltage measurement accuracy.
  • UPDATE  CtMonitoring is permanently disabled since it is currently not supported by the MCM hardware.

Firmware Version 38

Not publicly released.

Firmware Version 37

Released: 2020-07-15, MCM only.

WND firmware release supporting  the MCM hardware.

Firmware Version 36

Released: 2020-04-30

  • UPDATE Add a 7-entry log of the non-resettable EnergySum and EnergyPosSum to meet the California Solar Initiative energy logging requirement. The log interval is controlled by a new register, LogIntervalDays. The default interval is one day.
  • UPDATE The NewAddress register (second half of the pair with SerialNumKey) now reports the current meter address when read, instead of the pending address which in some instances would be different.
  • UPDATE Enable the clock security system and report an error (ExternalClockFail, 5038) if an external clock failure is detected. The meter will continue to operate and communicate using a less accurate internal crystal.
  • BUG Fix a bug where the meter may not exit brownout if the supply voltage recovered without causing a power-on reset.
  • BUG Fix a bug where an option specific PhaseOffset behavior applied to all meters, even when that option was not set. This bug was introduced in FW 29. Writing the PhaseOffset should normally have no effect on the meter. However, this bug resulted in the MeterConfig being set to 10/20/30 when any valid PhaseOffset value except 180 was written. Writing 180 would set the MeterConfig to 10/20/0.
  • BUG Fix a bug where the maximum allowed Averaging value (in milliseconds) was 6000 instead of 60000.

Firmware Version 35

Released: 2019-07-30

  • UPDATE Version register reports 35 or 1035.
  • BUG Fix a bug introduced in firmware version 32, where the DIP switch communication reset procedure would set the baud rate to 19,200, set the Modbus address to 127, and set the meter to ignore the DIP switch specified baud rate and Modbus address. See MS-37 WND-WR Communication Configuration Reset.pdf for additional details.

Firmware Version 34

Released: 2019-06-25

  • UPDATE Version register reports 34 or 1034.
  • UPDATE Added computed current feature. Two new registers, one reporting floating point and one reporting integer values, report a computed current value that represents the amount of current flowing through a neutral line in a 3-phase Wye service or split-phase service. See MS-36 CompCurrent.pdf for additional details.
  • UPDATE Change the firmware to improve accuracy on the ANSI C12.20:2015 Test 44 for distorted waveforms.

Firmware Version 33

Released: 2019-02-13

  • UPDATE Version register reports 33 or 1033.
  • BUG Fixed bug where changing the PtRatio register to a non-unity value could result in false over-voltage errors being reported.
  • BUG Fixed bug where OPT L meters did not lock the PtRatio register as it should.
  • BUG Fixed bug where the boxcar averaging for readings were not reset after changing a configuration setting that affected those readings. This could result in the averaged readings reflecting partially stale values until the averaging interval expired (e.g. for the duration of the factory default averaging interval of 5 seconds).
  • BUG Fixed bug where the CRegisterCount register for the Custom Register Map Configuration settings would read back one greater than the actual value after writing a new value. For example, if a new value of 124 was written, it would read back 125 although the actual value was correctly changed.

Firmware Version 32

Released: 2018-11-02

  • UPDATE Version register reports 32 or 1032.
  • UPDATE Added support for SunSpec Modbus registers. Implement SunSpec model 203 and model 213.
  • UPDATE Added a PtRatio register to support potential transformers.
  • UPDATE Report an error (5312, DaughtercardFail) if communications with the daughtercard fails.
  • UPDATE Add input limits to the NominalCtVolts registers. Now only accept values between 0.1 and 1.25 inclusive.
  • UPDATE Update the frequency calculation to use interpolation to get a better estimate of the time between the first and last zero crossing in a measurement interval. This increases the accuracy of the measurement.
  • BUG Fixed bug where writing zero to a NominalCtVolts configuration register would result in NaN values being reported for the PowerSum and the corresponding Power, PowerFast and Power Factor readings. Also, errors 3001 [DspLibEnergyIotaOverRange], 3036 [DspLibPowerFactorAbove1] and 2500 [Current1ExcessiveOffset] would be erroneously reported until the NominalCtVolts was reassigned to a non-zero value. This version only allows NominalCtVolts values from 0.1 to 1.25 to be assigned.
  • BUG Fixed bug where a message could sometimes be ignored due to a hardware glitch when the Modbus master stopped driving the RS-485 bus. When the bug occurred, the meter reported a CRC error (code 7020) and incremented the CRC error count (register 1712).
  • BUG Fix bug introduced in FW 29 where an off by 1 error in computing the ADC trigger timer frequency introduced a 0.014% error in the output frequency which added a system 0.014% error to the frequency measurement.
  • BUG Fix bug where the ConfigPasscode would lock immediately after writing the second value to confirm a new passcode. The ConfigPasscode should remain unlocked regardless of whether a new passcode was successfully set (second write matched the first) or not (second write did not match).

Firmware Version 31

Note that the Meter Module is not officially supported for this release
Released: 2018-04-13

  • UPDATE Version register reports 31 or 1031.
  • BUG Fix logic that applies CT Detection hysteresis so that it correctly counts the threshold number of consecutive CONNECTED or DISCONNECTED events.
  • BUG When checking CT DC offset, ignore the sign so that we also catch a large negative DC offset
  • UPDATE Use a detection theshold of 8 for CONNECTED events to reduce spurious CONNECTED transitions when testing in the test fixture with the isolated shunt.
  • UPDATE Do not allow the custom register map to overlap the calibration registers

Firmware Version 30

This version is released to an OEM customer only.
Released: 2019-03-TBD

  • UPDATE Version register reports 30 or 1030.
  • UPDATE Update the frequency calculation to use interpolation to get a better estimate of the time between the first and last zero crossing in a measurement interval. This increases the accuracy of the measurement.
  • BUG Fix bug introduced in FW 29 that introduced a 0.014% error in the reported line frequency.

Firmware Version 29

Note that the Meter Module is not officially supported for this release
Released: 2018-03-08

  • UPDATE Version register reports 29 or 1029.
  • UPDATE Implement CT Detection. The CtMonitoring register enables or disables CT Detection, and determines if the measurements associated with a CT (Current and Power) will read 0 or NaN when detection is enabled and the CT is disconnected. The CtStatus1, 2, and 3 registers report the status of the individual CTs. Hysteresis is applied to the detection to minimize false positives requiring three detection events in a row for a change to be reflected in the CtStatus and measurements.

Firmware Version 28

Released: 2017-10-03

  • UPDATE Version register reports 28 or 1028.
  • UPDATE Update the ErrorStatus1 – ErrorStatus8 registers to match the WNC series, so any errors are cleared when the meter loses power or resets.
  • UPDATE Update the RS-485 logic to remove most collision detection logic. This improves performance and reduces the complexity of the state machine.
  • UPDATE Add 24 hour LED error indication for severe errors. This matches the WNC behavior and increases the likelihood that an installer or operator will notice a serious problem.
  • UPDATE Remove support for the ModbusMode register and TCP-RTU mode to simplify the Modbus state machine and improve performance. The ModbusMode register will always report a value of 0. Writes are still allowed, but will be ignored.
  • UPDATE Allow CtAmps values up to 30000.
  • BUG Fix logic bug that caused stuck RS-485 transmit enable in rare cases.
  • BUG ErrorStatusQueue always reported 0 (no error). It now behaves like the WNC series meters and is non-volatile as described in the manual.
  • UPDATE Excessive DC offset warnings are reported only after multiple consecutive instances of detecting the excessive offset, to reduce false positives.
  • BUG Fixed a bug where changes to the ReplyDelay register did not take effect until other communications configuration registers were changed and saved, or the meter was rebooted.

Firmware Version 27

Not publicly released.

Firmware Version 26

Released: 2017-06-30

  • UPDATE Version register reports 26 or 1026.
  • BUG Fixed issue where OemPasscode did not read back 0 when no OemPasscode was assigned. It instead returned whether customer configuration access was unlocked.
  • UPDATE Change the method used to accumulate EnergyPosSum, EnergyNegSum, EnergyReacPosSum or EnergyReacNegSum energy to PosNet/NegNet (same behavior as the WNC Modbus meters) from PosOnly/NegOnly.
  • BUG If the ParityMode register was set to 1 to select even parity, the meter would ignore a valid message and instead flash the COM LED red. Now when ParityMode is set to 1, messages sent with even parity are processed normally as they should be.
  • BUG (MeterModule only) If the BaudRate register was written with 0, the meter stopped communicating and the COM LED stopped flashing at all. Now writing 0 to the BaudRate register makes the factory default baud rate take effect.
  • BUG ReplyDelay wasn’t getting saved to FRAM. Fixed.
  • BUG Changed the WND behavior so that it reports 0 for all demand until it has completely filled the boxcars, just like WNC series WattNode meters do.
  • BUG Meter Module could reset when receiving large amounts of junk data at high baud rates. Fixed.
  • BUG Fixed: the address and baud rate registers now behave as on the WNC. Previously, the WND communication configuration registers would only show what was stored in the configuration. Under certain circumstances, the address and baud rate being used would not match what was shown in the registers.
  • BUG Fix issue where the meter was not using the factory assigned communications settings when the settings recovered from NV memory were corrupt
  • UPDATE Bad frequency LED indications are now reported based on the immediate frequency measurement, not the average line frequency. Previously, a loss of line voltage on a DC-powered meter would cause the average to drop below the minimum acceptable frequency, producing the warning indication. After restoring line voltage, the average frequency would not rise above the minimum acceptable frequency for several seconds, even though the input power frequency was acceptable. A longer averaging interval (e.g. 60 minutes) could also cause a similar issue when the meter was powered without line voltage being applied.
  • UPDATE A line frequency of 0 is not reported as a bad frequency. When line voltage is lost on a DC-powered meter, there is no AC voltage whose frequency we can measure. It is more important to indicate the loss of line voltage than to indicate that the line frequency is 0 and therefore outside of the acceptable frequency range.
  • UPDATE Add bad calibration LED indication; RED-RED-YELLOW on the phase LEDs. This indication is higher priority than normal operation or a single inactive phase. It is lower priority than all other error indications.
  • UPDATE Prevent the address being written to 0 if the meter does not have DIP switches. The meter uses an address setting of 0 as a special case to indicate that the meter should use its DIP switches to set the address. Without DIP switches, the meter is then stuck at address 0, which is an invalid address for a slave.
  • UPDATE Firmware version indicates which hardware it is suitable for; WND Meter firmware is just the version number (e.g. 26), while Meter Module firmware is the version number plus 1000 (e.g. 1026).
  • UPDATE Zero-crossing detection uses includes difference channels (Vab, Vbc, Vca) to ensure valid frequency measurements in all cases.
  • UPDATE Meter Module firmware adds brownout detection for the DC power supply to prevent non-volatile memory corruption.
  • UPDATE Return “slave device failure” response to Modbus requests when configuration settings are invalid.
  • UPDATE When responding to a Modbus request, the WattNode asserts DE (driver enable), then waits for one character-time (10 bits) before sending the data. This ensures a quiet idle bus preceding data transmission.
  • UPDATE Modbus collision detection is implemented. Errors for address collision or a bus collision (another slave transmits at the same time that the WND transmits) will be reported. A bus collision is indicated by the communications LED blinking alternating red and yellow for 200 ms each three times.
  • UPDATE The meter reports A/D signal clipping or excessive offset with separate error codes per channel for clipping and for excessive offset.
  • UPDATE Added specific error codes for usage fault, bus fault, and MPU fault, rather than just lumping them into a single “hard fault” error code.
  • UPDATE Add a configuration option, OptEnergySumMethod that allows control over the energySum accumulation method used, 0 = PosNet/NegNet (WNC Modbus behavior, default WND behavior since FW 25), 1 = PosOnlyNegOnly (previous WND behavior prior to FW 25).

Firmware Version 25

Not publicly released.

Firmware Version 24

Not publicly released.

Firmware Version 23

Released: 2017-02-13
Identical to 22 release, except for firmware version and signature.

  • UPDATE Version register reports 23 or 1023.

Firmware Version 22

Released: 2016-12-15

  • UPDATE Version register reports 22 or 1022.
  • UPDATE Correct default model number for meter module and MCM builds.
  • UPDATE OPT_SIGNED_CURRENT is only enabled by default for WndMeter builds.
  • UPDATE Change CtAmps behavior so that all CtAmps registers can be written, regardless of MeterConfig (previously, writes were rejected if the corresponding MeterConfig was 0).
  • UPDATE Add brownout LED indication; RED-YELLOW-RED on the phase LEDs. This is the highest priority indication, second to the one that clears the daughtercard LEDs.

Firmware Version 21

Released: 2016-11-10

  • UPDATE Version register reports 21 or 1021.
  • UPDATE Add ConnectionType register. This is a shortcut to specifying MeterConfig.
  • UPDATE Add voltage reference calibration and use that to correct voltage readings in calibrated meters.
  • BUG Fix bug where spurious timer interrupts could be triggered from the Modbus timer ISR because we configured the timer for a new period before clearing the previous interrupt.
  • UPDATE For MeterModule builds, Add support for phase LEDs.
  • UPDATE Add Manufacturer ID registers, currently specific to OEMs.
  • UPDATE Add OPT_NR calibration option. This makes all energy registers read-only.
  • UPDATE Add customer diagnostic registers to read out the state of OPT_NR.
  • UPDATE Add MaxEnergyRollover register to specify the energy rollover point.

Firmware Version 20

Not publicly released.

Firmware Version 19

Released: 2016-09-20

  • UPDATE Version register reports 19 or 1019.
  • BUG Fix issue where an error was introduced in energy accumulation if the measurement interval length differed from the update interval length due to incorrect initialization of ComputeEnergy object.
  • BUG The NominalCtVolts, CtBurden, and CustomVoltMap registers were not being protected by the OPT_REVENUE_CFG_LOCKED bits.
  • BUG Fix incorrect units for PowerFactorAvgInt.
  • BUG Fix firmware updater LED indication which did not display YELLOW on the Phase B LED.
  • BUG Fixed issue where overvoltage indication was displayed on the phase where we detected overvoltage and not on all three phase LEDs.

Firmware Version 18

Released: 2016-09-12

  • UPDATE Version register reports 18 or 1018.
  • UPDATE Version register reports ’18’.
  • BUG Fix bug passing potentially invalid communication settings to the Updater from the meter application.
  • BUG Fix bug LED indication of bad frequency. We only indicated bad frequency on phases with active voltages.
  • BUG Fix incorrect scaling applied to integer power factor register.
  • UPDATE Add Updater LED indication that’s triggered by launching the Updater from the meter.
  • UPDATE Add 57600 to the baud rate options, remove 230400.
  • BUG Reset hold-off logic would prevent a software reset if the meter had a previous software reset in a 24-hour period that was caused by a different resetting error.
  • UPDATE Only re-initialize the Modbus interface if communication settings have actually changed (following an event that would normally trigger re-initialization, like if the user changed from using a specified address-baud rate to the DIP switches but the DIP switches specified the same communications settings).
  • UPDATE LED indications to the daughtercard expire after 1s. This makes it easier to detect if the meter stops functioning correctly – for example getting stuck in some loop that doesn’t trigger a watchdog reset.

Firmware Version 17

Not publicly released.

Firmware Version 16

Released: 2016-08-17

  • UPDATE Version register reports 16 or 1016.
  • UPDATE Change measurement interval from 1000ms to 100ms.
  • UPDATE Add PowerFast registers and increase the measurement update rate for all power, voltage, current and frequency readings to 10 times per second. Note that legacy behavior is preserved by having the energies only update once per second and by default, a 5-second averaging period is still applied to the other readings. However, the averaging period can now be changed to as little as 0.1 second (see next item).
  • UPDATE Allow finer resolution averaging periods (in multiples of 100 milliseconds) to be set via the Averaging register. The legacy settings of 0, 1, 2 and 3 still select periods of 1, 5, 20 and 60 seconds, respectively. For the least averaging and fastest update rate, set the Averaging register to 100. If the setting is > 3, it must be an even multiple of 100.
  • UPDATE Add support for Updater firmware updates using the Modbus broadcast address to allow multiple meters on a common bus to be updated concurrently. The Updater now reports version 2 to indicate the broadcast capability.
  • UPDATE Add support for daughter card with LEDs and DIP switches.
  • UPDATE Add ability to handle heterogeneous CT inputs (mixed CT types including 0.3333V CT’s and mA output CT’s). This includes new factory commands and calibration registers. It also includes new configuration registers, NominalCtVolts1 to NominalCtVolts3 (Float32 at 1629 to 1634).
  • UPDATE Add ChangeCounter register (Int16 at 1628) for tracking how many times the configuration settings were changed and saved to non-volatile memory.
  • UPDATE Add programmable Custom Register Map.
  • UPDATE Add OEM passcode feature that enables OEM’s to have a special passcode assigned at the factory that allows them to change revenue-locked configuration settings (e.g. CtAmps on revenue-grade meters). It also allows them to override the user-defined configuration passcode.
  • UPDATE Add new registers, SerialNumberKey (Int32 at 1657, 1658) and NewAddress (Int16 at 1659) that facilitate assigning the meter’s Modbus slave address using a broadcast write to these registers.
  • UPDATE Add new HardwareVersion register (Int16 at 1794).
  • UPDATE Add support for new RS-485 termination resistor enabled via DIP switch position 7. When present, only 64 slave addresses are settable via DIP switch positions 1 to 6.
  • BUG Fix issue where malformed multi-register write command could be processed instead of being immediately rejected.
  • BUG Fix issue where the meter could restart ADC operations in the middle of a flash save.
  • UPDATE Change default address of meters without DIP switches to 127. Default baud rate remains at 19200.
  • UPDATE Update Modbus energies only when the time has changed, rather than with every new measurement.
  • BUG Fix bug where Demand would not update until a boxcar was full, ignoring the number of sub-intervals.
  • BUG Boxcar’s now return a value of 0 if read before it has enough values to average. This partly caused an issue where Demand wouldn’t update if there were more than one sub-interval.
  • UPDATE Add reactive energy registers.

Firmware Version 15

Released: 2016-06-17

  • UPDATE Version register reports 15 or 1015.
  • UPDATE First public release supporting the WattNode Meter Module.

Firmware Versions 1-14

Firmware versions 1 through 14 were internal releases or used exclusively by OEM customers.