2.8.0 / 4.0.0

@df8oe df8oe released this Feb 9, 2018 · 174 commits to active-devel since this release


  • Reduced startup delay for CW RX --> TX switching, especially relevant
    for use with external keys/keyers.
  • Fixed some out-of-bounds errors which may help to run the firmware
    more reliable
  • Bootloader fixes unreliable switching off on some machines.


  • High precision touchscreen press detection. Please calibrate your
    touchscreen (simply press on the touchscreen during startup).
  • Dual waterfall / scope display with adjustable percentages
  • Scope can visualize filter width (color adjustments in Display
    Configuration menu)
  • Added support for ILI9486 based LCDs @480x320 (with parallel and the
    RPi-style SPI connection supported, see below)
  • Changed, much more effective noise reduction algorithm now based on
    spectral noise reduction concepts.
  • PSK31 / BPSK TX and RX using USB keyboard
  • CW memories (not stored in EEPROM !)
  • New font for frequency digits (only for devices with more than 512kb
    Flash, can be configured in Display Configuration menu)

How to get a new highres display:

You can get 3.5" 480x320 LCD kits which have same headers as HY28B or
new 3.2" LCD used at mcHF 0.7 from DF8OE. Running on 480x320 gives
waterfall and scope using full display width and all other elements are
placed in a much smoother way. LCD screen looks much better on higher
resolution. Please note, you have to run the display in parallel mode.

