Home - K7MDL2/KEITHSDR GitHub Wiki

Welcome to the KEITHSDR wiki on GitHub!

Be sure to see the Groups.io Wiki and forum messages for the full meal deal.

See details on specific Build Notes on the other pages as well as the individual README page for each.

The libraries used for each build will vary over time. Most are common to all builds here though so are listed in a Library page.

4.3" with I2C encoders packaged in a Hammond 1455N series case with a RS-HFIQ 5W SDR transceiver board.

4.3" with RGB LED encoders mounted on I2C boards, here acting as a Panadapter for a Elecraft K3.

7" display showing 20M FT-8. The frequency shown is not correct due to some playing around I was doing then.

7" display chassis under construction. There are now 3 Zoom levels with panning. Here at 48K sample rate and 4096IQ FFT, x1 Zoom.

7" display chassis under construction. x2 Zoom (using 2048IQ FFT). Set to 48KHz Sample Rate.

7" display chassis under construction. x4 Zoom (Using 1024IQ FFT). Set to 48KHz Sample Rate.

7" display chassis completed with internal Si5351C PLL module using external 10Mhz reference, 2 speakers, 3W stereo audio amp, SV1AFN 10-band BPF board, MCP23017 16 port I2C port expander, 5V DC-DC converter and NT7V QSD/QSE RF board mounted on a bare PCB for the chassis floor.

(December 26, 2022) Teensy SDR motherboard V2.1 mounts both 7" and 4.3" displays. A V2.1 4.3" size is available also for ordering. See the hardware folder. Also at EasyEDA Online

V2.1 Teensy 7" SDR Motherboard Assembled

Jan 2023: there is a V2.2 4-layer version with extra jacks for power and selectable 3.3V source (internal vs external), other smaller changes. Performs the same as the V2.1. Note the added ADAFruit LTC4311 I2C current driver on the lower left corner. It is stuck on with double sticky tape and uses the proto area pads to wire several connectors in parallel to connect to extra I2C device and encoders. This helps with longer I2C bus wire lengths to reach my i2c encoders, PLL, SV1AFN BPF board's 16 port expander (MCP23017 module). I2C can only rive a short length of wire without errors.

V2.2 Teensy 7" SDR Motherboard Assembled (Jan 2023)

Spectrum Display Module Notes:

The spectrum portion of the code is also available as a library allowing inclusion into most any Arduino project using RA8875/RA8876 displays and having FFT data available such as we are doing using the OpenAudio_Library 32bit floating point version. It is taking advantage of a graphic controller Block Transfer Engine (BTE) which moves memory blocks around including to and from a hidden layer. This is used to achieve a smooth waterfall scroll effect with almost no CPU overhead. We only use a few commands to move a block of graphics memory, then write a single row of pixels in 1 function call each update cycle. The spectrum portion involves writing a single row of bars or dots each update cycle. IN later project builds I am not using the library version to take advantage of some things. The latest changes are chunking up the drawing work to return to the main loop periodically to keep main loop time down to process other events efficiently.

RS-HFIQ Module Notes:

The RS-HFIQ support code is also available as a library allowing inclusion into most any Arduino project. I am not using the library version for some tighter code integration needs. As of Dec 2022, this module now supports the Elecraft CAT protocol command set to support CAT control from WSJT-X over the USB Serial/Audio connection. 1 serial and 1 Audio is required to be configured in the Arduino IDE (usually Serial+Audio+MIDI) but as of Dec 2022 I have Wiki notes on how to create and add a new Serial+Serial+Audio USB Type combo to the IDE menu and the USB library files and run the audio at 48KHz. 2 serial ports allow debug to output on one port and CAT control over the other. With a single port you have to shut off debug to run the CAT. I run WSJT-X for FT-8 on a PC controlling my Teensy SDR transceiver using a RS-HFIQ for the RF hardware.