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. 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

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

  4. Top 10 best slots casinos for 2021 - SOL.EU
    Best Slots Casino: Best Real Money Slots sporting100 Sites 2021 · Red Dog Casino: Best Overall Slots Casino For USA Players · Ignition Casino: Best Casino For Roulette

  5. FT8 protocol decoding is a digital communications protocol that is widely used in amateur radio. It allows for reliable transmission of messages even in challenging propagation conditions. To effectively decode FT8 signals, it is often necessary to hire professional services such as signal processing and data analysis experts, who can use specialized software and hardware to capture and analyze the signals. These services can help ensure accurate decoding and interpretation of FT8 transmissions.

  6. I am looking forward to read more helpful blog from this site. Keep posting.


Post a Comment

Popular posts from this blog

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.

Release EU1KY AA Firmware CEC Version 1.01 and 1.0a

Release EU1KY AA Firmware CEC Version 1.01 and 1.0a It is the stabilized final version of EU1KY AA. Updates starting with Version 0.1 continue to add features. Please refer to the link below for added features. I have separated the Version to 1.01 and 1.0A for users who want to use AA only for instrumentation purposes. *  If you want to use all the features added up to Version 0.71, please use Version 1.0A. *  If you want to use it only for instrument use, please use Version 1.01 Version V1.0A Version V1.01 1.Download Firmware Version 1.01 and 1.0a Version 1.01 (Version with only antenna analyzer function) Version 1.0A (Version with all features added up to Version 0.71) ConvertRXP (Converters for using AA measurement data in other tool

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.