For those with mcHF & RTC (which demands use of SPI display connection:
In theory you can upgrade to use the RPi SPI ILI9486 displays (available
on eBay but due to the larger size and generally slower fill rate, the
display is noticable slower as the parallel on the same UI board (and
there is not much we can do here).

An important note for owners of 512kb flash size mcHF UI boards:

Due to the growing functionality of the firmware we ran out of flash
capability of STM32F4 with 512KB flash memory recently. Firmware on the
512k machines can have maximum size of 512KB - 32KB bootloader - 32KB
virtual EEPROM = 448KB. Chris, M0NKA has switched some time ago to 1MB
STM32F4 - so there is no problem for those of you. But there is an
amount of mcHF and clones with smaller flash out in the wild. The best
solution would be to swap MCU to a version with more flash.

If you swap the MCU it is a good idea to spend some extra cents and use
STM32F427/429/439 which have 2MB of flash and 256KB RAM instead of
192KB. But all those who do have 192KB RAM / 1MB flash can remain calm, too.

As already announced a few days ago, we provide two builds of the mcHF
firmware now: the "full build" and a functionality-reduced one for 512KB
MCUs. Right now only FreeDV is missing - but sooner or later we
will scrap at the borders of small MCU again, then we'll have to cut off
something additionally.

For getting more information please read the "operating manual" https://github.com/df8oe/UHSDR/wiki/Operating-Manual and "Operating Manual Menu" https://github.com/df8oe/UHSDR/wiki/Operating-Manual---Menu in GitHub WIKI section.

You can find recent binaries and archieved ones at the startup page https://df8oe.github.io/UHSDR/

The UHSDR development team


@df8oe df8oe released this Nov 12, 2017 · 652 commits to active-devel since this release

Much code rework was done and many new features have entered this version:

  • rework of scope / waterfall behaviour in CW
  • WDSP AGC and dBm based S-Meter replaced old versions (which are removed now)
  • RTTY RX and TX implemented
  • CW decoding implemented
  • Tune helper for CW/AM/SAM added
  • complete rewritten DSP NB and DSP NB
  • added support for entering text using CW keyer
  • added support for USB keyboards
  • beginning of CW memory implementation
  • beginning of BPSK integration (only TX at the moment)
  • and much more...

For getting more information please read the "operating manual" https://github.com/df8oe/UHSDR/wiki/Operating-Manual and "Operating Manual Menu" https://github.com/df8oe/UHSDR/wiki/Operating-Manual---Menu in GitHub WIKI section.

You can find recent binaries and archieved ones at the startup page https://df8oe.github.io/UHSDR/

The UHSDR development team


@df8oe df8oe released this Jun 26, 2017 · 1296 commits to active-devel since this release

many small bugfixes, refactorings, added working noise blanker


@df8oe df8oe released this Mar 25, 2017 · 1501 commits to active-devel since this release

Bootloader now surprises with text messages on LCD (bootloader version now 3.2.0). Only marginal changes in firmware. Don't use this if your mcHF has not fitted serial EEPROM (not the "standard one which is shipped with the kits) - you will get "no sound". 24LC1026 must be fitted! This bug is fixed in our daily snapshots which you can get here: http://df8oe.github.io/mchf-github/


@df8oe df8oe released this Mar 18, 2017 · 1522 commits to active-devel since this release

This is the first stable release build using STMicroelectronics HAL libraries. Firmware should not behave different than 1.6.0 - but bootloader has done a very big step! You can now use USB stick OR USB cable to PC running DFU software like DFUsedemo. You can now upgrade bootloader without opening mcHF (!!) and bootloader should accept now every USB stick.

I release binaries in a gpg-signed zip file. Included are .bin's and .dfu's regarding the way you want to use them. Please read informations in our GitHub WIKI carefully.

Download .zip and .zip.sig file.

GPG-signed files can simply be tested for corruption during download AND their trustness can be controlled (you can find my public key on keyservers like hkp://pgp.mit.edu) - my signing key is the one for email address om@df8oe.de.

Linux (should work for MAC, too) users simply enter on command line:

gpg2 --verify /path/to/downloaded/files/filename.zip.sig

I do not own Windows machine so I do not know how to proceed running Windows.


@df8oe df8oe released this Mar 14, 2017

This is the last release of firmware build using old STM libraries. This branch will not be supported in future - we switch to HAL based firmware the next few days.



@df8oe df8oe released this Feb 11, 2017

  • I2C-speed now is user-selectable to get max. speed out of your mcHF
  • switched frequency calibration from Hz to ppm (which is frequency-independent)
  • introduced RX IQ autocorrection (must be enabled in config menue)
  • introduced twin-peaks autocorrection


@df8oe df8oe released this Dec 31, 2016 · 1927 commits to active-devel since this release

Main Improvments/Changes (Please read!):

  • Frequency Translation +/-12kHz uses a new (more efficient) algorithm.
    +/-6 will continue to use the old approach
  • RX to TX switching noise (Spikes/Pops on HF) have been eliminated.
    Analog Inputs (LineIn and Mic) imply muting for at least 40ms, digital
    signals (USB,CW) have no extra muting. Be aware that your PTT switch on
    a mike may now cause unwanted noise, due to faster switching. Use "TX
    Initial Muting" in the Configuration Menu to increase muting time.
  • Switching between RX and TX is now much faster. Typical latency is
    about 10ms from starting to process the PTT request until TX is enabled
    (some inputs add more muting, see above). It may be too fast if you use
    a PA, use "TX Initial Muting".
  • I2C buses are now clocked faster. Makes startup faster, switching
    between RX/TX faster, save config to EEPROM is 4 times faster. This may
    cause problems with frequency changes (red digits) or I2C EEPROM not
    being recognized. We tried on several machines and the current speed
    settings worked on all of them but YMMV.
  • Some graphic operation speed improvements, mostly visible for SPI
    display users.
  • Fixed some bugs, made new ones.
  • Last but not least: Added automatically generated menu documentation,
    thanks to Stephan (HB9OCQ). The one always matching the daily build (but
    not yet complete one) can be found here:

Please support the development by testing and reporting issues with good
description how to reproduce the problem.



@df8oe df8oe released this Dec 8, 2016 · 2062 commits to active-devel since this release

bugfixed version of improved IQ adjustments. Now you only need to adjust in 80m band and in 10m band. All other bands IQ values are calculated in linear interpolation.. Works much better than without calculation.


@df8oe df8oe released this Nov 15, 2016 · 2121 commits to active-devel since this release

First stable release containing freedv