Supported Devices
When a protocol connection is initialized via the diagnostic interface, the appliance answers with its Software ID. This 16-bit numeric value is the most critical piece of identification; it uniquely identifies the exact firmware revision loaded onto the appliance's microcontroller.
Understanding Software IDs vs. Model Numbers
A common pitfall is assuming that a specific Miele model number (e.g., "W 980") guarantees a specific Software ID. This is incorrect. Microcontroller boards (like the EDPW series) were routinely swapped, revised, or reused across different product lines and manufacturing years.
Because a Software ID dictates the memory map and access keys rather than the cosmetic model number, FreeMDU bundles logic exclusively based on these IDs. It is impossible to provide an exhaustive, guaranteed list of supported retail models.
Confirmed Compatible Hardware
The table below outlines the specific Software IDs, control boards, and Mitsubishi microcontrollers that have been successfully reverse-engineered, tested, and implemented within the FreeMDU library.
| Software ID | Typical Device / Series | Internal Board | Microcontroller Chip | Optical Interface Location | Library Module |
|---|---|---|---|---|---|
| 324 | W 980 / W 8xx/9xx Series | EDPW 213 | Mitsubishi M37451MC | Check inlet (PC) indicator | id324 |
| 360 | Bare board / W 3xx Series | EDPW 223-A | Mitsubishi M38078MC-065FP | Check inlet (PC) indicator | id360 |
| 419 | Bare board / W 8xx/9xx Series | EDPW 206 | Mitsubishi M37451MC-804FP | Check inlet (PC) indicator | id419 |
| 469 | W 487 S / W 4xx Series | EDPW 228-A | Mitsubishi M38078MF | Check inlet (PC) indicator | id469 |
| 605 | G 651 I PLUS-3 / G 6xx Series | EGPL 542-C | Mitsubishi M38027M8 | Salt (PC) indicator | id605 |
| 629 | W 2446 / W 2xxx Series | EDPL 126-B | Mitsubishi M38079MF-308FP | Check inlet (PC) indicator | id629 |
Note: If your appliance is not explicitly listed here but belongs to the W8xx, W9xx, or W3xxx series, there is a high probability it shares a board and software ID with one of the devices above and will work natively.
How to Help Support New Devices
If you attach your FreeMDU adapter to a machine and the TUI fails with an UnknownSoftwareId error, it means the hardware handshake was successful, but FreeMDU lacks the memory map and unlock keys for your specific appliance.
You can help expand support by reverse-engineering the interface. The standard workflow for adding a new device is as follows:
- Identify the ID: Take note of the unknown Software ID printed in the error message.
- Brute-Force the Keys: Use the
find_keys.rsscript provided in the Examples section to sequentially discover the 16-bit read-access and full-access keys for your ID. - Dump Memory & EEPROM: Use the
dump_memory.rsanddump_eeprom.rsscripts to extract the firmware binaries. - Analyze the Hex Data: Load the dumps into a tool like Ghidra or a hex editor. Observe memory addresses while physically changing states on the machine (e.g., turning the dial, changing temperature) to map out the sensor locations.
- Create a PR: Implement a new
idXXXmodule in thefreemduprotocol crate and submit a Pull Request. See the Contributing guide for more details.