Every revision of the Havaxer 02, what changed, and what was measured on it.
The measurements are grouped by the feature they belong to. Each one is explained on the Features page; here are only the numbers, per version, because a measurement belongs to the board that produced it.
Version 1.0
| Design finished | 2026-07-05 |
| Put into production | 2026-07-06 |
| Inspecting | 2026-07-22 |
| Released | 2026-07-26 |
In PCB layout PDFopen_in_new you can find a complete and very transparent layout of the PCB, which, when printed on a paper, gets you a precise size and dimensions, too.
Next is a rendered 2D PCB with all components (the MCU is not shown). Note that colors might not be correct.

Next is a rendered 3D PCB with all components (the MCU is not shown). Note that colors might not be correct.

Next are some profile photos of the assembled board:





And a photo in action with an attached optional 2.42" OLED and connected optional USB A-C cable:

Known problems 1.0
Using the UART port standalone (no eBUS) has a known limitation. The RX line is known to leak a tiny amount of current - enough to cause signal noise. To prevent this, simply wire the right pin of the EBUS ON header (H6) to the board's ground.
What changed since 0.9.5
All changes are registered on GitHubopen_in_new.
Apart from some cosmetic changes, the biggest and a breaking one is the polarity inversion of transmit and receive linesopen_in_new of the eBUS adapter. It was done by inserting inverter gates between the adapter and the MCU, which also adds a degree of isolation.
Measurements 1.0
Test equipment: KWS-MX23 USBopen_in_new and KAIWEETS KM100sopen_in_new multimeters, power over USB at 5.05 V. Thermal images with an InfiRay P2 Proopen_in_new. The board was running the example application without the network stack, with the CPU at 80 MHz rather than the default 160 MHz - so Wi-Fi consumption appears in none of these figures.
Analog temperature sensor input
Draw at rest is below the resolution of the test setup.
Mains signal input
- Draw from the board's 5 V rail: 0.5 mA, against 0.3 mA designed.
- At ~230 VAC the limiting resistors reach 36 °C (+12 K). Applied 239 VAC.
- Voltage across the optocoupler input: 1.1 VAC, matching the datasheet typical.
- Turn-on threshold, measured on DC: the firmware saw
OC1switch at 22.1 V andOC2at 21.1 V. There is no hysteresis - the reference firmware compares the reading against a single level, so an input held near the threshold can chatter. - The indicator LEDs only became visible at 39 V (
OC1) and 37 V (OC2), a good 15 V after the firmware was already reading the input as live.
Mechanical relay output
- Coil current at 100 % PWM duty, cold: 71 mA, against 80 mA designed.
- Coil resistance 70.9 Ω cold and 77.1 Ω warm, specified 69.4 Ω ±10 Ω.
- Drop across the driving MOSFET at 100 % duty: 110 mV, with 4.99 V in.
- ~230 VAC at 11.2 A for several minutes - deliberately above the 10 A rating - brought the relay area to 68 °C (+44 K). The relay body itself heated very little; the power traces underneath it did.
Relay coil PWM hold
| 100 % duty | 40 % duty | |
|---|---|---|
| Coil current, cold | 71 mA | 9.5 mA |
| Drop across the coil | 4.87 V | 1537 mV |
| Drop across the MOSFET | 110 mV | 3482 mV |
Roughly 60 mA saved per energised relay.
Solid state relay output
- Drive current from the 5 V rail per triac: 8 mA, against 9.8 mA designed.
- Drive chain at 5.01 V in: 1137 mV across the triac IC - against 1.18 V typical in the datasheet - 3833 mV across the series resistor, 49 mV across the driving transistor.
- ~230 VAC at 1.35 A for several minutes, above the 1.2 A rating: 67 °C (+43 K).
Signal driver output
- At rest: 0 mA.
- Shorted, the current does not settle on one figure. It starts at roughly 160 mA and falls to about 120 mA over a minute as the PPTC fuse heats and its resistance climbs.
- The fuse reached 63 °C (+39 K).
eBUS adapter
Measured from the board's 3.3 V side.
| Condition | Measured | Designed |
|---|---|---|
| Activated, bus disconnected | 10 mA | ≤ 18 mA |
| Activated, connected to a live bus | 7 mA | ≤ 18 mA |
| Activated, connected, receive shorted | up to 81 mA | ≤ 100 mA |
| Activated, connected, transmit shorted | 16 mA | ≤ 18 mA |
Deactivated, EBUS ON removed |
0 mA | 0 mA |
- Current taken from the bus in normal operation is immeasurably small - as intended.
- Shorting receive on a live bus makes the line driver try to hold the line up. It peaks around 81 mA against a 100 mA rating and warms by roughly 20 K. Recoverable.
- Shorting transmit took the adapter to 167 °C immediately, pulling 377 mA from the bus. Nothing was damaged; the eBUS system is what goes down.
- Pulling transmit up to 3.3 V does nothing - that is its idle state.
I2C display port
Display current at 3.3 V supply, screen filled:
| 0.96" HS96L03W2C03 | 0.96" APKLVSR JMD0.96D | 2.42" Hailege | |
|---|---|---|---|
| Display off | 23.5 mA | 23.5 mA | 24 mA |
| Contrast I | 35 mA | 36.5 mA | 135.5 mA |
| Contrast II | 38 mA | 42 mA | 155.5 mA |
| Contrast III | 45.5 mA | 54 mA | 190 mA |
The "display off" figures are not zero because the column includes the MCU's own baseline, so read the rest as a delta against 23.5 mA. At full contrast the 2.42" panel costs about seven times the 0.96" - roughly 145 mA more.
Alternative power supply input
| Input | Load | Bridge rectifier | Buck | 5 V out |
|---|---|---|---|---|
| 6.7 VDC | 313 mA | 37 °C (+13 K) | no rise | 5.07 V |
| 6.7 VDC | 570 mA | 43 °C (+19 K) | no rise | 5.06 V |
| 13.18 VDC | 313 mA | 32 °C (+8 K) | 33 °C (+9 K) | 5.07 V |
| 15.36 VDC | 440 mA | no rise | 34 °C (+10 K) | 5.06 V |
| 32.3 VDC | 440 mA | no rise | 41 °C (+17 K) | 5.06 V |
| 32.2 VDC | 570 mA | no rise | 43 °C (+19 K) | 5.06 V |
| 7.0 VDC | 925 mA | 53 °C (+29 K) | 39 °C (+15 K) | 5.06 V |
| 32.1 VDC | 925 mA | 37 °C (+13 K) | 52 °C (+28 K) | 5.06 V |
The two ends of the input range load different parts: at low input the bridge rectifier is the limit, at high input the buck. The 925 mA rows were produced by powering a Havaxer 01 from this board's 5 V rail - about twice the worst case the board draws on its own - and nothing exceeded 53 °C.
Power consumption
Everything on at once: all inputs and outputs activated, all relays at 100 % PWM duty, the 2.42" OLED at maximum contrast, signal outputs not shorted.
| Cold start | 490 mA |
| After a few minutes | 471 mA |
| Power | ≈ 2.5 W |
The sum of every individual line above is 516 mA, so the whole-board figure comes in slightly below the sum of its parts - which is what you would expect once the relay coils warm and their resistance rises.
Version 0.9.5
| Design finished | 2026-04-20 |
| Put into production | 2026-04-20 |
| Inspecting | 2026-04-30 |
First prototype. Never sold; it is the board the 1.0 design was corrected from. Two units were made and are in use for development and testing. In fact, one is still used in my home.
Issues fixed for 1.0open_in_new



