Skip to content

Kezii/rQuansheng

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

70 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

rQuansheng

This is an highly experimental from-scratch reimplementation for a firmware for the Quansheng UV-K5 (v1) radio, made in Rust

This is not a black box reimplementation, some low-level parts are rewritten from C, some are inspired then refactored, some are original.

All the UI code is original.

Flashing the firmware

  1. cd to cross/rquansheng
  2. put the radio in DFU (PTT + turn on)
  3. run the command cargo run --release

A k5prog binary is vendored, from this fork: https://github.com/nica-f/k5prog

PC Software

rQuansheng can run on a normal PC, controlling the radio chip on a physical device through the serial cable

  1. flash the rQuansheng firmware
  2. CTRL+C at the flasher logcat
  3. go to the host_sw directory
  4. run RUST_LOG=INFO cargo run --release --bin emulator -- --serial /dev/ttyUSB0

photo

Roadmap

Basics

  • run a binary
  • pac driver
  • run RTIC
  • hal drivers
  • adc / battery level
  • bk4819 bitbang driver
  • bk4819 hal and library
  • bk1080 driver
  • keyboard driver and events
  • display driver
  • eeprom driver

High level

  • fm radio rx
  • fm radio tx
  • serial protocol for remote control
  • defmt logs wrapped by the serial protocol
  • UI for transceiver state
  • UI for menu
  • UI for wfm rx (bk1080)
  • eeprom settings save
  • support high / medium / low power tx (from eeprom calib. tables)
  • support 10 squelch levels (from eeprom calib. tables)
  • support for CTCSS / DCS etc etc
  • support AM / SSB / raw etc reception
  • AM fix (not tested)

In the far future, probably never

  • spectrum analysis
  • scanning
  • ARDF

photo

Hardware support

This is developed and works for devices with this label

photo

About

WIP Quansheng UV-K5 grounds-up reimplementation, made in Rust

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages