Releases: armel/uv-k1-k5v3-firmware-custom
Release list
F4HWN v5.9.0
🌐 Translate
Automatic translation is available via Google Translate: Open translated version.
🔥About this firmware
This firmware is a fork of the F4HWN custom firmware. It extends the work originally done for the UV-K5 V1 (DP32G030 MCU) and adapts it to the newer UV-K1 and UV-K5 V3, which are based on the PY32F071 MCU. It is the result of joint work by @muzkr and @armel. Many thanks to @mrkusypl for his huge contributions!
This release, called 🔥Fusion edition, merges into a single firmware all the different editions I previously released for the UV-K5 V1.
Warning
THIS FIRMWARE HAS NO REAL BRAIN. PLEASE USE YOUR OWN. Use this firmware at your own risk (entirely). There is absolutely no guarantee that it will work in any way shape or form on your radio(s), it may even brick your radio(s), in which case, you'd need to buy another radio.
Anyway, have fun.
⚙️ Getting Started
If you are already running 🔥Fusion Edition v5.x, there is nothing special to do: just Flash with 🔥Fusion Edition v5.9.0 as usual and start using the radio. Make sure to also install the dedicated v5.9.0 CHIRP driver provided as an attachment to these release notes.
However, if you are coming from a factory firmware or from any version earlier than 🔥Fusion Edition v5.x, I recommend following the steps below:
-
(Optional) From CHIRP, export your memory channels to CSV (using the v4.3 driver).
-
Flash your UV-K1 or UV-K5 V3 with 🔥Fusion Edition v5.9.0.
-
Enter the hidden menus by holding PTT + SIDE BUTTON 1️⃣ while powering on the radio, then release all keys and perform a RESET ALL, menu 77/77.
Warning
Due to the complete change in memory mapping, you will lose all your memory channels and all your settings.
- (Optional) Using CHIRP with the dedicated v5.9.0 driver provided as an attachment to these release notes, you can reload your CSV file and copy / paste your old channels.
Warning
Do not try to import your CSV file, do a copy / paste instead!
The radio will restart with the new firmware.
Remember to set the navigation direction according to whether you are using a UV-K1 or a UV-K5 V3, using the hidden menu 76/77 SetNav.
📚 Wiki documentation
To complement these release notes, remember that a GitHub Wiki is available.
It brings together the main documentation in one place: getting started, programming with CHIRP, using UV Studio, radio operation, scanning, menu reference, button functions, advanced features, troubleshooting, and videos/tutorials.
If you are discovering 🔥 Fusion Edition, or if you need to quickly find details about a specific feature, the Wiki remains the best place to start.
📺 Presentation video
I’m currently out in the countryside, pretty much in the middle of nowhere, so I don’t really have the time, or more importantly the equipment, to shoot and edit a video 😄
But I’m pretty sure you’ll quickly discover the improvements brought by this new release for yourselves.
For the impatient ones, you can also check this GitHub discussion, where I explain the main changes.
📋 Changelog
Added
- Added a categorized menu browser with dedicated
Channels,Scan,Keys,Power,Display,Timers,Audio,Radio,DTMF, andServicecategories. - Added an
Allcategory as a fallback to the original flat menu, preserving the existing menu order and numbering. - Added a side-key action picker: press
F, then hold either side key to choose and immediately run an available action. - Added two extra Fox Hunt front-end attenuation levels,
BYPandBYP+, for locating very strong nearby transmitters. - Added a keypad lock shared by Fox Hunt and Beacon modes, toggled by holding
Ffor approximately 0.5 seconds (discussion #498).
Improved
- Improved menu navigation by remembering the last selected item in each category.
- Improved the category screen with two-digit category and item counters.
- Improved the side-key action picker with reverse navigation, confirmation, cancellation, timeout handling, and automatic exit when reception starts.
- Improved memory-scan feedback by pausing scan resumption while the active scan-list name is displayed.
- Improved Fox Hunt attenuation controls:
UPandDOWNnow adjust attenuation directly and remain available while the keypad is locked. - Improved Fox Hunt signal stability after attenuation changes by allowing the RSSI detector to settle before resetting peak, minimum, trend, and history data.
- Improved keypad-lock safety by making the lock available during both Beacon idle periods and active transmissions.
Fixed
- Fixed Fox Hunt unexpectedly returning to the main VFO when the
SetOfftimer expired. Fox Hunt and Beacon now remain active until explicitly exited. - Fixed Broadcast FM scans being interrupted by an incoming signal detected on the main radio channel. Normal Broadcast FM listening continues to yield to channel reception as before (Thanks @EthanYan6)
- Fixed scan progress jumping forward after the scan-list name overlay disappeared during memory scans.
Maintenance
- Added the
ENABLE_FEAT_F4HWN_MENU_CATfeature flag and enabled it for Fusion. - Added the
ENABLE_FEAT_F4HWN_ACTION_PICKERfeature flag and enabled it for Fusion. - Refactored side-key action validation and execution so assigned and dynamically selected actions share the same safety checks.
- Fixed
compile-with-docker.shargument forwarding so additional CMake options are passed safely. - Fixed an unused-variable warning when the fast memory scanner is disabled.
- Updated the rolling Fusion development firmware throughout development.
🪛 Dumping and restoring calibration data
UV Studio can dump and restore calibration data, which is strongly recommended.
Ideally, you should:
- create a calibration dump immediately after installing the F4HWN firmware, and
- restore it before installing different firmware, for example when returning to the stock firmware.
Dump
- Open UV Studio.
- Power on your radio in normal mode.
- Click Dump Calibration Data.
- Select the radio's serial port when prompted.
When the process is complete, click Download calibration.dat to save the file on your computer.
Note
A good practice is to rename the calibration file using the serial number of your radio, which is printed on the label on the back of the device, under the battery. This prevents calibration files from being mixed up if you own multiple radios.
Restore
- Open UV Studio.
- Power on your radio in normal mode.
- Select your
calibration.datfile. - Click Restore Calibration Data.
- Select the radio's serial port when prompted and wait until it is fully complete.
🖥️ About the Live Viewer feature
UV Studio includes the Live Viewer feature. It can be used on a computer with a Chromium-based browser such as Chrome, Edge, Brave, or Opera, as well as Firefox 151 or later.
Here is a quick tutorial for dummies:
- Flash your Quansheng UV-K1 or UV-K5 V3 with the F4HWN 🔥 Fusion edition.
- Keep the radio connected to your computer using a compatible USB serial cable or its USB-C connection.
- Open the UV Studio Live Viewer.
- Click Connect and select the radio's serial port.
That's it. Nothing to install. Nothing to configure. Just plug and view 🤭
💾 CHIRP Support
A dedicated v5.9.0 CHIRP driver supporting the UV-K1 and UV-K5 V3 is provided as an attachment to these release notes. It allows reading and writing the radio's memory channels, settings and basic parameters directly from CHIRP, just like with the UV-K5 V1.
This driver is provided for convenience and early testing. It may still evolve as feedback comes in, so feel free to open an issue or report any anomaly you notice.
⚙️ Build summary
Memory region Used Size Region Size %age Used
RAM: 12864 B 16 KB 78.52%
FLASH: 111584 B 118 KB 92.35%
✅ Done: Fusion
Enjoy,
F4HWN v5.8.0
🌐 Translate
Automatic translation is available via Google Translate: Open translated version.
🔥About this firmware
This firmware is a fork of the F4HWN custom firmware. It extends the work originally done for the UV-K5 V1 (DP32G030 MCU) and adapts it to the newer UV-K1 and UV-K5 V3, which are based on the PY32F071 MCU. It is the result of joint work by @muzkr and @armel. Many thanks to @mrkusypl for his huge contributions!
This release, called 🔥Fusion edition, merges into a single firmware all the different editions I previously released for the UV-K5 V1.
Warning
THIS FIRMWARE HAS NO REAL BRAIN. PLEASE USE YOUR OWN. Use this firmware at your own risk (entirely). There is absolutely no guarantee that it will work in any way shape or form on your radio(s), it may even brick your radio(s), in which case, you'd need to buy another radio.
Anyway, have fun.
⚙️ Getting Started
If you are already running 🔥Fusion Edition v5.x, there is nothing special to do: just Flash with 🔥Fusion Edition v5.8.0 as usual and start using the radio. Just make sure to also update the f4hwn.fusion.chirp.v5.8.0.py driver.
However, if you are coming from a factory firmware or from any version earlier than 🔥Fusion Edition v5.x, I recommend following the steps below:
-
(Optional) From CHIRP, export your memory channels to CSV (using the v4.3 driver).
-
Flash your UV-K1 or UV-K5 V3 with 🔥Fusion Edition v5.8.0.
-
Enter the hidden menus by holding PTT + SIDE BUTTON 1️⃣ while powering on the radio, then release all keys and perform a RESET ALL, menu 76/76.
Warning
Due to the complete change in memory mapping, you will lose all your memory channels and all your settings.
- (Optional) Using CHIRP with the f4hwn.fusion.chirp.v5.8.0.py driver, you can reload your CSV file and copy / paste your old channels.
Warning
Do not try to import your CSV file, do a copy / paste instead !
The radio will restart with the new firmware.
Remember to set the navigation direction according to whether you are using a UV-K1 or a UV-K5 V3, using the hidden menu 75/76 SetNav.
📚 Wiki documentation
To complement these release notes, remember that a GitHub Wiki is available.
It brings together the main documentation in one place: getting started, programming with CHIRP, using UVStudio, radio operation, scanning, menu reference, button functions, advanced features, troubleshooting, and videos/tutorials.
If you are discovering 🔥 Fusion Edition, or if you need to quickly find details about a specific feature, the Wiki remains the best place to start.
📺 Presentation video
I also made a presentation video for this release, available on my YouTube channel:
https://www.youtube.com/watch?v=xtzw2TNv0ZI
📋 Changelog
Added
- Added Fox Hunt mode as an assignable side-key action.
- Added a dedicated Fox Hunt signal-strength display with calibrated dBm, S-meter, peak, minimum, and signal-trend indicators.
- Added selectable Fox Hunt attenuation levels for locating strong nearby transmitters.
- Added silent, Geiger-style beep, and received-audio modes to Fox Hunt.
- Added a full-width signal-history graph to Fox Hunt.
- Added persistent storage for:
- Fox Hunt attenuation,
- display mode,
- audio mode,
- Beacon idle interval,
- Beacon TX window,
- selected fox identifier.
- Added an ARDF-oriented Beacon mode with:
MOE,MOI,MOS,MOH, andMO5fox identifiers,MOfinish/home identifier,- optional callsign identification using boot message 1,
- automatic fallback to
MOEwhen no callsign is configured.
- Added an adjustable Beacon TX window from 5 to 60 seconds.
- Added an adjustable Beacon idle interval from 5 to 240 seconds.
- Added repeated CW identification throughout the configured TX window.
- Added live TX and idle countdowns to the Beacon screen.
- Added progressive display of the transmitted CW message.
- Added a dedicated on-air icon during Beacon transmission.
- Added reverse cycling with
F + 1,F + 2, orF + 3for Fox Hunt and Beacon settings.
Improved
- Improved scan feedback by temporarily displaying the active scan-list name when starting or switching lists (discussion #462).
- Improved power-on backlight animation with smoothstep easing.
- Improved fast-scan UI by preventing overlap between the RSSI sparkline and RX chevron.
- Improved RF Log behavior so logging and UV Studio streaming are enabled only when the
RF LOGaction is assigned to a key. - Improved Beacon safety by enforcing function lock, TX lock, battery voltage, and modulation restrictions before every transmission (issue #478).
- Improved Beacon operation for ARDF use:
- changed the Morse speed to approximately 12 WPM,
- repeated the selected identifier for the complete TX window,
- added support for classic five-fox timing with an idle interval of up to four minutes.
- Improved Beacon controls with a consistent layout:
1adjusts the TX window,2adjusts the idle interval,3selects the fox identifier,Freverses the next setting change.
- Improved Beacon responsiveness by allowing the TX window, idle interval, and fox identifier to be adjusted during both transmission and idle phases.
- Improved Beacon interaction:
MENUinterrupts the current transmission and starts a new idle interval,- either side key switches between Fox Hunt and Beacon modes,
EXITleaves Fox Hunt completely.
- Improved Beacon display updates by refreshing K5Viewer only during muted CW gaps.
- Improved Fox Hunt body-scan feedback with a resettable minimum-signal hold.
- Improved battery monitoring while Fox Hunt or Beacon is active.
- Improved persistence so changed Fox Hunt and Beacon settings are saved within approximately 500 ms.
- Improved flash endurance by avoiding unnecessary external-flash sector erases.
- Improved channel-attribute writes by updating only the required data instead of rewriting the entire buffer.
- Improved RAM usage by moving read-only lookup tables to Flash.
- Improved Fox Hunt code size by:
- sharing common display and interpolation helpers,
- reducing temporary and persistent buffer sizes,
- calculating PGA attenuation directly instead of using a lookup table,
- removing per-column modulo operations from the signal-history renderer,
- avoiding unnecessary Beacon message construction.
- Reduced Fox Hunt Flash usage by a further 52 bytes through targeted refactoring and hot-path optimization.
- Reworked the README around the Fusion feature set and replaced UVTools2 references with UV Studio.
Fixed
- Fixed the false Remove Offset indicator displayed after disabling reverse mode (issue #469).
- Fixed RX mode restoration after leaving Close Call (issue #478).
- Fixed RX mode restoration when switching from an active channel or frequency scan to Broadcast FM, Close Call, or CTCSS/DCS scanning (issue #480).
- Fixed restart handling in modal applications, including Air Copy, Breakout, Frequency Scanner, Spectrum Analyzer, UART, and Fox Hunt.
- Fixed restart commands being lost during an active Beacon TX window by servicing maintenance commands between CW characters.
- Fixed Beacon transmissions bypassing normal TX safety restrictions.
- Fixed progressive Beacon text positioning for callsign and fox identifiers.
- Fixed K5Viewer keepalive handling during long Beacon TX windows.
- Fixed Fox Hunt settings being lost when the radio powers off without leaving the application normally.
Maintenance
- Added the
ENABLE_FEAT_F4HWN_FOXHUNTfeature flag and enabled it for Fusion. - Extended the persisted Fox Hunt configuration from five to seven bytes to include the selected fox identifier and TX window.
- Extended the VFO compatibility mapping so AirCopy includes all persisted Fox Hunt and Beacon settings.
- Refactored duplicated Fox Hunt and Beacon display helpers.
- Refactored channel-settings updates to remove redundant write parameters.
- Reduced Fox Hunt buffers to their actual maximum required sizes.
- Removed dead and unreachable code.
- Updated the README with detailed Fusion, Fox Hunt, Beacon, RF Log, K5Viewer, and UV Studio documentation.
- Updated the Wiki.
- Updated the donors list.
🪛 Dumping and restoring calibration data
UV Studio can dump and restore calibration data, which is strongly recommended.
Ideally, you should:
- create a calibration dump immediately after installing the F4HWN firmware, and
- restore it before installing different firmware, for example when returning to the stock firmware.
Dump
- Open UV Studio.
- Power on your radio in normal mode.
- Click Dump Calibration Data.
- Select the radio’s serial port when prompted.
When the process is complete, click Download calibration.dat to save the file on your computer.
Note
A good...
F4HWN v5.7.0
🌐 Translate
Automatic translation is available via Google Translate: Open translated version.
🔥About this firmware
This firmware is a fork of the F4HWN custom firmware. It extends the work originally done for the UV-K5 V1 (DP32G030 MCU) and adapts it to the newer UV-K1 and UV-K5 V3, which are based on the PY32F071 MCU. It is the result of joint work by @muzkr and @armel. Many thanks to @mrkusypl for his huge contributions!
This release, called 🔥Fusion edition, merges into a single firmware all the different editions I previously released for the UV-K5 V1.
Warning
THIS FIRMWARE HAS NO REAL BRAIN. PLEASE USE YOUR OWN. Use this firmware at your own risk (entirely). There is absolutely no guarantee that it will work in any way shape or form on your radio(s), it may even brick your radio(s), in which case, you'd need to buy another radio.
Anyway, have fun.
⚙️ Getting Started
If you are already running 🔥Fusion Edition v5.x, there is nothing special to do: just Flash with 🔥Fusion Edition v5.7.0 as usual and start using the radio. Just make sure to also update the f4hwn.fusion.chirp.v5.7.0.py driver.
However, if you are coming from a factory firmware or from any version earlier than 🔥Fusion Edition v5.x, I recommend following the steps below:
-
(Optional) From CHIRP, export your memory channels to CSV (using the v4.3 driver).
-
Flash your UV-K1 or UV-K5 V3 with 🔥Fusion Edition v5.7.0.
-
Enter the hidden menus by holding PTT + SIDE BUTTON 1️⃣ while powering on the radio, then release all keys and perform a RESET ALL, menu 76/76.
Warning
Due to the complete change in memory mapping, you will lose all your memory channels and all your settings.
- (Optional) Using CHIRP with the driver f4hwn.fusion.chirp.v5.7.0.py, you can reload your CSV file and copy / paste your old channels.
Warning
Do not try to import your CSV file, do a copy / paste instead !
The radio will restart with the new firmware.
Remember to set the navigation direction according to whether you are using a UV-K1 or a UV-K5 V3, using the hidden menu 75/76 SetNav.
📚 Wiki documentation
To complement these release notes, remember that a GitHub Wiki is available.
It brings together the main documentation in one place: getting started, programming with CHIRP, using UVTools2, radio operation, scanning, menu reference, button functions, advanced features, troubleshooting, and videos/tutorials.
If you are discovering 🔥 Fusion Edition, or if you need to quickly find details about a specific feature, the Wiki remains the best place to start.
📺 Presentation video
I also made a presentation video for this release, available on my YouTube channel:
📋 Changelog
Added
- Added RX/TX history log stored in external flash.
- Added RX/TX Log action entry.
- Added support for up to 512 visible RX/TX log entries.
- Added F + UP/DOWN shortcuts to jump to the first or last RX/TX log entry.
- Added optional wrap-around scrolling for RX/TX Log via
ENABLE_FEAT_F4HWN_RXTX_LOG_WRAP. - Added S-meter capture and display in RX/TX Log.
- Added minimum battery voltage logging per RX/TX session.
- Added TX power level display for TX rows in RX/TX Log S-meter view.
- Added secure clear-log confirmation flow.
- Added optional RX/TX Log streaming to K5Viewer.
- Added paginated RF Log history streaming to K5Viewer.
- Added session marker streaming to K5Viewer.
- Added ACTIONS lock scope to
SetLck(discussion #450). - Added
NOTICEfile.
Improved
- Improved RX/TX Log channel name handling by resolving names at display/export time instead of storing them in flash.
- Improved RX/TX Log memory usage by aligning RAM and flash layouts and shrinking the view cache.
- Improved RX/TX Log flash layout for more efficient cached display handling.
- Improved RX/TX Log UI badge rendering and centered S-meter/detail text.
- Improved RX/TX Log status bar stability when the filter label is shown.
- Improved RX/TX Log empty-screen rendering.
- Improved RX/TX Log numbering so indexes remain traffic-only and continuous across sessions.
- Improved K5Viewer architecture by renaming the screenshot module to K5Viewer.
- Improved K5Viewer protocol with RF Log feature flags and restart synchronization.
- Improved scan range handling by increasing the skip list from 32 to 64 entries (discussion #429).
Fixed
- Fixed auto key lock timer on startup (issue #431).
- Fixed duplicate RX/TX Log session marker after repeated reboots without traffic.
- Fixed RX/TX Log end-of-list scrolling.
- Fixed RX/TX Log upward wrap before the total row count is known.
- Fixed RX/TX Log behavior by ignoring squelch-only incoming state.
- Fixed RX/TX Log index handling so session markers do not consume traffic indexes.
- Fixed unlock handling from the RF LOG display.
- Fixed alarm/1750 lock behavior to use the new
SetLckPTT scope.
Maintenance
- Removed unused REGA emergency alarm feature (
ENABLE_REGA). - Removed legacy Python K5Viewer tool.
- Removed unused
KEY_STARdefinition. - Removed redundant channel-name sanitization already handled by
SETTINGS_FetchChannelName. - Replaced unreachable RX/TX Log EEPROM mapping with a documentation comment.
- Refactored RX/TX Log reset/stop logic and badge numbering.
- Updated
.gitignore. - Updated donors list.
- Prepared Fusion configuration for RX/TX Log and K5Viewer RF Log integration.
🪛 Dumping and restoring calibration data
UVTools2 can also dump and restore calibration data, which is strongly recommended.
Ideally, you should:
- create a calibration dump right after installing the F4HWN firmware, and
- restore it before installing a different firmware (for example, when returning to the stock firmware).
Dump
- Open UVTools2 in dump mode (or select the Dump Calib tab).
- Power on your radio in normal mode.
- Click Dump Calibration Data.
When the process is complete, click Download calibration.dat to save the file on your computer.
Note
A good practice is to rename your calibration file using the serial number of your radio, which is printed on the label on the back of the device (under the battery). This avoids mixing up calibration files if you own multiple units.
Restore
- Open UVTools2 in restore mode (or select the Restore Calib tab).
- Power on your radio in normal mode.
- Select your
calibration.datfile on your computer. - Click Restore Calibration Data and wait until the process fully completes.
🖥️ About the K5 Viewer feature
You can use K5 Viewer on your PC directly in Chrome-based browser (like Chrome, Edge, Opera, etc.) or Firefox 151+.
Here is a quick tutorial for dummies:
- Flash your Quansheng UV-K1 or UV-K5 V3 with F4HWN 🔥 Fusion edition
- Keep the K5 connected to your PC via the USB cable (Baofeng/Kenwood like USB serial cable or USB C)
- Go to https://armel.github.io/k5viewer/
- Click Connect (and select the serial port)
That’s it. Nothing to install. Nothing to configure. Just plug and view 🤭
💾 CHIRP Support
A CHIRP f4hwn.fusion.chirp.v5.7.0.py driver supporting the UV-K1 and UV-K5 V3 is also included in this release. It allows reading and writing the radio’s memory channels, settings and basic parameters directly from CHIRP, just like with the UV-K5 V1.
This driver is provided for convenience and early testing. It may still evolve as feedback comes in, so feel free to open an issue or report any anomaly you notice.
⚙️ Build summary
Memory region Used Size Region Size %age Used
RAM: 12800 B 16 KB 78.12%
FLASH: 103548 B 118 KB 85.70%
✅ Done: Fusion
Enjoy,
Armel, F4HWN
F4HWN v5.6.1
🌐 Translate
Automatic translation is available via Google Translate: Open translated version.
🔥About this firmware
This firmware is a fork of the F4HWN custom firmware. It extends the work originally done for the UV-K5 V1 (DP32G030 MCU) and adapts it to the newer UV-K1 and UV-K5 V3, which are based on the PY32F071 MCU. It is the result of joint work by @muzkr and @armel. Many thanks to @mrkusypl for his huge contributions!
This release, called 🔥Fusion edition, merges into a single firmware all the different editions I previously released for the UV-K5 V1.
Warning
THIS FIRMWARE HAS NO REAL BRAIN. PLEASE USE YOUR OWN. Use this firmware at your own risk (entirely). There is absolutely no guarantee that it will work in any way shape or form on your radio(s), it may even brick your radio(s), in which case, you'd need to buy another radio.
Anyway, have fun.
⚙️ Getting Started
If you are already running 🔥Fusion Edition v5.x, there is nothing special to do: just Flash with 🔥Fusion Edition v5.6.1 as usual and start using the radio. Just make sure to also update the f4hwn.fusion.chirp.v5.6.1.py driver.
However, if you are coming from a factory firmware or from any version earlier than 🔥Fusion Edition v5.x, I recommend following the steps below:
-
(Optional) From CHIRP, export your memory channels to CSV (using the v4.3 driver).
-
Flash your UV-K1 or UV-K5 V3 with 🔥Fusion Edition v5.6.1.
-
Enter the hidden menus by holding PTT + SIDE BUTTON 1️⃣ while powering on the radio, then release all keys and perform a RESET ALL, menu 76/76.
Warning
Due to the complete change in memory mapping, you will lose all your memory channels and all your settings.
- (Optional) Using CHIRP with the driver f4hwn.fusion.chirp.v5.6.1.py, you can reload your CSV file and copy / paste your old channels.
Warning
Do not try to import your CSV file, do a copy / paste instead !
The radio will restart with the new firmware.
Remember to set the navigation direction according to whether you are using a UV-K1 or a UV-K5 V3, using the hidden menu 75/76 SetNav.
📚 Wiki documentation
To complement these release notes, remember that a GitHub Wiki is available.
It brings together the main documentation in one place: getting started, programming with CHIRP, using UVTools2, radio operation, scanning, menu reference, button functions, advanced features, troubleshooting, and videos/tutorials.
If you are discovering 🔥 Fusion Edition, or if you need to quickly find details about a specific feature, the Wiki remains the best place to start.
📺 Presentation video
I also made a presentation video for this release, available on my YouTube channel:
📋 Changelog
Added
- Added screenshot state flags for deep sleep and red/green LED status, improving K5Viewer state detection.
Improved
- Improved F+4 frequency scan sensitivity.
- Improved F+4 frequency copy scan by verifying VHF second-harmonic candidates before accepting the detected frequency.
Fixed
- Fixed reset defaults when F4HWN packed settings are erased (Issue #413).
- Fixed normal roger beep behavior and level across bandwidth modes (Issue #416).
- Fixed NAR+ FM demod boost on BK4829.
- Fixed
SetSavscreensaver state when enteringSetOffdeep sleep. - Fixed screensaver reactivation while deep sleep mode is active.
Maintenance
- Refactored status-line rendering for manual backlight and battery text.
- Updated donors list.
Credits
- Thanks to @mrkusypl for the status-line refactoring contribution.
🪛 Dumping and restoring calibration data
UVTools2 can also dump and restore calibration data, which is strongly recommended.
Ideally, you should:
- create a calibration dump right after installing the F4HWN firmware, and
- restore it before installing a different firmware (for example, when returning to the stock firmware).
Dump
- Open UVTools2 in dump mode (or select the Dump Calib tab).
- Power on your radio in normal mode.
- Click Dump Calibration Data.
When the process is complete, click Download calibration.dat to save the file on your computer.
Note
A good practice is to rename your calibration file using the serial number of your radio, which is printed on the label on the back of the device (under the battery). This avoids mixing up calibration files if you own multiple units.
Restore
- Open UVTools2 in restore mode (or select the Restore Calib tab).
- Power on your radio in normal mode.
- Select your
calibration.datfile on your computer. - Click Restore Calibration Data and wait until the process fully completes.
🖥️ About the K5 Viewer feature
You can use K5 Viewer on your PC directly in Chrome-based browser (like Chrome, Edge, Opera, etc.) or Firefox 151+.
Here is a quick tutorial for dummies:
- Flash your Quansheng UV-K1 or UV-K5 V3 with F4HWN 🔥 Fusion edition
- Keep the K5 connected to your PC via the USB cable (Baofeng/Kenwood like USB serial cable or USB C)
- Go to https://armel.github.io/k5viewer/
- Click Connect (and select the serial port)
That’s it. Nothing to install. Nothing to configure. Just plug and view 🤭
💾 CHIRP Support
A CHIRP f4hwn.fusion.chirp.v5.6.1.py driver supporting the UV-K1 and UV-K5 V3 is also included in this release. It allows reading and writing the radio’s memory channels, settings and basic parameters directly from CHIRP, just like with the UV-K5 V1.
This driver is provided for convenience and early testing. It may still evolve as feedback comes in, so feel free to open an issue or report any anomaly you notice.
⚙️ Build summary
Memory region Used Size Region Size %age Used
RAM: 12480 B 16 KB 76.17%
FLASH: 98432 B 118 KB 81.46%
✅ Done: Fusion
Enjoy,
F4HWN v5.6.0
🌐 Translate
Automatic translation is available via Google Translate: Open translated version.
🔥About this firmware
This firmware is a fork of the F4HWN custom firmware. It extends the work originally done for the UV-K5 V1 (DP32G030 MCU) and adapts it to the newer UV-K1 and UV-K5 V3, which are based on the PY32F071 MCU. It is the result of joint work by @muzkr and @armel. Many thanks to @mrkusypl for his huge contributions!
This release, called 🔥Fusion edition, merges into a single firmware all the different editions I previously released for the UV-K5 V1.
Warning
THIS FIRMWARE HAS NO REAL BRAIN. PLEASE USE YOUR OWN. Use this firmware at your own risk (entirely). There is absolutely no guarantee that it will work in any way shape or form on your radio(s), it may even brick your radio(s), in which case, you'd need to buy another radio.
Anyway, have fun.
⚙️ Getting Started
If you are already running 🔥Fusion Edition v5.x, there is nothing special to do: just Flash with 🔥Fusion Edition v5.6.0 as usual and start using the radio. Just make sure to also update the f4hwn.fusion.chirp.v5.6.0.py driver.
However, if you are coming from a factory firmware or from any version earlier than 🔥Fusion Edition v5.x, I recommend following the steps below:
-
(Optional) From CHIRP, export your memory channels to CSV (using the v4.3 driver).
-
Flash your UV-K1 or UV-K5 V3 with 🔥Fusion Edition v5.6.0.
-
Enter the hidden menus by holding PTT + SIDE BUTTON 1️⃣ while powering on the radio, then release all keys and perform a RESET ALL, menu 77/77.
Warning
Due to the complete change in memory mapping, you will lose all your memory channels and all your settings.
- (Optional) Using CHIRP with the f4hwn.fusion.chirp.v5.6.0.py driver, you can reload your CSV file and copy / paste your old channels.
Warning
Do not try to import your CSV file, do a copy / paste instead !
The radio will restart with the new firmware.
Remember to set the navigation direction according to whether you are using a UV-K1 or a UV-K5 V3, using the hidden menu 76/77 SetNav.
📚 Wiki documentation
To complement these release notes, remember that a GitHub Wiki is available.
It brings together the main documentation in one place: getting started, programming with CHIRP, using UVTools2, radio operation, scanning, menu reference, button functions, advanced features, troubleshooting, and videos/tutorials.
If you are discovering 🔥 Fusion Edition, or if you need to quickly find details about a specific feature, the Wiki remains the best place to start.
📺 Presentation video
I also made a presentation video for this release, available on my YouTube channel:
https://www.youtube.com/watch?v=b_DxJUuygYA
📋 Changelog
Added
- Added
SetSavmenu behindENABLE_FEAT_F4HWN_LOGO_SAV. - Added screen saver support using the backlight timeout (
BLTime/BLMinbehavior). - Added
OFF,LOGO,LOGO+scrolling logo andMATRIXscreen saver modes. - Added screen saver setting persistence in EEPROM settings.
- Added
ENABLE_FEAT_F4HWN_LOGO_SAVfeature flag, with a dependency onENABLE_FEAT_F4HWN_LOGO. - Added
ENABLE_FEAT_F4HWN_SCAN_RSSIfeature flag. - Added
ENABLE_FEAT_F4HWN_SCAN_SUBAUDIBLEfeature flag. - Enabled
SetSav, scan RSSI indicator and ScanRange subaudible detection for the Fusion preset. - Added boot beep support when
POnMsgis set toLOGO(Issue #340). - Added RSSI sparkline indicator during memory scan and ScanRange.
- Added automatic
CTCSS/DCSsubaudible detection while stopped on a signal in ScanRange. - Added ScanRange
CTCSS/DCSdisplay on the main screen. - Added hollow manual backlight bulb icon to show when manual backlight mode is currently off.
Improved
- Improved screen saver wake-up behavior: the first key press now only wakes the display instead of immediately triggering the key action.
- Improved wake-up handling from sleep mode to avoid unintended key actions.
- Improved screen saver handling during radio activity by preventing it during TX, RX, FM scan, M-SCAN, BEAM and CSS background scan.
- Improved screen saver activation checks when
BLTimeisOFF, always-on, or outside the supported timeout range. - Improved screen saver exit behavior when receiving, transmitting, waking from sleep, or returning from
SetTmrsleep. - Improved screen saver synchronization with K5Viewer / screenshot updates.
- Improved LCD refresh behavior while keeping RX blink visible.
- Improved
SetTmrstatus refresh behavior by throttling unnecessary updates. - Improved
F+4frequency copy scan UI. - Improved scanner screen readability with clearer frequency, tone, save and scan status labels.
- Improved scan display with RSSI activity visualization during fast scan.
- Improved
VFO Lockicon placement during scan. - Improved FM radio frequency handling by centralizing BK1080 frequency updates.
- Improved FM radio resume/play display flow.
- Improved VFO/status display rendering for Fusion UI.
- Improved scan list status rendering by using the small inverse text helper.
- Improved screenshot/K5Viewer streaming by replacing the full previous-frame buffer with per-chunk hashes.
- Improved screenshot/K5Viewer streaming memory usage and reduced peak stack usage by computing chunks on demand.
- Improved screenshot/K5Viewer robustness by using wider 16-bit chunk fingerprints.
- Improved backlight PWM memory usage, saving 128 bytes of SRAM while preserving distinct brightness steps.
- Improved boot display selection flow.
Fixed
- Fixed bandscope frequency rounding with 8.33 kHz step (Issue #380).
- Fixed
SetSavbehavior whenBLTimeis set toOFF. - Fixed
SetSavexit when waking fromSetTmrsleep. - Fixed screen saver activation during TX.
- Fixed screen saver activation during RX.
- Fixed screen saver activation during FM scan.
- Fixed screen saver activation during M-SCAN.
- Fixed screen saver activation during BEAM.
- Fixed
ENABLE_FEAT_F4HWN_RX_TX_TIMERguard whenENABLE_FEAT_F4HWN_DEBUGis enabled. - Fixed minor
gFM_ChannelPositionhandling. - Fixed AM to FM dual-watch RX reconfiguration (Issue #389).
- Fixed stale screenshot chunks by widening the screenshot chunk fingerprint.
- Fixed dead screenshot bit-packing flush logic.
- Fixed manual backlight status icon display when manual light is off.
Maintenance
- Refactored LOGO loading/display code so it can be reused by the screen saver.
- Refactored submenu string tables to use
const char* const. - Refactored boot display selection flow.
- Refactored screenshot frame comparison and chunk generation logic.
- Refactored several small UI/status/radio code paths for size and clarity.
- Refactored radio squelch threshold loading and clamp logic.
- Refactored FM radio frequency update calls through
FM_SetFrequency(). - Added shared helper for small inverse text rendering.
- Removed dead screenshot bit-packing flush code.
- Archived old LOGO asset.
- Updated donors list.
- Updated
.gitignore. - Updated CMake presets and feature declarations for Fusion.
Credits
- Thanks to
@mrkusyplfor feedback, major refactoring and optimizations contributions. - Integration and release flow by
@armel.
🪛 Dumping and restoring calibration data
UVTools2 can also dump and restore calibration data, which is strongly recommended.
Ideally, you should:
- create a calibration dump right after installing the F4HWN firmware, and
- restore it before installing a different firmware (for example, when returning to the stock firmware).
Dump
- Open UVTools2 in dump mode (or select the Dump Calib tab).
- Power on your radio in normal mode.
- Click Dump Calibration Data.
When the process is complete, click Download calibration.dat to save the file on your computer.
Note
A good practice is to rename your calibration file using the serial number of your radio, which is printed on the label on the back of the device (under the battery). This avoids mixing up calibration files if you own multiple units.
Restore
- Open UVTools2 in restore mode (or select the Restore Calib tab).
- Power on your radio in normal mode.
- Select your
calibration.datfile on your computer. - Click Restore Calibration Data and wait until the process fully completes.
🖥️ About the K5 Viewer feature
You can use K5 Viewer on your PC directly in Chrome-based browser (like Chrome, Edge, Opera, etc.) or Firefox 151+.
Here is a quick tutorial for dummies:
- Flash your Quansheng UV-K1 or UV-K5 V3 with F4HWN 🔥 Fusion edition
- Keep the K5 connected to your PC via the USB cable (Baofeng/Kenwood like USB serial cable or USB C)
- Go to https://armel.github.io/k5viewer/
...
F4HWN v5.5.0
🌐 Translate
Automatic translation is available via Google Translate: Open translated version.
🔥About this firmware
This firmware is a fork of the F4HWN custom firmware. It extends the work originally done for the UV-K5 V1 (DP32G030 MCU) and adapts it to the newer UV-K1 and UV-K5 V3, which are based on the PY32F071 MCU. It is the result of joint work by @muzkr and @armel. Many thanks to @mrkusypl for his huge contributions!
This release, called 🔥Fusion edition, merges into a single firmware all the different editions I previously released for the UV-K5 V1.
Warning
THIS FIRMWARE HAS NO REAL BRAIN. PLEASE USE YOUR OWN. Use this firmware at your own risk (entirely). There is absolutely no guarantee that it will work in any way shape or form on your radio(s), it may even brick your radio(s), in which case, you'd need to buy another radio.
Anyway, have fun.
⚙️ Getting Started
If you are already running 🔥Fusion Edition v5.x, there is nothing special to do: just Flash with 🔥Fusion Edition v5.5.0 as usual and start using the radio. Just make sure to also update the f4hwn.fusion.chirp.v5.5.0.py driver.
However, if you are coming from a factory firmware or from any version earlier than 🔥Fusion Edition v5.x, I recommend following the steps below:
-
(Optional) From CHIRP, export your memory channels to CSV (using the v4.3 driver).
-
Flash your UV-K1 or UV-K5 V3 with 🔥Fusion Edition v5.5.0.
-
Enter the hidden menus by holding PTT + SIDE BUTTON 1️⃣ while powering on the radio, then release all keys and perform a RESET ALL, menu 76/76.
Warning
Due to the complete change in memory mapping, you will lose all your memory channels and all your settings.
- (Optional) Using CHIRP with the driver f4hwn.fusion.chirp.v5.5.0.py, you can reload your CSV file and copy / paste your old channels.
Warning
Do not try to import your CSV file, do a copy / paste instead !
The radio will restart with the new firmware.
Remember to set the navigation direction according to whether you are using a UV-K1 or a UV-K5 V3, using the hidden menu 75/76 SetNav.
📚 Wiki documentation
To complement these release notes, remember that a GitHub Wiki is available.
It brings together the main documentation in one place: getting started, programming with CHIRP, using UVTools2, radio operation, scanning, menu reference, button functions, advanced features, troubleshooting, and videos/tutorials.
If you are discovering 🔥 Fusion Edition, or if you need to quickly find details about a specific feature, the Wiki remains the best place to start.
📺 Presentation video
I also made a presentation video for this release, available on my YouTube channel:
https://www.youtube.com/watch?v=FCeKwCsgiGw
📋 Changelog
Added
- Added faster scanning (scan-range + memory) feature behind
ENABLE_FEAT_F4HWN_SCAN_FASTER. - Added SetScn (Set Scan) menu.
- Added volatile scan-range exclusions (32 slots, Issue #330).
- Added BEAM feature behind
ENABLE_FEAT_F4HWN_BEAM. - Added homologated DCS index display in Rx/Tx DCS menus.
- Added LOGO option to POnMsg menu.
Improved
- Improved fast-scan detection and displayed metadata.
- Improved ChName editing with long-press behavior.
- Improved spectrum analyzer persistence by saving additional parameters.
- Improved spectrum scan-range UI by showing bandwidth instead of unused
frequencyChangeStep. - Improved DCS display format (homologated index on 2 digits).
- Improved secondary channel UX by displaying
VFO_Lockwhile receiving on first channel.
Fixed
- Fixed S-meter behavior during scan reception.
- Fixed quick-PTT stuck squelch (
listenPrevRssiseeding at listen entry). - Fixed Breakout beep audio setup order.
- Fixed manual scan resume from active RX.
- Fixed scan resume flow, AM/FM precheck, and list refresh behavior.
- Fixed display overlap bug.
- Fixed manual squelch spectrum line behavior (predictable 1 dB step, Issue #333).
- Fixed manual spectrum behavior by skipping curve smoothing in manual mode (Issue #333).
- Fixed aircopy replication by including VFO area in Settings map for scan-range source frequencies.
Maintenance
- Code refactoring/size optimizations across multiple commits (PR #318, PR #320, PR #322, PR #325, PR #331, PR #334, thanks @mrkusypl)
- Update Wiki.
Credits
- Thanks to
@mrkusyplfor major refactoring and optimizations contributions. - Integration and release flow by
@armel.
🪛 Dumping and restoring calibration data
UVTools2 can also dump and restore calibration data, which is strongly recommended.
Ideally, you should:
- create a calibration dump right after installing the F4HWN firmware, and
- restore it before installing a different firmware (for example, when returning to the stock firmware).
Dump
- Open UVTools2 in dump mode (or select the Dump Calib tab).
- Power on your radio in normal mode.
- Click Dump Calibration Data.
When the process is complete, click Download calibration.dat to save the file on your computer.
Note
A good practice is to rename your calibration file using the serial number of your radio, which is printed on the label on the back of the device (under the battery). This avoids mixing up calibration files if you own multiple units.
Restore
- Open UVTools2 in restore mode (or select the Restore Calib tab).
- Power on your radio in normal mode.
- Select your
calibration.datfile on your computer. - Click Restore Calibration Data and wait until the process fully completes.
🖥️ About the K5 Viewer feature
You can use K5 Viewer on your PC directly in Chrome-based browser (like Chrome, Edge, Opera, etc.).
Here is a quick tutorial for dummies:
- Flash your Quansheng UV-K1 or UV-K5 V3 with F4HWN 🔥 Fusion edition
- Keep the K5 connected to your PC via the USB cable (Baofeng/Kenwood like USB serial cable or USB C)
- Go to https://armel.github.io/k5viewer/
- Click Connect (and select the serial port)
That’s it. Nothing to install. Nothing to configure. Just plug and view 🤭
💾 CHIRP Support
A CHIRP f4hwn.fusion.chirp.v5.5.0.py driver supporting the UV-K1 and UV-K5 V3 is also included in this release. It allows reading and writing the radio’s memory channels, settings and basic parameters directly from CHIRP, just like with the UV-K5 V1.
This driver is provided for convenience and early testing. It may still evolve as feedback comes in, so feel free to open an issue or report any anomaly you notice.
⚙️ Build summary
Memory region Used Size Region Size %age Used
RAM: 13248 B 16 KB 80.86%
FLASH: 95836 B 118 KB 79.31%
✅ Done: Fusion
Enjoy,
F4HWN v5.4.0
🌐 Translate
Automatic translation is available via Google Translate: Open translated version.
🔥About this firmware
This firmware is a fork of the F4HWN custom firmware. It extends the work originally done for the UV-K5 V1 (DP32G030 MCU) and adapts it to the newer UV-K1 and UV-K5 V3, which are based on the PY32F071 MCU. It is the result of joint work by @muzkr and @armel. Many thanks to @mrkusypl for his huge contributions!
This release, called 🔥Fusion edition, merges into a single firmware all the different editions I previously released for the UV-K5 V1.
Warning
THIS FIRMWARE HAS NO REAL BRAIN. PLEASE USE YOUR OWN. Use this firmware at your own risk (entirely). There is absolutely no guarantee that it will work in any way shape or form on your radio(s), it may even brick your radio(s), in which case, you'd need to buy another radio.
Anyway, have fun.
⚙️ Getting Started
If you are already running 🔥Fusion Edition v5.x, there is nothing special to do: just Flash with 🔥Fusion Edition v5.4.0 as usual and start using the radio. Just make sure to also update the f4hwn.fusion.chirp.v5.4.0.py driver.
However, if you are coming from a factory firmware or from any version earlier than 🔥Fusion Edition v5.x, I recommend following the steps below:
-
(Optional) From CHIRP, export your memory channels to CSV (using the v4.3 driver).
-
Flash your UV-K1 or UV-K5 V3 with 🔥Fusion Edition v5.4.0.
-
Enter the hidden menus by holding PTT + SIDE BUTTON 1️⃣ while powering on the radio, then release all keys and perform a RESET ALL, menu 75/75.
Warning
Due to the complete change in memory mapping, you will lose all your memory channels and all your settings.
- (Optional) Using CHIRP with the driver f4hwn.fusion.chirp.v5.4.0.py, you can reload your CSV file and copy / paste your old channels.
Warning
Do not try to import your CSV file, do a copy / paste instead !
The radio will restart with the new firmware.
Remember to set the navigation direction according to whether you are using a UV-K1 or a UV-K5 V3, using the hidden menu 74/75 SetNav.
📚 Wiki documentation
To complement these release notes, remember that a GitHub Wiki is available.
It brings together the main documentation in one place: getting started, programming with CHIRP, using UVTools2, radio operation, scanning, menu reference, button functions, advanced features, troubleshooting, and videos/tutorials.
If you are discovering 🔥 Fusion Edition, or if you need to quickly find details about a specific feature, the Wiki remains the best place to start.
📺 Presentation video
I also made a presentation video for this release, available on my YouTube channel:
https://www.youtube.com/watch?v=W92YT8zw170
📋 Changelog
Added
- Added WIDE/NARROW filter selection for AM RX.
- Added scan progress gauge behind
ENABLE_FEAT_F4HWN_SCAN_PROGRESS. - Added homologated CTCSS index display in Rx/Tx CTCSS menus.
- Added tool for decoding packed Quansheng stock firmware images.
Improved
- Improved entering text into ChName in a multi-tap system (PR #310, thanks @mrkusypl).
- Improved ChName editing with press
EXITbackspace (Issue #281). - Improved Spectrum UI and workflow.
- Improved FM Radio and UI (PR #268, Thanks @mrkusypl).
- Improved hidden menu behavior (starts from the first hidden item).
- Improved SysInf.
Fixed
- Fixed build when
ENABLE_FMRADIOis disabled. - Fixed large-range spectrum stability (Issue #295).
Maintenance
- Code refactoring/size optimizations (PR #252, PR #292, PR #296, PR #297, PR #298, PR #300, PR #305, PR #306, PR #312, PR #313, thanks @mrkusypl)
- Updated README.
- Update Wiki.
🪛 Dumping and restoring calibration data
UVTools2 can also dump and restore calibration data, which is strongly recommended.
Ideally, you should:
- create a calibration dump right after installing the F4HWN firmware, and
- restore it before installing a different firmware (for example, when returning to the stock firmware).
Dump
- Open UVTools2 in dump mode (or select the Dump Calib tab).
- Power on your radio in normal mode.
- Click Dump Calibration Data.
When the process is complete, click Download calibration.dat to save the file on your computer.
Note
A good practice is to rename your calibration file using the serial number of your radio, which is printed on the label on the back of the device (under the battery). This avoids mixing up calibration files if you own multiple units.
Restore
- Open UVTools2 in restore mode (or select the Restore Calib tab).
- Power on your radio in normal mode.
- Select your
calibration.datfile on your computer. - Click Restore Calibration Data and wait until the process fully completes.
🖥️ About the K5 Viewer feature
You can use K5 Viewer on your PC directly in Chrome-based browser (like Chrome, Edge, Opera, etc.).
Here is a quick tutorial for dummies:
- Flash your Quansheng UV-K1 or UV-K5 V3 with F4HWN 🔥 Fusion edition
- Keep the K5 connected to your PC via the USB cable (Baofeng/Kenwood like USB serial cable or USB C)
- Go to https://armel.github.io/k5viewer/
- Click Connect (and select the serial port)
That’s it. Nothing to install. Nothing to configure. Just plug and view 🤭
💾 CHIRP Support
A CHIRP f4hwn.fusion.chirp.v5.4.0.py driver supporting the UV-K1 and UV-K5 V3 is also included in this release. It allows reading and writing the radio’s memory channels, settings and basic parameters directly from CHIRP, just like with the UV-K5 V1.
This driver is provided for convenience and early testing. It may still evolve as feedback comes in, so feel free to open an issue or report any anomaly you notice.
⚙️ Build summary
Memory region Used Size Region Size %age Used
RAM: 13024 B 16 KB 79.49%
FLASH: 91948 B 118 KB 76.10%
✅ Done: Fusion
Enjoy,
F4HWN v5.3.1
🌐 Translate
Automatic translation is available via Google Translate: Open translated version.
🔥About this firmware
This firmware is a fork of the F4HWN custom firmware. It extends the work originally done for the UV-K5 V1 (DP32G030 MCU) and adapts it to the newer UV-K1 and UV-K5 V3, which are based on the PY32F071 MCU. It is the result of joint work by @muzkr and @armel. Many thanks to @mrkusypl and @Tunas1337 for their valuable help.
This release, called 🔥Fusion edition, merges into a single firmware all the different editions I previously released for the UV-K5 V1.
Warning
THIS FIRMWARE HAS NO REAL BRAIN. PLEASE USE YOUR OWN. Use this firmware at your own risk (entirely). There is absolutely no guarantee that it will work in any way shape or form on your radio(s), it may even brick your radio(s), in which case, you'd need to buy another radio.
Anyway, have fun.
⚙️ Getting Started
If you are already running 🔥Fusion Edition v5.x, there is nothing special to do: just Flash with 🔥Fusion Edition v5.3.1 as usual and start using the radio. Just make sure to also update the f4hwn.fusion.chirp.v5.3.1.py driver.
However, if you are coming from a factory firmware or from any version earlier than 🔥Fusion Edition v5.x, I recommend following the steps below:
-
(Optional) From CHIRP, export your memory channels to CSV (using the v4.3 driver).
-
Flash your UV-K1 or UV-K5 V3 with 🔥Fusion Edition v5.3.1.
-
Enter the hidden menus by holding PTT + SIDE BUTTON 1️⃣ while powering on the radio, then release all keys and perform a RESET ALL, menu 75/75.
Warning
Due to the complete change in memory mapping, you will lose all your memory channels and all your settings.
- (Optional) Using CHIRP with the driver f4hwn.fusion.chirp.v5.3.1.py, you can reload your CSV file and copy / paste your old channels.
Warning
Do not try to import your CSV file, do a copy / paste instead !
The radio will restart with the new firmware.
Remember to set the navigation direction according to whether you are using a UV-K1 or a UV-K5 V3, using the hidden menu 74/75 SetNav.
📚 Wiki documentation
To complement these release notes, remember that a GitHub Wiki is available.
It brings together the main documentation in one place: getting started, programming with CHIRP, using UVTools2, radio operation, scanning, menu reference, button functions, advanced features, troubleshooting, and videos/tutorials.
If you are discovering 🔥 Fusion Edition, or if you need to quickly find details about a specific feature, the Wiki remains the best place to start.
📋 Changelog
- Fixed squelch level resetting to 1 upon restart (issue #246)
- Add Rx audio profiles for AM (issue #244)
About AM, the idea is to offer different AM profiles, just like in FM.
Depending on the modulation type, the SetRxA (64/69) menu or the RxA action assigned to a key such as F1, F2, M allows you to switch the audio profile.
In FM, the profiles remain the same as before: FLAT, CLEAN, MID, BOOST, and MAX.
In AM, the available profiles are now: SHARP, STOCK, and OPEN.
- SHARP uses a narrow IF filter with low gain, making it selective and precise, with better adjacent channel rejection. As you reported, it can sometimes sound harsh or distorted on strong signals, but it always remains clear.
- STOCK is designed to stay as close as possible to the stock firmware, based on my current understanding of the BK4829 settings and behavior.
- OPEN uses a wider IF filter with higher gain, making it more open and pleasant to listen to, with better sensitivity on weak signals. As you reported, some receptions may sound a bit muffled, especially on ATC.
Regarding the issue encountered by some users, who need to enable MONITOR in order to receive AM signals, I do not know the cause and I have never been able to reproduce it on my side. Therefore, leave MONITOR enabled if needed, or revert to the stock firmware if it works better for you. You are also free to investigate on your own and propose concrete solutions (with code...). As for me, I will not spend any more time on this point and I will close any related issues. I cannot fix problems that I do not observe and do not understand. I am not a wizard 🧙🏼♂️
🪛 Dumping and restoring calibration data
UVTools2 can also dump and restore calibration data, which is strongly recommended.
Ideally, you should:
- create a calibration dump right after installing the F4HWN firmware, and
- restore it before installing a different firmware (for example, when returning to the stock firmware).
Dump
- Open UVTools2 in dump mode (or select the Dump Calib tab).
- Power on your radio in normal mode.
- Click Dump Calibration Data.
When the process is complete, click Download calibration.dat to save the file on your computer.
Note
A good practice is to rename your calibration file using the serial number of your radio, which is printed on the label on the back of the device (under the battery). This avoids mixing up calibration files if you own multiple units.
Restore
- Open UVTools2 in restore mode (or select the Restore Calib tab).
- Power on your radio in normal mode.
- Select your
calibration.datfile on your computer. - Click Restore Calibration Data and wait until the process fully completes.
🖥️ About the K5 Viewer feature
You can use K5 Viewer on your PC directly in Chrome-based browser (like Chrome, Edge, Opera, etc.).
Here is a quick tutorial for dummies:
- Flash your Quansheng UV-K1 or UV-K5 V3 with F4HWN 🔥 Fusion edition
- Keep the K5 connected to your PC via the USB cable (Baofeng/Kenwood like USB serial cable or USB C)
- Go to https://armel.github.io/k5viewer/
- Click Connect (and select the serial port)
That’s it. Nothing to install. Nothing to configure. Just plug and view 🤭
💾 CHIRP Support
A CHIRP f4hwn.fusion.chirp.v5.3.1.py driver supporting the UV-K1 and UV-K5 V3 is also included in this release. It allows reading and writing the radio’s memory channels, settings and basic parameters directly from CHIRP, just like with the UV-K5 V1.
This driver is provided for convenience and early testing. It may still evolve as feedback comes in, so feel free to open an issue or report any anomaly you notice.
⚙️ Build summary
Memory region Used Size Region Size %age Used
RAM: 12480 B 16 KB 76.17%
FLASH: 85708 B 118 KB 70.93%
✅ Done: Fusion
Enjoy,
F4HWN v5.3.0
🌐 Translate
Automatic translation is available via Google Translate: Open translated version.
🔥About this firmware
This firmware is a fork of the F4HWN custom firmware. It extends the work originally done for the UV-K5 V1 (DP32G030 MCU) and adapts it to the newer UV-K1 and UV-K5 V3, which are based on the PY32F071 MCU. It is the result of joint work by @muzkr and @armel. Many thanks to @mrkusypl and @Tunas1337 for their valuable help.
This release, called 🔥Fusion edition, merges into a single firmware all the different editions I previously released for the UV-K5 V1.
Warning
THIS FIRMWARE HAS NO REAL BRAIN. PLEASE USE YOUR OWN. Use this firmware at your own risk (entirely). There is absolutely no guarantee that it will work in any way shape or form on your radio(s), it may even brick your radio(s), in which case, you'd need to buy another radio.
Anyway, have fun.
⚙️ Getting Started
If you are already running 🔥Fusion Edition v5.x, there is nothing special to do: just Flash with 🔥Fusion Edition v5.3.0 as usual and start using the radio. Just make sure to also update the f4hwn.fusion.chirp.v5.3.0.py driver.
However, if you are coming from a factory firmware or from any version earlier than 🔥Fusion Edition v5.x, I recommend following the steps below:
-
(Optional) From CHIRP, export your memory channels to CSV (using the v4.3 driver).
-
Flash your UV-K1 or UV-K5 V3 with 🔥Fusion Edition v5.3.0.
-
Enter the hidden menus by holding PTT + SIDE BUTTON 1️⃣ while powering on the radio, then release all keys and perform a RESET ALL, menu 75/75.
Warning
Due to the complete change in memory mapping, you will lose all your memory channels and all your settings.
- (Optional) Using CHIRP with the driver f4hwn.fusion.chirp.v5.3.0.py, you can reload your CSV file and copy / paste your old channels.
Warning
Do not try to import your CSV file, do a copy / paste instead !
The radio will restart with the new firmware.
Remember to set the navigation direction according to whether you are using a UV-K1 or a UV-K5 V3, using the hidden menu 74/75 SetNav.
📚 Wiki documentation
To complement these release notes, remember that a GitHub Wiki is available.
It brings together the main documentation in one place: getting started, programming with CHIRP, using UVTools2, radio operation, scanning, menu reference, button functions, advanced features, troubleshooting, and videos/tutorials.
If you are discovering 🔥 Fusion Edition, or if you need to quickly find details about a specific feature, the Wiki remains the best place to start.
📋 Changelog
- Fix PWM frequency to suppress audio interference (issue #195)
- Fix one and two letters scan list names (issue #206)
- Fix overlap between Live DTMF and Unlock Keyboard (issue #215)
- Fix breakout: reliable key handling from K5Viewer (issue #214)
- Fix spectrum: reliable serial key input + USB-C unplug freeze fix (issue #212)
- Fix SetVol keeps the changes despite Exit key is pressed (issue #200)
- Backlight fading and improved backlight control in spectrum (PR #211, thanks @mrkusypl)
- Align BK4829 (AGC, AM) with stock firmware
- Replaced the previous Audio Bar with a new Audio Scope display (TX only…)
- Improve Audi Scope (PR #238, PR #239, PR #241, PR #242, thanks @mrkusypl)
- Reduce the lag between consecutive RX on both frequencies under DW mode (issue #198)
- K5Viewer: more reliable key handling (PR #216, thanks @mrkusypl)
- Code refactoring (PR #218, PR #225, PR #226, PR #229, PR #232, PR #234, thanks @mrkusypl)
🪛 Dumping and restoring calibration data
UVTools2 can also dump and restore calibration data, which is strongly recommended.
Ideally, you should:
- create a calibration dump right after installing the F4HWN firmware, and
- restore it before installing a different firmware (for example, when returning to the stock firmware).
Dump
- Open UVTools2 in dump mode (or select the Dump Calib tab).
- Power on your radio in normal mode.
- Click Dump Calibration Data.
When the process is complete, click Download calibration.dat to save the file on your computer.
Note
A good practice is to rename your calibration file using the serial number of your radio, which is printed on the label on the back of the device (under the battery). This avoids mixing up calibration files if you own multiple units.
Restore
- Open UVTools2 in restore mode (or select the Restore Calib tab).
- Power on your radio in normal mode.
- Select your
calibration.datfile on your computer. - Click Restore Calibration Data and wait until the process fully completes.
🖥️ About the K5 Viewer feature
You can use K5 Viewer on your PC directly in Chrome-based browser (like Chrome, Edge, Opera, etc.).
Here is a quick tutorial for dummies:
- Flash your Quansheng UV-K1 or UV-K5 V3 with F4HWN 🔥 Fusion edition
- Keep the K5 connected to your PC via the USB cable (Baofeng/Kenwood like USB serial cable or USB C)
- Go to https://armel.github.io/k5viewer/
- Click Connect (and select the serial port)
That’s it. Nothing to install. Nothing to configure. Just plug and view 🤭
💾 CHIRP Support
A CHIRP f4hwn.fusion.chirp.v5.3.0.py driver supporting the UV-K1 and UV-K5 V3 is also included in this release. It allows reading and writing the radio’s memory channels, settings and basic parameters directly from CHIRP, just like with the UV-K5 V1.
This driver is provided for convenience and early testing. It may still evolve as feedback comes in, so feel free to open an issue or report any anomaly you notice.
⚙️ Build summary
Memory region Used Size Region Size %age Used
RAM: 12480 B 16 KB 76.17%
FLASH: 85384 B 118 KB 70.66%
✅ Done: Fusion
Enjoy,
F4HWN v5.2.0
🌐 Translate
Automatic translation is available via Google Translate: Open translated version.
🔥About this firmware
This firmware is a fork of the F4HWN custom firmware. It extends the work originally done for the UV-K5 V1 (DP32G030 MCU) and adapts it to the newer UV-K1 and UV-K5 V3, which are based on the PY32F071 MCU. It is the result of joint work by @muzkr and @armel. Many thanks to @Tunas1337 for his valuable help.
This release, called 🔥Fusion edition, merges into a single firmware all the different editions I previously released for the UV-K5 V1.
Warning
THIS FIRMWARE HAS NO REAL BRAIN. PLEASE USE YOUR OWN. Use this firmware at your own risk (entirely). There is absolutely no guarantee that it will work in any way shape or form on your radio(s), it may even brick your radio(s), in which case, you'd need to buy another radio.
Anyway, have fun.
⚙️ Getting Started
If you are already running 🔥Fusion Edition v5.x, there is nothing special to do: just Flash with 🔥Fusion Edition v5.2.0 as usual and start using the radio. Just make sure to also update the f4hwn.fusion.chirp.v5.2.0.py driver.
However, if you are coming from a factory firmware or from any version earlier than 🔥Fusion Edition v5.x, I recommend following the steps below:
-
(Optional) From CHIRP, export your memory channels to CSV (using the v4.3 driver).
-
Flash your UV-K1 or UV-K5 V3 with 🔥Fusion Edition v5.2.0.
-
Enter the hidden menus by holding PTT + SIDE BUTTON 1️⃣ while powering on the radio, then release all keys and perform a RESET ALL, menu 75/75.
Warning
Due to the complete change in memory mapping, you will lose all your memory channels and all your settings.
- (Optional) Using CHIRP with the driver f4hwn.fusion.chirp.v5.2.0.py, you can reload your CSV file and copy / paste your old channels.
Warning
Do not try to import your CSV file, do a copy / paste instead !
The radio will restart with the new firmware.
Remember to set the navigation direction according to whether you are using a UV-K1 or a UV-K5 V3, using the hidden menu 74/75 SetNav.
📚 Wiki documentation
To complement these release notes, remember that a GitHub Wiki is available.
It brings together the main documentation in one place: getting started, programming with CHIRP, using UVTools2, radio operation, scanning, menu reference, button functions, advanced features, troubleshooting, and videos/tutorials.
If you are discovering 🔥 Fusion Edition, or if you need to quickly find details about a specific feature, the Wiki remains the best place to start.
📋 Changelog
- Fix scan save channel (issue #143)
- Fix last channel name character cropped (issue #148)
- Fix bug Reset All channels 512 -> 768 (issue #156)
- Fix can't save channel in some channel slots (issue #153)
- Blink arrow on RX (issue #146)
- Add named list
- Add bidirectional scanlist navigation with F + UP/DOWN keys (issue #145)
- Increase MIC gain values
- Improve UI
- Improve SMeter calibration (issue #162)
- Code refactoring (thanks @mrkusypl)
- UVTools2 add bootloader check control
- K5Viewer add virtual keyboard control
🪛 Dumping and restoring calibration data
UVTools2 can also dump and restore calibration data, which is strongly recommended.
Ideally, you should:
- create a calibration dump right after installing the F4HWN firmware, and
- restore it before installing a different firmware (for example, when returning to the stock firmware).
Dump
- Open UVTools2 in dump mode (or select the Dump Calib tab).
- Power on your radio in normal mode.
- Click Dump Calibration Data.
When the process is complete, click Download calibration.dat to save the file on your computer.
Note
A good practice is to rename your calibration file using the serial number of your radio, which is printed on the label on the back of the device (under the battery). This avoids mixing up calibration files if you own multiple units.
Restore
- Open UVTools2 in restore mode (or select the Restore Calib tab).
- Power on your radio in normal mode.
- Select your
calibration.datfile on your computer. - Click Restore Calibration Data and wait until the process fully completes.
🖥️ About the K5 Viewer feature
You can use K5 Viewer on your PC directly in Chrome-based browser (like Chrome, Edge, Opera, etc.).
Here is a quick tutorial for dummies:
- Flash your Quansheng UV-K1 or UV-K5 V3 with F4HWN 🔥 Fusion edition
- Keep the K5 connected to your PC via the USB cable (Baofeng/Kenwood like USB serial cable or USB C)
- Go to https://armel.github.io/k5viewer/
- Click Connect (and select the serial port)
That’s it. Nothing to install. Nothing to configure. Just plug and view 🤭
💾 CHIRP Support
A CHIRP f4hwn.fusion.chirp.v5.2.0.py driver supporting the UV-K1 and UV-K5 V3 is also included in this release. It allows reading and writing the radio’s memory channels, settings and basic parameters directly from CHIRP, just like with the UV-K5 V1.
This driver is provided for convenience and early testing. It may still evolve as feedback comes in, so feel free to open an issue or report any anomaly you notice.
⚙️ Build summary
Memory region Used Size Region Size %age Used
RAM: 12384 B 16 KB 75.59%
FLASH: 85344 B 118 KB 70.63%
✅ Done: Fusion
Enjoy,
Armel F4HWN