ch549-link WCH-Link firmware flasher
Source
  1. 1Bootloader
  2. 2Board
  3. 3Firmware
  4. 4Flash

Put the board in bootloader mode

The CH549's bootloader lives in ROM and cannot be erased, so this is always recoverable. It is entered with the button, not with software.

CH549 WCH-Link clone, top view. The button is at the bottom right, next to the USB-C connector. 1 2
  1. Unplug the board from USB.
  2. Hold the button down — marker 1, next to the USB connector.
  3. Plug the cable back in — marker 2 — while still holding.
  4. Release. The board now enumerates as 4348:55e0.

The button is only sampled as power arrives. Pressing it while the board is already powered does nothing — you have to replug.

Opens the browser's USB device picker.

Board connected

Reported by the factory bootloader.

The bootloader cannot report which firmware is installed — it has no read-flash command. To find that out, plug the board in without holding the button and look at how it enumerates: 1209:c550 is the SWIO debugger, 1a86:8010 is stock WCH-Link in RISC-V mode.

Choose firmware

Every image here writes from address 0 and carries its own loader.

loading manifest…
Flash your own .bin

Must be a complete CH549 image starting at address 0 — a WCH FIRMWARE_*.bin app image will not boot, it has no loader in front of it.

Ready to flash

This erases the CH549 and writes the image below.

Log
ready.