# BSH home appliances: what D-Bus on a washing machine actually reveals

> This repository documents reverse engineering of Bosch, Siemens and sibling washing machines, dryers and dishwashers, including the D-Bus wiring between the power module, the user panel and the unbalance sensor. It is a research record rather than a tool, and the project puts a serious electrical safety warning ahead of everything else.

**hn/bsh-home-appliances** — BSH Bosch Siemens home appliances reverse engineering: D-Bus, washing machine, dryer electronics

- Repository: https://github.com/hn/bsh-home-appliances
- Stars: 620 · Forks: 54
- Language: C++
- License: not declared
- Published: 2026-10-22 · Updated: 2026-10-22 · Language: en
- Canonical page: https://hysenlabs.com/projects/hn-bsh-home-appliances

## The first thing the project does is warn you about electricity

Before any technical content, the repository spends several paragraphs on hazards, and the tone is deliberately blunt. Household appliances work with high voltages and currents, they generate heat and steam, they shake and vibrate and have rotating parts, and parts can get wet or hot, move or fall off. The project asks that you have expert knowledge of electrics and take appropriate safety measures before opening or modifying such an appliance. A second warning covers the subtler point that even parts operating at low voltage may or may not be isolated from earth depending on the model, and that this is a good chance of death or serious injury, with an instruction never to connect external devices such as a computer directly to the appliance electronics. The author then adds that everything is distributed in the hope it will be useful, without warranty or fitness for a particular purpose, and that if you damage the appliance or flood or burn down your house, you do so at your own risk. That framing belongs in any review of this project because the whole field it operates in involves probing live hardware.

## What is actually inside the machine is simpler than the marketing

The hardware section makes a claim that underpins the rest of the findings. Even if the marketing copy suggests otherwise, the technology of household appliances is relatively straightforward. A number of motors, heaters, valves and sensors are connected to a control unit and made available to the user through the fanciest possible interface. The second claim is the one that matters for anyone hoping to reuse findings across models: a manufacturer's devices, regardless of their external appearance and brand logo, differ only marginally on the inside. That is the argument for reverse engineering one model in depth rather than many superficially. The findings are said to apply probably only to a certain generation of appliances, namely those with EP circuit boards, where the washing machine boards are labelled EPW, likely Elektronik Platine Waschmaschine, the dryer boards EPT for Trockner, and the dishwasher boards EPG for Geschirrspüler. The catch is stated plainly, there is no known way of deducing the board version from the external appearance or the model name, so you have to open the machine and look inside.

## EPW66018 and the D-Bus connector that carries the machine

The worked example is a Siemens WM14S750 washing machine, sold from around 2010 and described as a test winner for a German consumer magazine at the time. The power module EPW66018 is based on a Freescale, now NXP, MC9S12Q128C-PBE16 microcontroller in a 52 pin LQFP package, and it also supplies power to all the connected electronics. It has 11 RAST connectors for input and output, and the project publishes the connector numbering with a note that it is according to the PCB front photograph.

```text
01 ?
02 Switch (not front door?)
03 ?
04 ?
05 ?
06 ?
07 ?
08 Pressure sensor and likely D-Bus on one half of the connector, not tested
09 D-Bus
10 D-Bus
11 D-Bus
```

Three of the connectors are identified as D-Bus, and an eighth carries the pressure sensor plus probably more D-Bus on one half of the connector, which the author notes was not tested. Several pins are simply unknown, which is an honest record of the state of the work rather than a polished diagram. The D-Bus bus is therefore the backbone of the machine, and it is what the rest of the project attaches to.

## The user panel and the unbalance sensor talk over the same bus

Two more boards show how the architecture fits together. The user interface panel, EPW66027, lets the user select 15 washing programs, 8 temperatures, 7 spin speeds and other options, and its mechanical rotary switch does double duty, selecting the program and also switching the mains power on and off. That panel is connected to the power module over D-Bus. The unbalance sensor, part SEUFFER 9000444823, detects unbalanced loads and uses a PIC18F24J10 microcontroller in a 28 pin QFN package together with an A007MPL DREMAS integrated circuit, where MPL likely means a custom made Mask Programmable Logic and the manufacturer describes it as a specialised 3D hall sensor, with the corresponding magnet attached to the washing drum. This sensor is also connected to the power module via D-Bus. So the panel and the sensor are both clients on the bus that the power module hosts, which is exactly the topology that makes logging feasible.

## The unbalance sensor can be read and flashed over a five pin contact

