An implementation of Charles Hill's Palm-Sized Pocket FT8 Transceiver updated for Teensy 4.1 with SMD components on a 4-Layer board
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
Please use this software at your own risk
Decoding FT8 requires significant data storage and processing speed.
In order to optimize both program storage and processing speed requirements so that the Teensy 3.6 is not over taxed, the Teensy Audio Library has been modified to allow Analog to Digital conversion to be run at the rate of 6400 samples per second. This allows audio data processing to be done at 3200 Hz. The 3200 Hz audio processing with a 2048 FTT to process the received audio for FT8 decoding yields a bin spacing of 3.125 Hz. For Teensy 4.1, the revised sample rate required replacement of the core AudioStream.h file with the AudioStream6400.h file in the PocketFT8FW sketch folder.
The algorithms developed by Karlis Goba use the 3.125 Hz spaced FFT bins to be screened in both frequency and time so that errors in symbol frequency and time reception can be overcome to provide really great FT8 decoding. The end spacing of the FT8 algorithms is 6.25 Hz.
Charles Hill's concept of a portable FT8 transceiver is ideal for POTA/SOTA in the U.S. Idaho mountains (my home). The entire transceiver fits in a compact enclosure, the power demand is acceptable, and it can operate from a USB power block familiar to backpackers. Rather than start with a clean slate, I chose to start with a compact implementation of Pocket FT8 with minimal revision, largely confined to that necessary for the Teensy 4.1 (as the 3.6 is no longer available) and implemented on a single 4-layer board. The idea is to reproduce it, identify and resolve its shortcomings in subsequent revisions, and keep it highly portable.
An alternative approach, previously investigated as YASDR, might be to construct an FT8 radio hat for a Raspberry 5 supporting the comprehensive wsjtx/etc natively. This archived approach offers considerable flexibility but with substantially higher power requirements (I'm getting too old to pack heavy batteries in the mountains;).
Charles and Barb have also progressed beyond Pocket FT8 with a multiband transceiver, DX FT8, on github at, https://github.com/WB2CBA/DX-FT8-FT8-MULTIBAND-TABLET-TRANSCEIVER
As of Oct 16, 2024, the V1.10 receiver is demodulating 40m USB signals and the FT8 code seems to occasionally successfully decode a message. The transmitter produces power on the expected frequency, but no contact has yet been attempted. The 5-pole Chebyshev LP filter suppresses spurious signals between 1 and 100 mHz in excess of 40 dB below a 7074 kHz carrier.