The mcHF is a fully open source software defined radio transceiver for the HF amateur bands (3–30 MHz). Its goal is planet-wide, off-grid communication — ionosphere permitting — with no dependence on cellular or satellite infrastructure.
Both hardware and firmware build on the work of many radio amateurs. The design is modular, uses mostly off-the-shelf components that can be soldered by hand, and is straightforward to repair when something goes wrong. An amateur radio licence is required to transmit.
- Transmit and receive on the 3–30 MHz amateur bands
- SSB, AM, FM and CW modes
- FT8 and WSPR digital mode decoding (in development)
- Real-time spectrum scope and waterfall
- Large 4.3" IPS LCD with capacitive touch
- 25 W output power
- Built-in 80 Wh lithium battery
- Dual USB-C ports for power, charging and PC connection
- Bluetooth stereo headphone support
- LoRa sub-GHz auxiliary radio
The radio is built around an STM32H747XI dual-core MCU: the Cortex-M7 (480 MHz) runs the user interface and system control, while the Cortex-M4 handles the real-time DSP (demodulation, AGC, filtering, spectrum FFT).
| Status | Version | Location |
|---|---|---|
| Latest | 0.9 rev B | pcb/v9 |
| Develop | 0.8.5 | pcb/v8/mchf |
| Legacy | 0.6.3 | pcb/__legacy/v6 |
| Revision | Version | Location |
|---|---|---|
| rev 8 | 0.8.5 | testing/gerbers/0_8_5 |
| rev 7 | 0.7.0 | pcb/__legacy/bin/v7 |
| rev 6 | 0.6.3 | pcb/__legacy/bin/v6 |
| Directory | Contents |
|---|---|
| firmware | All firmware projects (see below) |
| pcb | Altium PCB projects and gerbers |
| mechanical | Enclosure and mechanical design files |
| testing | Test data and manufacturing files |
The firmware is developed with STM32CubeIDE (Eclipse CDT managed build — no separate Makefiles).
Clone with submodules (the ST HAL and the FT8 library are pulled in as git submodules):
git clone --recurse-submodules https://github.com/m0nka/mcHF.git
There are three independent firmware projects, each opened separately in STM32CubeIDE:
| Project | Core | Location |
|---|---|---|
| Application processor (UI, control) | CM7 | firmware/app_proc/proj |
| Baseband DSP | CM4 | firmware/baseband |
| Bootloader | CM7 | firmware/bootloader |
Open the project's .project file in STM32CubeIDE and use Build → Build Project. The application processor build produces firmware/app_proc/proj/Release/mchf_app_proc.bin, which can be flashed over SWD with program_radio.bat (requires STM32CubeProgrammer).
Older mcHF hardware versions are supported by the community-maintained UHSDR firmware:
- Firmware repository: df8oe/UHSDR
- Project crash course and documentation: UHSDR wiki
Questions, build reports and development discussion are welcome in the mcHF discussion group.
Feel free to build one yourself and contribute — bug reports, fixes and improvements to hardware, firmware or documentation are all appreciated.
mcHF is licensed under the GNU General Public License v3.0.
Copyright © 2013–2026 Krassi Atanassov, M0NKA