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:

  1. Identify the ID: Take note of the unknown Software ID printed in the error message.
  2. Brute-Force the Keys: Use the find_keys.rs script provided in the Examples section to sequentially discover the 16-bit read-access and full-access keys for your ID.
  3. Dump Memory & EEPROM: Use the dump_memory.rs and dump_eeprom.rs scripts to extract the firmware binaries.
  4. 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.
  5. Create a PR: Implement a new idXXX module in the freemdu protocol crate and submit a Pull Request. See the Contributing guide for more details.