-
Notifications
You must be signed in to change notification settings - Fork 3
Hardware Compatibility
quansheng_toolkit supports the PY32F071 family of Quansheng radios end-to-end (read, write, settings, calibration, DFU flash). The DP32G030 family shares enough of the EEPROM layout that read-only access should work, but is currently hardware-untested.
- Compatibility matrix
- How to identify your radio
- MCU and bootloader detection
- F4HWN vs Quansheng stock — what changes
- Out-of-scope models
| Model | MCU | Stock firmware | F4HWN compatible | Toolkit support |
|---|---|---|---|---|
| Quansheng UV-K1 (standard) | PY32F071 | 7.03.x | ✅ Fusion 5.x | ✅ read · write · settings · calibration · DFU flash |
| Quansheng UV-K1(8) v3 Mini Kong | PY32F071 + 2 MB SPI flash | 7.02.x | ✅ Fusion 5.x | ✅ read · write · settings · calibration (verified end-to-end with V/M, ChName, ChDel) |
| Quansheng UV-K5 V3 | PY32F071 | 7.00.x | ✅ Fusion 5.x | ✅ read · write · settings · calibration · DFU flash |
| Quansheng UV-K5 (original) | DP32G030 | 2.00.x | ✅ Fusion 4.x | 🚧 read-only, hardware-untested in this toolkit |
| Quansheng UV-K5(8) | DP32G030 | 2.00.x | ✅ Fusion 4.x | 🚧 read-only, hardware-untested |
| Quansheng UV-K6 | DP32G030 | 2.00.x | ✅ Fusion 4.x | 🚧 read-only, hardware-untested |
| Quansheng 5R+ | DP32G030 | — | ✅ Fusion 4.x | 🚧 read-only, hardware-untested |
| Quansheng UV-TK11 Taiko Kong | TBD | TBD | ❌ no port yet | 🚧 in roadmap |
Legend: ✅ = supported and tested · 🚧 = partial / untested · ❌ = not supported.
Quansheng's naming is famously messy — the same external label can hide different MCUs. Use the heuristics below before flashing anything.
Pop off the battery. There's usually a printed label with model code (e.g. UV-K5(8) or UV-K1) and a hardware revision (e.g. V3).
On factory firmware, navigate to the equivalent of About / Version:
- Stock 7.00.x → UV-K5 V3 family (PY32F071)
- Stock 7.02.x / 7.03.x → UV-K1 family (PY32F071)
- Stock 2.00.x → original UV-K5 / K5(8) / K6 / 5R+ (DP32G030)
If you're already running F4HWN, the splash shows:
-
F4HWN_5.x→ PY32F071 build (works with this toolkit) -
F4HWN_4.x(withK5/K6in the build name) → DP32G030 build (the original Egzumer fork)
The single most authoritative identifier is the bootloader version, which is part of the silicon and doesn't change with the firmware. Boot the radio in DFU mode (PTT + Side Key 2 while powering on, LCD blank) and run:
python -m quansheng_toolkit dfu-infoThe toolkit prints the bootloader version and identifies the radio:
| Bootloader | Radio | MCU |
|---|---|---|
7.00.07 |
UV-K5 V3 or UV-K1(8) v3 Mini Kong | PY32F071 |
7.03.01 |
UV-K1 standard | PY32F071 |
| (older) | UV-K5 / K5(8) / K6 / 5R+ | DP32G030 — different protocol, not supported by toolkit's DFU code yet |
Important
Bootloader 7.00.07 is shared between UV-K5 V3 and UV-K1(8) v3 Mini Kong. The toolkit treats them as a single target (k5_v3) for DFU flashing, because the F4HWN PY32F071 build runs on both. Read/write of EEPROM also works on both, but the K1(8) v3 has a 2 MB SPI flash that the standard UV-K5 V3 lacks — used by F4HWN for extended channel storage.
To inspect the live radio without flashing:
# Normal mode (firmware running)
python -m quansheng_toolkit info
# DFU / bootloader mode (PTT + Side Key 2 boot)
python -m quansheng_toolkit dfu-infoinfo reports the firmware version. dfu-info reports the bootloader version — that's the one you need before any flash decision.
| Capability | F4HWN | Quansheng stock |
|---|---|---|
| EEPROM read | ✅ | ✅ |
| EEPROM write | ✅ | ✅ on K1, |
| Channel grid | ✅ same memory map | ✅ same memory map |
| F4HWN-specific settings (~76 entries: Sets, audio profiles, scope, etc.) | ✅ | ❌ — entries don't exist |
| Quansheng-specific settings (~34 entries) | ✅ | ✅ |
| Live LCD mirror | ✅ (F4HWN-only protocol over USB) | ❌ |
| 24 scan lists | ✅ | ❌ — stock has only 2 |
| Bootloader version | unchanged | unchanged |
Warning
K5 V3 stock is read-only from every open-source toolkit, not just this one. The factory firmware silently rejects EEPROM write commands. To get write support on a K5 V3, flash F4HWN. See Flashing Firmware.
The following are not in scope for this project. They are different chipsets / different vendors:
- Quansheng UV-5R+ (older model, different memory map)
- Quansheng UV-K6 — DP32G030, like the original K5; will be tested when hardware is available
- Baofeng / Radtel / TYT clones — different vendors, usually different MCUs
-
UV-K5 V1, V2 — DP32G030, partially supported via the legacy
_uvk5_v1modules but explicitly out of scope for testing in this project
If you have a model not listed in the matrix and it talks the same EEPROM protocol, the read path might work — try python -m quansheng_toolkit read -o test.bin and see. Do not write or flash without confirming the bootloader version.
Next: Flashing Firmware for the DFU procedure.
quansheng_toolkit · Apache-2.0 · Open-source desktop toolkit for Quansheng UV-K1, UV-K1(8) v3 Mini Kong and UV-K5 V3 radios · Fully offline.