The most actionable hardware finding in the excerpt is the programming interface on the unbalance sensor. There are 5 contact points on the back of the board that form a contact for in-circuit serial programming, that is ICSP, running top to bottom as the plus sign, VDD, PGC, PGD, MCLR and VSS/GND. The chip can be interfaced with a PICkit programmer, and the excerpt ends mid-sentence on the MPLAB toolchain. For anyone comfortable with microcontrollers this is the point of the whole exercise, because a serial programming contact means the sensor is not a sealed black box. It also sets the tone for the rest of the repository, where the emphasis is on what the author physically measured and photographed rather than on speculation. The photos directory in the tree, with front and back PCB images and an enclosure shot, is the evidence layer, and the board numbers in the file names make the archive searchable by part.

## The tooling: a D-Bus logger, a Home Assistant config and a D-Bus analyzer

The repository is more than notes, and the top level file listing shows the working artefacts. There is a Perl D-Bus logger, an ESP32 D-Bus logger sketch for the Arduino platform, a D-Bus pinout image, a D-Bus power plug image and a self contained HTML D-Bus analyzer. There is a YAML file describing the WM14S750 setup for Home Assistant, a screenshot of the washing machine in Home Assistant and a lab setup photograph. There are separate markdown documents for the dishwasher and the dryer, and one for the WLAN module, which suggests the project covers more than the single washing machine described above. A components directory, a contrib directory and an open-dbus2 directory point to reusable pieces and to a bundled copy of the D-Bus implementation. The topics carried by the repository also mention ESPHome, a Home Assistant component and Home Connect, so the intended outcome is a network-attached appliance you can drive from a home automation system rather than a series of dead ends.

## Legal framing, licence gap and a talk at a conference

Two things about how the project positions itself. The affiliation disclaimer says the project is in no way affiliated with B/S/H/ and that no intellectual property of B/S/H/ was used at any time, which is a claim about method rather than a legal opinion you should take on trust. There is also a licensing gap worth flagging. The repository entry lists no licence identifier, and there is no licence file in the top level entries, which means the default copyright rules apply and you do not have a clear permission grant for redistribution or for shipping derived code in a product. The project asks for something else instead: if you use any information or code found there, link back to the project, and it asks readers to open a discussion to report successful projects and share them with others. The findings have also been presented publicly, with a talk at the 39C3 congress in 2025 and a recording of it available. The site is described as having been developed by BSH PED in Regensburg, a unit that previously worked with the automotive industry, which explains why some components and approaches resemble what you would find in a car.

## Conclusion

This repository fits a home automation tinkerer who wants to know what a Bosch or Siemens appliance exposes on its D-Bus bus before buying an ESP32 board and a level shifter, and it fits a security researcher who wants a documented, hardware-grounded example of reverse engineering consumer electronics. It does not fit anyone who is not prepared to open a mains powered appliance, because the project states the danger plainly and lists damage to the appliance, to the house and to people as outcomes of carelessness. Before you connect anything, read the warnings in the project, confirm the board generation in your own machine since the findings are said to apply only to EP boards, and treat the pin listing as a starting point to verify against your own model rather than a wiring diagram to trust.

## FAQ

### What does the BSH home appliances reverse engineering project cover?

It documents what was found by reverse engineering Bosch and Siemens household appliances, including the D-Bus wiring between the power module, the user interface panel and the unbalance sensor in a Siemens WM14S750 washing machine, along with board pinouts and photographs of the circuit boards.

### Is it safe to open a Bosch or Siemens washing machine and connect to it?

The project states that household appliances work with high voltages and currents, that even low voltage parts may not be isolated from earth depending on the model, and that external devices such as a computer should never be connected directly to the appliance electronics. It asks that you have expert knowledge of electrics and take appropriate safety measures first.

### What hardware do I need to follow along with the findings?

The project shows a D-Bus logger written in Perl, an ESP32 D-Bus logger sketch, and for the unbalance sensor a 5 pin in-circuit serial programming contact with the pins ordered as plus sign, VDD, PGC, PGD, MCLR and VSS/GND, which can be interfaced with a PICkit programmer.

### Do the findings apply to every Bosch and Siemens appliance?

The project says they are probably only applicable to a certain generation of appliances, those with EP circuit boards, labelled EPW for washing machines, EPT for dryers and EPG for dishwashers. It also notes there is currently no known way of deducing the board version from the external appearance or the model name, so you have to open the machine and look.

### How can a washing machine be integrated with Home Assistant?

The repository includes a YAML configuration for the WM14S750, a Home Assistant screenshot of the washing machine and a lab setup photograph, and the project topics list ESPHome, a Home Assistant component and Home Connect.

## Sources

- [hn/bsh-home-appliances on GitHub](https://github.com/hn/bsh-home-appliances)
- [Issues](https://github.com/hn/bsh-home-appliances/issues)
- [README](https://github.com/hn/bsh-home-appliances/blob/master/README.md)

---

Hysen Labs editorial analysis, written from the project's own repository and release notes. Cite the canonical page: https://hysenlabs.com/projects/hn-bsh-home-appliances
