We’ve just got LinHT to work as a complete M17 transceiver – able to transmit and receive RF signals without the need to use SSH to issue any commands. This was not as easy as we expected, due to ALSA-related problems (Linux users probably know what I mean).
The issue was GNU Radio not allowing us to use SX1255 baseband source and sink within a single flowgraph. Just to remind you – the SX1255 is seen by the OS as a sound device. I and Q baseband branches are disguised as Left and Right audio channels 🙂 Andreas OE3ANC proposed a simple workaround – daemonized ZeroMQ publisher/subscriber proxy for both directions. Then, instead of using GNU Radio’s Audio Sink/Source blocks, the baseband is accessed through ZMQ PUB/SUB blocks. PTT signal is handled as GNU Radio’s native “Message PMT”.
Right now, using LinHT for M17 is as simple as turning the device on and a PTT press. The GUI daemon loads all the RF front-end and M17 settings from a YAML file. There is still a lot of work to do, especially to improve the receiver path, as the SX1255 is really sensitive and gets saturated easily. This is why we added a variable RF attenuator in Rev B.
None of the achievements or work mentioned above would be possible without our core contributors: Andreas OE3ANC and Vlastimil OK5VAS. Working on LinHT with you is an amazing journey!
A demo video will be shared later, while LinHT’s Revision B is still being prepared, so stay tuned!
Edit: this is how our M17 transceiver looks like, defined with a GNU Radio flowgraph. Two upper signal paths define the receiver, the last one (bottom) is the transmitter. Big shout out to Jean-Michel Friedt for all the help with gr-m17 development.

Leave a Reply