CH32X Unlock: Authorized Firmware Recovery for WCH’s RISC-V MCUs
CH32X unlock is the process of reading protected firmware from WCH’s CH32X-series RISC-V microcontrollers when normal debug access has been disabled. The CH32X family—including the CH32X035 and related sub-variants—uses configurable read-out protection (RDP) that blocks SWD/JTAG readback once enabled. Our engineers recover flash contents from these devices for clients who own the IP but have lost source code, need to support legacy products, or must verify production firmware against a known-good binary. Authorization and proof of ownership are required before any work begins.
What Protection Does the CH32X Series Use?

WCH implements a two-tier protection scheme on the CH32X family, similar to the model used across their broader CH32V and CH32F lines but tuned for the RISC-V QingKe V4 core.
| Protection Level | Debug Access | Flash Readback | Unlock Feasibility |
|---|---|---|---|
| Level 0 (unprotected) | Full SWD | Open | No unlock needed — direct read |
| Level 1 (RDP active) | Restricted | Blocked; mass-erase restores access | High — non-invasive and semi-invasive methods available |
| Level 2 (permanent lock) | Permanently disabled | Blocked; no mass-erase path | Requires invasive analysis; case-by-case evaluation |
Most CH32X035 parts encountered in the field are set to Level 1. Level 2 permanent lock is rare in CH32X designs because it eliminates all field-update capability, but we do see it on security-sensitive products. Our feasibility assessment identifies the exact protection state before quoting.
Option Bytes and Boot Configuration
The CH32X stores protection settings in option bytes at a fixed flash address. These bytes also control boot-mode selection (main flash vs. system bootloader vs. SRAM). A misconfigured option-byte write is one of the most common reasons engineers seek CH32X unlock—a failed OTA update or debug session can inadvertently set RDP Level 1, locking out the developer’s own code.
How We Approach CH32X Unlock
Our workflow follows a least-invasive-first principle. Each step is attempted before escalating to the next, which preserves the device and minimizes cost.
- Protocol-level analysis — We probe the SWD interface and WCH’s proprietary WCHLink protocol to confirm the protection tier and check for known configuration vulnerabilities specific to the CH32X silicon revision.
- Glitch / fault-injection — For Level 1 devices, voltage-glitch and clock-glitch techniques can bypass the readback gate during the boot-ROM handshake window. The CH32X035’s QingKe V4 core has a relatively short boot sequence (~12 µs), requiring precise timing on our glitch rigs.
- Semi-invasive methods — UV exposure or laser fault injection targeting the option-byte latch, applicable when glitching alone is insufficient.
- Invasive decap + micro-probing — Reserved for Level 2 or hardened silicon revisions. We chemically decapsulate the die and use micro-probing stations to read internal bus lines directly. This is destructive to the package but not necessarily to the die.
For the majority of CH32X Level 1 jobs, steps 1–2 are sufficient. Our engineers have handled over a dozen CH32X035 recovery projects in the past year, and Level 1 recoveries consistently complete without decapping.
Typical Cost and Lead Time
Pricing depends on protection level, flash size, and whether the part is a standard CH32X035 or a custom-mask variant. The ranges below reflect our recent project history.
| Scenario | Estimated Cost (USD) | Lead Time (Working Days) |
|---|---|---|
| Level 1, standard CH32X035, ≤64 KB flash | $400 – $800 | 5 – 8 |
| Level 1, CH32X035 variant, 128 KB flash | $600 – $1,200 | 7 – 10 |
| Level 2, invasive analysis required | $2,000 – $5,000+ | 15 – 30 |
| Feasibility evaluation only (no-commit) | $0 – $150 | 2 – 3 |
We offer a no-recovery-no-fee policy on Level 1 attempts. For Level 2 jobs, a non-refundable evaluation fee covers decap preparation and die inspection; the balance is invoiced only on successful readout.
What You Receive After CH32X Unlock
Deliverables are tailored to your downstream need:
- Raw binary (.bin) — byte-for-byte flash image, including option bytes and any user-data area.
- Intel HEX (.hex) — address-annotated format ready for WCH’s WCHISPTool or third-party programmers.
- Disassembly listing — optional RISC-V disassembly with symbol-table reconstruction (additional fee; useful for porting or debugging).
- Option-byte map — documented protection and boot-config state so you can reproduce or modify the configuration on new parts.
All files are delivered encrypted via our secure portal. We retain no copies after the agreed retention window (default 30 days) unless you request archival.
CH32X vs. Other WCH Families

