Langstone SDR Transceiver
Software by Colin G4EML
This is an experimental project to produce a simple VHF, UHF and Microwave SDR Transceiver operating on SSB, AM, CW and FM. with a watefall spectrum display, support for QO-100 / Satellite operation and Transverter IF’s.
It was inspired by the very successful Portsdown Amateur Television system created by the British Amateur Television Club.
This is now available merged with the BATC Portsdown DATV transmitter and the Longmynd DATV receiver. so that a Narrowband and DATV transceiver work on the same platform. “Very Cool”. The Portsdown side of the project is known as Portsdown 4 & currently supports (DATV Express, Adalm Pluto, Lime SDR USB and Mini). Rob M0DT has contributed by adding a waterfall and band scope display.
Currently only one set of hardware is supported:-
- Raspberry Pi 4
- Official Raspberry Pi 7″ touchscreen.
- Adalm Pluto SDR Module
- USB Audio module. Connected to loudspeaker or headphones and microphone.
- USB Scroll mouse
- PTT via Raspberry Pi GPIO pin 11. This needs a pull up resistor to 3.3V. Grounding this pin will switch to Transmit.
- CW Key is via Raspberry Pi GPIO pin 12. This needs a pull up resistor to 3.3V. Grounding this pin will key the transmitter.
- Tx Output is via Raspberry Pi GPIO pin 40. This output goes high when the Langstone is transmitting. This can be used to switch antenna relays and amplifiers. (100ms delay included for sequencing)
- 4 Band select Outputs on pins 31, 24, 7 and 6. These can be used to select external filters, amplifiers or Transverters. The state of these outputs is defined using the Band Bits setting.
To build a complete functional transceiver you will need to add suitable filters, preamplifiers and power amplifiers to the Adalm Pluto.
All control is done using the touchscreen and mouse.
Tuning uses the mouse scrollwheel. The mouse left and right buttons select the tuning step. The centre button is used for the CW key. Mouse movement is not used.
A mouse is used to provide the tuning input because it effectively hands the task of monitoring the tuning knob to a seperate processor (in the mouse). Rotary encoders can be tricky to handle reliably in linux.
It is easy to modify a cheap mouse by disconnecting the existing switches and wiring the PCB to larger switches on the Langstone front panel. The scroll wheel can likewise be replaced with a panel mounted tuning knob.
Microphone input and headphone output uses the USB audio device. (a couple of pounds on Ebay)
The software consists of two parts. The SDR itself uses a python GNURadio Flowgraph which can be created on a PC running GNUradio companion. This Python program is manually edited to adding the code from ControlTRX.py so it can be controlled by the GUI part of the software. This is written in C and communicates with GNURadio using a Linux Pipe.
Langstone has been updated to add some new experimental features.
New setup menu entries for harmonic mixing.
It is now possible to set harmonic values of 1 to 5 on both transmit and receive. By setting a value of 5 it is possible to receive and transmit on 10GHz. The frequency display is set to the 10GHz frequency and the Pluto then operates at 2GHz and uses the 5th harmonic of the LOs. Output power is very low (about -30dbm) and needs to be externally filtered to remove the fundamental signal. Receive noise figure is likewise about 30db and needs an external preamp and filtering. As it stands, without filtering or amplification it is not of much use other than short range local testing. Filtering can be as simple as feeding into a waveguide antenna. That will effectively remove the 2GHz signal which will be well below cutoff.