
The FreeMDU project provides open hardware and software tools to communicate with Miele devices via their optical diagnostic interface. It serves as a free and open alternative to ownership Miele Diagnostic Utility (MDU) Software, which is available only to registered service technicians.
Most Miele appliances manufactured after 1996 include an optical infrared-based diagnostic interface, hidden behind one of the indicator lights on the front panel. On older devices, this interface is marked by a Program Update (PC) label.
Until now, communication with this interface required expensive infrared adapters sold exclusively by Miele, with their closed-source software. FreeMDU aims to make this interface accessible to everyone for diagnostic and home automation purposes.
The project is divided into three main components:
- Etiquette:Core protocol libraries and device implementations
- tui: terminal-based device diagnostic and testing tools
- Home: Communication adapter firmware with MQTT integration for Home Assistant
More details about the proprietary diagnostic interface and the reverse-engineering process behind this project can be found in blog post,
Caution
This project is highly experimental and may cause permanent damage to your Miele appliances if not used responsibly. Proceed at your own risk.
When a connection is established through the diagnostic interface, the device responds with software idA 16-bit number that uniquely identifies the firmware version running on the device’s microcontroller. However, this ID does not directly correspond to a specific model or board type, so it is impossible to provide a comprehensive list of supported models.
The following table lists the software IDs and device/board combinations that have been confirmed to work with FreeMDU:
| software id | equipment | plank | microcontroller | optical interface location | Situation |
|---|---|---|---|---|---|
| 360 | bare board | EDPW 223-A | Mitsubishi M38078MC-065FP | Check Inlet (PC) indicator | 🟢Fully supported |
| 419 | bare board | edpw 206 | Mitsubishi M37451MC-804FP | Check Inlet (PC) indicator | 🟢Fully supported |
| 605 | G651i Plus-3 | EGPL 542-C | Mitsubishi M38027M8 | salt (pc) indicator | 🟢Fully supported |
| 629 | w 2446 | EDPL 126-B | Mitsubishi M38079MF-308FP | Check Inlet (PC) indicator | 🟢Fully supported |
If your device is not listed here, but has the same model number as one of the above, it may already be compatible. In all other cases, the determination of software id This is the first step towards adding support for new devices.
Details on adding support for new devices will be provided soon.
Before using any FreeMDU components, make sure the Rust toolchain is installed on your system.
Next, you will need to create a communications adapter to interface with your Miele device. Once the adapter is ready, select the appropriate use case from the options below:
Device Diagnostics and Testing
If you wish to repair or test your device:
Flash Home Firmware Bridge Mode Put on your communication adapter and attach it to your device.
Run the TUI application on your desktop computer.
Integration into home automation systems
If you want to integrate your device into house assistant Or any other home automation system:
- Flash Home Firmware standalone mode Put on your communication adapter and attach it to your device.
If you want to develop your own software to communicate with Miele appliances:
Flash Home Firmware Bridge Mode Put on your communication adapter and attach it to your device.
Use Protocol Crate to implement your custom software.
It is a free, open-source project and Miele & Cie. Not associated, endorsed or sponsored by KG Or his associates. All product names and trademarks are the property of their respective owners. References to Miele appliances are for descriptive purposes only and do not indicate any association with Miele.
is licensed under one of the
At your option.
Unless you explicitly state otherwise, any Contribution you intentionally submit for inclusion in the Work will be dual-licensed as described above, without any additional terms or conditions, as defined in the Apache-2.0 License.
