I have released an open source DSP audio processing project based on the Teensy audio library that targets Radio Amateur applications.
The Teensy 3.2/3.5/3.6 are ideal add-ons for older Radio Amateur equipment which does not include built-in audio DSP functions. It also opens many possibilities for integrating non-DSP functions such as USB CAT control, audio interfacing, Morse decoding etc. into a single simple to install hardware/software package that can be easily updated.
My focus has been installing the Teensy into a portable Yaesu FT817 rig but the same principles can be applied to vendor’s equipment or with an external amplified speaker.
I only discovered the Teensy and its Audio library a few weeks ago so it is still very early days for me. That means the code and feature set is continually changing and is not what I would class as production quality. More like a proof of concept
This project would not have been possible without the great work of Paul Stoffregen and Bob Maling.
The current release:
1. Removes the need to use external tools to calculate the filters. It is all now done in the code. There are examples of bandpass, bandstop, hipass and lowpass included in the "filterList[]" array.
2. Enabled emulation of a USB sound card allowing direct audio RX on a PC. To use this, make sure you select "Serial + Midi + Audio" for the "USB Type" on the Arduino Tools menu before compiling.
3. Added USB to CAT support but have not had time to test it yet!
4. Added options to enable different types of debugging support. Just make sure you don’t use these in CAT mode
5. Added support for the Teensy audio board. This makes it easy to use with external amplified speakers. To use it comment out "#define FT817" and uncomment "#define SPEAKER"
6. Added support for a rotary encoder to change the centre points of the filters. Its not much use yet since the setting is not saved between power cycles but I will add that in due course.
7. Upped the baud rate to 115200 from 9600
Full details and source code are available from https://gi1mic.github.io/
With luck, a few more features will be added shortly.
If you have questions or want to help, contact me here but be aware my DSP knowledge is limited to what I have read in the past couple of weeks!
Note: Comments within the code frequently provide more detail than my write-ups.
A video of the prototype is available via https://www.youtube.com/watch?v=s9hHDQcvHOI
The Teensy 3.2/3.5/3.6 are ideal add-ons for older Radio Amateur equipment which does not include built-in audio DSP functions. It also opens many possibilities for integrating non-DSP functions such as USB CAT control, audio interfacing, Morse decoding etc. into a single simple to install hardware/software package that can be easily updated.
My focus has been installing the Teensy into a portable Yaesu FT817 rig but the same principles can be applied to vendor’s equipment or with an external amplified speaker.
I only discovered the Teensy and its Audio library a few weeks ago so it is still very early days for me. That means the code and feature set is continually changing and is not what I would class as production quality. More like a proof of concept
This project would not have been possible without the great work of Paul Stoffregen and Bob Maling.
The current release:
1. Removes the need to use external tools to calculate the filters. It is all now done in the code. There are examples of bandpass, bandstop, hipass and lowpass included in the "filterList[]" array.
2. Enabled emulation of a USB sound card allowing direct audio RX on a PC. To use this, make sure you select "Serial + Midi + Audio" for the "USB Type" on the Arduino Tools menu before compiling.
3. Added USB to CAT support but have not had time to test it yet!
4. Added options to enable different types of debugging support. Just make sure you don’t use these in CAT mode
5. Added support for the Teensy audio board. This makes it easy to use with external amplified speakers. To use it comment out "#define FT817" and uncomment "#define SPEAKER"
6. Added support for a rotary encoder to change the centre points of the filters. Its not much use yet since the setting is not saved between power cycles but I will add that in due course.
7. Upped the baud rate to 115200 from 9600
Full details and source code are available from https://gi1mic.github.io/
With luck, a few more features will be added shortly.
If you have questions or want to help, contact me here but be aware my DSP knowledge is limited to what I have read in the past couple of weeks!
Note: Comments within the code frequently provide more detail than my write-ups.
A video of the prototype is available via https://www.youtube.com/watch?v=s9hHDQcvHOI
Last edited: