In case the gateway doesn't work correctly, the diagnostic firmware can be
of help to figure out where the problem may be. The firmware provides a
number of tests that provide detailed information about various aspects of
the gateway's operation. In general, communications between thermostat and
boiler will continue while the diagnostic firmware is running. An exception
is the test that requires the two interfaces to be connected together.
You can load the diagnostic firmware (diagnose.hex) in a running opentherm
gateway using the "Firmware upgrade" option from the File menu of
After performing the desired tests, use the "Firmware upgrade" feature again
to flash the regular firmware (gateway.hex) back into the gateway. Both the
diagnostic and regular firmware are available from the
- Test #1: LED test
- The LED test will pull the LED outputs of the gateway low one by one.
With actual LEDs attached, the effect should be as shown below.
- Test #2: Bit timing thermostat
- When the regular gateway firmware reports many errors instead of
thermostat messages, the bit lengths of the opentherm messages from the
thermostat may not be correct. This test will report a sequence of high and
low times for each message from the thermostat.
The times are reported in microseconds. Each value should fall in either of
two ranges: Half-bit (400-650 uS) or Full-bit (900-1150 uS). Each message
must start with a half-bit.
- Test #3: Bit timing boiler
- When the regular gateway firmware reports many errors instead of boiler
messages, the bit lengths of the opentherm messages from the boiler may not
be correct. This test will report a sequence of high and low times for each
message from the boiler.
The bit timings should be as described for test #2.
- Test #4: Delay symmetry
- To prevent distortion of the opentherm signal, the delay introduced by
each of the opto-couplers for the low-to-high and high-to-low transitions
must be similar. This test will measure the delays in both directions.
- Test #5: Voltage levels
- This test will perform repeated A/D conversions on each of the two
interfaces in turn for a little over one second. It then reports the voltage
levels it found several times in a row. Normally two voltage levels on each
interface are expected to be reported: the logical low and high levels. With
some equipment the logical low level inside a message may differ from the
level between messages. In such cases three levels can be reported.
Additionally, the voltage level on the voltage reference pin is reported.
This should normally be 1.25V or thereabouts.
- Test #6: Idle times
- Measures the time the line is idle between messages in seconds.