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 measures the supply voltage (PIC16F1847 only) and the voltage
level of the reference voltage.
It then performs repeated A/D conversions on each of the two interfaces in
turn for a little over one second. It 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.
The reference voltage should be between the high and low levels of both
At the end of the test the user is prompted for a new reference voltage
setting. The available settings are the same as for the
The firmware will attempt to provide a suggested value.
- Test #6: Idle times
- Measures the time the line is idle between messages in milliseconds.