Today I created a Teensy 4.0 based keyer PCB can run a variety of Arduino keyers (K3NG, DL1YCF WinKeyerEmulator and HASAK), is also a MIDI controller for knobs and dials and CW keying over USB for SDR apps, and is a USB Audio card.
Steve KF7O, the design lead for the Hermes Lite 2, posted up his code (modifcations to other keyer projects) and PCB files recently on Github. The PCB part was not yet laid out, just a collection of footprints, and not routed, so I decided to do that and learn KiCAD in the process He modified the PJRC Teensy audio library to use 48Khz and some other tweaks for latency reductions.
I will insert my working i2c Encoder and MCP 23017 io expander code (for switches) to extend this to a full controller pod for SDRs on RPi or PCs. I can throw on a OLED or any screen relay. LCD text or graphics or nothing.
The USB audio angle requires some explanation for most folks. On SDRs there is latency between the key down time and the sound arriving at-the-ears time. For slow pokes like most of us, it is not much an issue but the problem becomes more noticeable in units like the low cost HL2 which does not have local mic and speaker audio processing as found in the large expensive FPGAs like the Flex and ANAN-7000 rigs.
The idea here is to have a keyer that acts as a USB sound card for the SDR app to send the RX audio to rather tha the usual desktop speakers. Rx is muted during TX and replaced by the locally generated sidetone which is mixed by the Teensy into the local speaker/headphone audio stream right at the keyer for nearly zero delay.
The unit can be used connected to a SDR controller head or most any PC SDR app and use MIDI commands or possibly a serial port to key CW, do PTT, which will have 10 to 30ms delays, or it can be used locally, collocated near the HL2 so the keyer back panel CW and PTT out jacks are wired to the SDR radio direct keyer inputs, eliminating all CPU processing delays outside of the Teensy itself, which is unnoticeable. So this is useful local or remote. When an audio amp module is included, it can add amplifier speakers to the PiHPSDR control heads that normally do not include audio. I included audio and amps in my own builds using a small USB audio card dongle connected to the mic and audio amp and internal or external speakers and spkr mic. You can also send text to these keyers from a keyboard, serial terminal, or via serial port from a logging program like N1MM. The Teensy supports a host mode USB port for connection to a USB mouse and keyboard so this could be leveraged as well later when combined with a screen.
Pictures and details of the PCB and the controller that I just finished (pending part fit verification) are now posted in a Hermes Lite 2 forum thread.
Teensy 4 MIDI controller experiment (google.com)
This keyer is not just for SDRs so is useful with regular radios too, this adds some new twists.
Mike
K7MDL EL87sm & CN88sf