Skip to main content

USBDM

MultiProg works with USBDM_CF_JMxxCLD or JMxxCLD, supporting DSC controllers (MC56F), on the MC9S08JM60 controller. USBDM

Starting with MultiProg 2.3.0, USBDM JS16 is also supported — for HCS08 controllers.

Which USBDM to pick
  • HCS08 — can be programmed via either JMxx (Full) or JS16.
  • DSC (MC56F) — only via JMxx. JS16 will not work for these.

Preparing USBDM for use

Starting with MultiProg 2.3.3, USBDM drivers and the firmware updater ship in the bundle — you no longer need to download them from SourceForge. Bundled driver version is 4.12.3, updater version is 4.12.1.340.

On first launch MultiProg unpacks the archives into the user profile:

%USERPROFILE%\KuragaTech\MultiProg\programmer_utils\usbdm\
├── USBDM_Drivers_4_12_3_Win_x64.zip ← Drivers (~5.5 MB)
├── USBDM_Drivers_4_12_3_Win_x64\ ← (already extracted)
│ └── USBDM_Drivers_4_12_3_Win_x64.msi
├── USBDM_FirmwareUpdater_4.12.1.340_slim.zip ← Firmware Updater (~9.5 MB)
└── USBDM_FirmwareUpdater_4.12.1.340_slim\ ← (already extracted)
├── FirmwareChanger.exe
├── JS16_Bootloader.exe
└── JB16_Bootloader.exe

The folder lives under %USERPROFILE% (C:\Users\<your_user>), so administrator rights are not required to run the utilities. The updater is a slim build (~9.5 MB; from the 183 MB original MSI only what's needed to reflash JS16/JMxx is included — no Eclipse, no GCC, etc.).

Quick access from MultiProg

On typical USBDM errors ("USBDM not connected", "Unsupported USBDM programmer", "Firmware Updater", "Programmer not found") the error dialog shows an "Open USBDM Utilities" button — it opens the folder in Explorer with a single click.

USBDM author's documentation

The original USBDM author's documentation — in case you want to go deeper into the internals.

Before first use of USBDM — two steps.

Step 1. Install the drivers

  1. Open the USBDM_Drivers_4_12_3_Win_x64\ folder (or unzip the same-named .zip).
  2. Run USBDM_Drivers_4_12_3_Win_x64.msi and walk through the installer.
  3. Plug USBDM into the computer.
  4. Make sure USBDM appears in Device Manager and is recognized without errors.
  5. Ensure the USB port provides enough power and the cable is in good shape.

Step 2. Reflash USBDM

Reflash anyway

Even if the firmware version number matches the current one — reflash it. Some suppliers (especially of Chinese clones) replace the firmware version number without updating the actual contents.

  1. Open the USBDM_FirmwareUpdater_4.12.1.340_slim\ folder (or unzip the same-named .zip).

  2. Run FirmwareChanger.exe.

    USBDM Firmware Updater

  3. Tick Auto select BDM Firmware.

  4. Click Program Flash and wait for completion.

JS16 / JB16 Bootloader

JS16_Bootloader.exe and JB16_Bootloader.exe in the same folder are separate bootloaders for cases where the standard FirmwareChanger doesn't see the USBDM (typically used for the very first firmware upload onto a bare MC9S08JS16 / JB16). They are not needed for a routine reflash.

Verification

USBDM JMxx (Full)

Select any USBDM target and press VDD.

USBDM

The power indicator should light up on the USBDM. Press it again to turn it off.

USBDM JS16

On JS16, power is supplied not via software but by a jumper on the programmer board — don't forget to install it before connecting to the MCU. There is no VDD button for JS16 in the GUI, so the only way to confirm it works is to actually connect to a real MCU (select the target, click Read / Connect).

Power Selector

You can choose between 3.3V and 5V. To turn it on, press it; if it lights up green - power is on, gray means off. It is a toggle, meaning it can be switched; press it and it will turn off. Don’t forget to turn it off :)

Typical Connection

For an example, you can see the connection of the MC56F8035 controller. The connector marked DSC is used. USBDM

Common Errors

USB Error

  • Drivers: Necessary drivers may be outdated or missing.
  • USB Power: The device may not be receiving sufficient power.
  • USB Cable: Check the integrity and functionality of the USB cable.
  • Program Conflict: Two programs are trying to access the device simultaneously.

TargetNotConnected

The programmer is connected, but the controller is not found.

  • Connection: Most often related to the connection to the controller.
  • Actions Inactive: Buttons are gray because the processor is not connected; we cannot perform any actions with it.
  • JTAG ID 0xFFFFFFF: This means that we attempted to connect via JTAG, but we have an empty line, i.e., the processor did not return any ID = not connected.
  • BDM Firmware: This error has a 20% chance of being caused by a counterfeit Chinese USBDM firmware, i.e., a 20% statistical likelihood.

That's it! You and USBDM are ready to work. Let’s go! 🚀