WCH produces several RISC-V MCU families. The CH32X series sits between the ultra-low-cost CH32V003 and the wireless-enabled CH573/CH579 lines. Protection mechanisms differ enough that techniques proven on one family don’t always transfer directly.
| Family | Core | Typical Flash | Protection Notes |
|---|---|---|---|
| CH32X035 | QingKe V4 (RV32) | 48–128 KB | 2-tier RDP; USB PD boot path |
| CH32V003 | QingKe V2 (RV32EC) | 16 KB | Single-level RDP; simpler boot ROM |
| CH573 | QingKe V3A (RV32IMAC) | 448 KB + BLE stack | Code-protect + BLE OTA considerations |
| CH579 | QingKe V3A (RV32IMAC) | 256 KB + BLE/ETH | Similar to CH573 with Ethernet boot path |
If your target is actually a CH573 with BLE firmware or a CH579 with Ethernet connectivity, the unlock approach and pricing will differ. Confirm the exact part marking before requesting a quote—WCH’s naming can be confusing across product lines.
Authorization and Legal Requirements
CH32X unlock is performed exclusively for authorized parties. Before we begin, you must provide one of the following:
- Proof of IP ownership (design files, purchase orders for the original development).
- Written authorization from the IP holder (e.g., a client letter or license agreement).
- Evidence of legitimate maintenance need (end-of-life product support, warranty obligation).
All work is covered by our mutual NDA. We do not assist with circumventing third-party protections for the purpose of cloning or pirating proprietary firmware.
Common Failure Modes and Honest Caveats
Not every CH32X unlock succeeds. Transparency about limitations saves both parties time:
- Damaged bond wires — If the chip was subjected to ESD or overcurrent, internal connections may be severed, making even invasive reads impossible.
- Custom-mask variants — Some OEMs order CH32X parts with modified boot ROMs. These require fresh reverse engineering of the boot sequence, adding 5–10 days.
- Encrypted application payloads — Even after a successful flash dump, if the firmware itself encrypts its payload with a key derived from the unique device ID, the binary may not be directly reusable on a different chip without key reconstruction.
- Silicon revision changes — WCH has released multiple die revisions of the CH32X035. A technique that works on Rev. A may need recalibration for Rev. C. We track revision differences, but new steppings occasionally require R&D time.
Our feasibility evaluation catches most of these issues before you commit budget. We recommend starting there if you’re uncertain about the chip’s condition.
Related MCU Unlock Services
Engineers working with Chinese-domestic RISC-V and ARM MCUs often need unlock services across multiple vendor families. Our lab handles a wide range of parts beyond WCH, including Puya PY32 flash recovery, AirMCU AIR32 firmware extraction, and MindMotion MM32 readout protection bypass. For Nordic Semiconductor designs, we also cover the nRF53 APPROTECT unlock path.
Check feasibility for your project
Send the chip marking or board details and tell us what you need to recover. Add clear photos if available.
Request a feasibility reviewCan CH32X unlock recover firmware if the chip was erased?
No. If a mass-erase was executed (either intentionally or via the RDP downgrade path), the flash contents are zeroed. Our unlock techniques bypass the read-protection gate—they do not reconstruct erased data. If you suspect an erase occurred, send the chip for evaluation; residual charge analysis can occasionally recover partial data from recently erased NOR flash, but success rates are low.
How many sample chips should I send for CH32X unlock?
For Level 1 attempts, one chip is usually sufficient since the process is non-destructive. For Level 2 invasive work, we recommend sending 2–3 identical programmed samples. Decapsulation is destructive to the package, and having spares lets us refine the process if the first die is damaged during chemical etching.
Is CH32X unlock legal for my use case?
Firmware recovery is legal when performed on your own IP or with the IP holder’s written consent. Common lawful scenarios include recovering lost source code, verifying contract-manufacturer output, and maintaining end-of-life products. We require proof of authorization before starting. Unauthorized extraction of third-party proprietary code is not a service we provide.
What is the difference between CH32X and CH32V for unlock purposes?
The CH32X035 uses WCH’s QingKe V4 core with a USB PD-capable boot path and a two-tier RDP scheme. The CH32V series (e.g., CH32V003, CH32V103) uses different core variants and boot-ROM implementations. Glitch timing, voltage thresholds, and semi-invasive entry points differ between the two families, so a technique validated on CH32V does not automatically apply to CH32X.
Can the recovered firmware be programmed onto a new CH32X chip?
Yes, provided the firmware does not use the original chip’s unique ID for runtime licensing or encryption. The .bin or .hex file we deliver can be flashed via WCHISPTool or an SWD programmer onto a blank CH32X035. If unique-ID binding is detected, we document it in our report so you can address it in your application code.
Working on a board like this?
Send the chip marking or two photos. You get feasibility, lead time and price within 24 hours, and the check costs nothing.
Get a free quote