Some pictures

Here is the disassembled device (guess the age of the green 10k resistors):

... and here is the circuit:

Here's how it looks assembled (I was too lazy to draw the labels, so I delegated it to the 3D printer):

And here is an example of my old-school art of hand drawing a PCB:

If you are interested, check out the github link for more details.


  • Allows to scan the M-Bus network for connected M-Bus devices (Devices tab on the web page).
  • M-Bus gateway can have multiple consumption meters connected to the M-Bus network, and these M-Bus devices can be added/configured through the web interface;
  • Ability to send raw commands via M-Bus (optionally enriched with a calculated checksum, and formatted into an M-Bus datagram) from the web interface (M-Bus on the web page);
  • M-Bus capabilities are provided by the tmbus library which is deployed on NodeMCU as part of the M-Bus gateway software. Check its capabilities online: Live M-Bus datagram decoder.

The following features are derived from the platform on which project is based:

  • Wi-Fi connection (such as setting up an access point, or using an existing Wi-Fi network) can be set up via the web interface;
  • NodeMCU device hosts HTTP server locally, no third-party services are used and no Internet access is required;
  • There is a built-in IDE for editing the software via the web interface (you can hack the software at runtime to add new features);
  • Responsive Web UI (usable from smartphones);
  • NodeMCU version agnostic (software can work on NodeMCU - 3.0.0).

Web interface overview: