Skip to content

v0.3.0 — Initial public release

Latest

Choose a tag to compare

@github-actions github-actions released this 07 May 15:12

The first public release of quansheng_toolkit — an open-source desktop toolkit for Quansheng UV-K1, UV-K1(8) v3 Mini Kong and UV-K5 V3 radios. Channels, settings, calibration, DTMF, live LCD mirror, anti-brick DFU firmware flashing — from a polished GUI or the CLI. Fully offline. Portable single binary. Apache-2.0.

Downloads

Platform File Notes
Windows quansheng-toolkit.exe ~71 MB, single self-contained binary. Double-click to run. SmartScreen → "More info → Run anyway" on first launch.
macOS quansheng-toolkit Single binary. Make executable (chmod +x quansheng-toolkit) and run from Terminal.
Linux build from source See Installation guide. ~2 minutes on a fresh distro.

What it does

  • Channels — read, write, CHIRP-compatible CSV import/export (21-column format)
  • Scan lists — 24 named lists, round-trip in CSV via Comment column
  • Settings — ~110 named entries across F4HWN 5.x and Quansheng stock
  • Calibration — dump, restore, byte-level diff between dumps
  • DTMF contacts — full 16-slot phonebook editor
  • Live LCD mirror — real-time screen mirror over USB, save PNG screenshots
  • Boot logo — text editor (2×16 lines)
  • DFU firmware flashing with anti-brick allowlist — refuses any combination not matching your live bootloader
  • 9 bundled firmwares (F4HWN open-source + Quansheng stock), SHA-256-pinned, no separate downloads
  • Hex viewer — read-only diagnostic pane
  • Cockpit-themed UI — 5 palette families × Light/Dark, wheel-edit guard

Supported hardware

Model Status
Quansheng UV-K1 ✅ read · write · settings · calibration · DFU flash
Quansheng UV-K1(8) v3 Mini Kong ✅ read · write · settings · calibration
Quansheng UV-K5 V3 ✅ read · write · settings · calibration · DFU flash (F4HWN). ⚠️ Read-only on stock firmware.
UV-K5 / K5(8) / K6 / 5R+ (DP32G030) 🚧 same memory map, hardware-untested in this project
UV-TK11 Taiko Kong 🚧 in roadmap

Why "fully offline" matters

Zero network calls during normal operation. The Windows .exe bundles Python, Qt, the toolkit code and all 9 firmware images — drop it on a USB stick and you have a complete portable radio-maintenance kit you can plug into any PC at a hamfest, club meeting, field site or air-gapped facility, with no internet required.

Documentation

  • End-user manual: Wiki — installation, hardware identification, flashing, channels, calibration, CLI reference, troubleshooting.
  • Developer docs: CONTRIBUTING.md — radio-safety policy, bootloader-mapping process, EEPROM map.

Known limitations

  • Quansheng stock firmware on UV-K5 V3 silently rejects EEPROM writes (firmware-side limitation; same on every open-source toolkit). Flash F4HWN to get write support.
  • The Windows .exe is not yet code-signed — SmartScreen will warn on first launch. Code-signing certificate is on the roadmap.
  • No prebuilt Linux binary. Linux users build from source.
  • UV-TK11 not yet supported (no hardware on hand for testing).

Validated firmware flashes

Radio Bootloader Firmware
UV-K5 V3 7.00.07 F4HWN Fusion 4.3, 5.4
UV-K1 standard 7.03.01 F4HWN Fusion 5.4
UV-K1(8) v3 Mini Kong 7.00.07 F4HWN Fusion 5.4

Quality

  • 377 unit tests passing on Windows, macOS, Linux × Python 3.11 / 3.12 / 3.13
  • Anti-brick DFU allowlist with three-stage confirmation
  • Apply-changes verifies every 64-byte block byte-for-byte against a re-read

Credits

  • F4HWN firmware by @armel and contributors — Apache-2.0. The custom firmware that makes most of these features possible. Bundled .bin images are unmodified copies of upstream releases.
  • Quansheng — manufacturer of the radios + stock firmware (proprietary, freely distributed at qsfj.com), bundled unmodified.
  • CHIRP by Dan Smith (kk7ds) — the channel CSV format we read/write is the same CHIRP exports.
  • muzkr / amnemonic — original K5/K1 protocol reverse-engineering references.
  • DualTachyon — the original open-source UV-K5 firmware that started the whole ecosystem.

Bug reports and feature requests welcome via Issues. For longer discussions, Discussions.