Known problems
UART alone is not working - issue #6open_in_new. Improved but not eliminated in 1.0.
Measurements 0.9.5
Same equipment and conditions as 1.0. Power over USB at 5.07 V.
The display figures are not comparable with 1.0. From 1.0 onwards the display test fills the whole screen; here it does not. The difference in the table below is the test, not the hardware.
Mains signal input
- Draw from the board's 5 V rail: 0.5 mA.
- At ~230 VAC the limiting resistors reach 35 °C (+11 K). Applied 231.5 VAC.
Mechanical relay output
- Coil current at 100 % PWM duty, cold: 72 mA.
- Coil resistance 71.2 Ω cold and 73.9 Ω warm.
- ~230 VAC at 10.9 A: the relay area reached 60 °C (+36 K). Repeating it at 40 % coil duty with the board in free air made no difference - 61 °C - which is the measurement that first showed the heat comes from the traces, not the coil.
Relay coil PWM hold
| 100 % duty | 40 % duty | |
|---|---|---|
| Coil current, cold | 72 mA | 10 mA |
| Drop across the coil | 4.87 V | 1537 mV |
Solid state relay output
- Drive current per triac: 8 mA.
- ~230 VAC at 1.33 A: 66 °C (+42 K).
Signal driver output
- Shorted: about 180 mA initially, settling near 125 mA as the fuse heats. From cold, measured at the supply: 143 mA.
- The fuse reached 65 °C (+45 K).
eBUS adapter
Measured from the board's 3.3 V side.
| Condition | Measured | Designed |
|---|---|---|
| Activated, bus disconnected | 10 mA | ≤ 18 mA |
| Activated, connected to a live bus | 8.5 mA | ≤ 18 mA |
| Activated, disconnected, receive shorted | 63 mA | ≤ 60 mA |
| Deactivated, receive pulled up | 42 mA | 0 |
| Deactivated, transmit pulled up | 5.5 mA | 0 |
Pulling transmit up to 3.3 V heated the adapter to 175 °C and pulled 377 mA from the bus - the same as on 1.0, reached from the opposite direction, because the transmit polarity changed between the two revisions.
I2C display port
Display current at 3.3 V supply. Screen not filled - see the warning above.
| 0.96" HS96L03W2C03 | 0.96" APKLVSR JMD0.96D | 2.42" Hailege | |
|---|---|---|---|
| Display off | 23.5 mA | 23.5 mA | 24 mA |
| Contrast I | 27 mA | 27.5 mA | 66.5 mA |
| Contrast II | 28 mA | 29 mA | 74 mA |
| Contrast III | 30 mA | 32.5 mA | 88 mA |
Alternative power supply input
| Input | Load | Bridge rectifier | Buck | 5 V out |
|---|---|---|---|---|
| 6.7 VDC | 335 mA | 38 °C (+14 K) | no rise | 5.03 V |
| 6.65 VDC | 580 mA | 42 °C (+18 K) | no rise | 5.04 V |
| 13.07 VDC | 335 mA | 30 °C (+6 K) | 31 °C (+7 K) | 5.04 V |
| 15.36 VDC | 451 mA | no rise | 33 °C (+9 K) | 5.04 V |
| 32.3 VDC | 470 mA | no rise | 38 °C (+14 K) | 5.04 V |
| 32.24 VDC | 580 mA | no rise | 41 °C (+17 K) | 5.04 V |
| 7.00 VDC | 825 mA | 46 °C (+22 K) | no rise | 5.03 V |
| 32.16 VDC | 825 mA | no rise | 44 °C (+20 K) | 5.02 V |
The 825 mA rows were produced by powering two Havaxer 01 units from this board's 5 V rail.
Power consumption
| Cold start | 402 mA |
| After a few minutes | 383 mA |
| Power | ≈ 2 W |
Sum of the individual lines: 418 mA. Do not read the difference against 1.0 as a regression - most of it is the display test change noted above.