Skip to main content

FT8 (Wsjt-x 2.0) protocol decoding in Cortex-M for experiment

FT8 (Wsjt-x 2.0) protocol decoding in Cortex-M for experiment

I implemented FT8 signal decoding on the STM32F746G-Disc board for Expermental.
I want to test whether Cortex-M based FT8 communication is possible. I used Wsjt-x 2.0 and some source code to enable FT8 decoding on the Cortex-M7 base.

I received the FT8 signal directly to the microphones (mems) on the STM32F746G-Disc board.

1.Implementation and experiment preparation
I have used web sdr for the experiment and can do real time testing.

The decoding comparison used Wsjt-x 2.05 (for FT4)

The red square in the picture below is the microphone for receiving the FT8 signal.


First Decoding :
Compared to Wsjt-x 2.0, decoding is delayed about 2 seconds.

Second Decoding : Wsjt-x has already been decoded.

Cortex-M was decoded about 2 seconds later.

Test Video

Several improvements have been made to the Cortex-M, but it is still difficult to use.
If 2 seconds are delayed, the next signal transmission has already begun.

The STM32F746 is 216Mhz and I have been successful in overclocking near 300Mhz a few years ago. (300Mhz is not accurate)

But I will not solve this problem with Overclock. I will keep the CPU speed below 216Mhz for stability.

The part that needs the most time to decode the FT8 protocol is the FFT processing part.

FT8 : Tone spacing = 6.25Hz * 8FSK = 50Hz

FFT Size : 3840 = 1920 * 2
             1920 = 12000(bitrate) / 6.25Hz (Tone spacing)
In this way, the FFT Bin unit will be 6.25 Hz.

I modified the Bitrate to slightly reduce the FFT Size while maintaining 6.25Hz. I also modified the Kiss-FFT library to work with Cortex-M.

I am going to make a few more improvements to fit Cortex-M. As a result of the improvement, if it is available in Cortex-M, I will make it public.

Thank you for reading


  1. Hello, I am charles hill, w5baa. After having tried decoding FT8 on an STM32F746 board myself I am quite interested in your experiment.

    I have authored several SDR projects using embedded processors including the SDR2GO and STM32_SDR projects. I also have an SDR radio running on the STM32f746.

    Will it be possible to get a copy of your firmware if I promise not to bug you with questions and suggestions?



  2. Dearest Esteems,

    We are Offering best Global Financial Service rendered to the general public with maximum satisfaction,maximum risk free. Do not miss this opportunity. Join the most trusted financial institution and secure a legitimate financial empowerment to add meaning to your life/business.

    Contact Dr. James Eric Firm via
    Whatsapp +918929509036
    Best Regards,
    Dr. James Eric.
    Executive Investment

  3. Hi Have been looking for some one on the web with the imagination and skill to implement FT8 as a stand alone project as I am not capable of doing it myself. Many thanks Pete

  4. If the protocol allows for behavior that the pattern-matching algorithms have difficulty dealing with. Check us out


Post a Comment

Popular posts from this blog

uBITX with Nextion LCD (CEC Firmware) - Installation and Introduction

uBITX with Nextion LCD (CEC Firmware) -  Installation and Introduction uBITX CEC Firmware supports various LCD since Version 1.08 (16x02 Parallel, 20x04 Parallel, 16x02  I2C, 20x04 I2C, 16x02 Dual LCD with I2C). Supports Nextion LCD (Graphic LCD) from Version 1.09, Version 1.09x is primarily aimed at Nextion LCD support. Also 1.09x will continue to be Beta version. If you want a stable version, please use 1.08 or 1.1 version to be released in the future.

Release CEC Firmware v1.200 for uBITX All version(include V2, V3, V4, V5)

Release CEC Firmware v1.200 for uBITX All Version (include v2, v3, v4, v5) I did the firmware work for v5 when uBITX V5 was released, but I release it now. I received the feedback from a thankful beta tester and tested it myself by converting my uBITX v3 to v5 but I was not sure. I ordered the uBITX V5 and delivered the correct uBITX V5, so I made a little more fine-tuning. If you use V2, V3, V4, you do not need to update this firmware.

How to connect SDR (RTL-SDR) to uBITX and uBITX Firmware CEC Version V1.071 (Beta) Release

How to connect SDR (RTL-SDR) to uBITX (uBITX Firmware CEC Version V1.071 Beta Release, At the end of the beta test, we will release to 1.08.) uBITX and SDR usage will be divided into several and will be posted. Some users have attempted to connect SDR to uBITX. I also supported SDR connections from uBITX since CEC Firmware 1.070 (Beta).