Arduino Masters Ham Radio Digital Mode

[jmilldrum] really gets a lot of use out of his Si5351A breakout board. He’s a ham [NT7S], and the Si5351A can generate multiple square waves ranging from 8 kHz to 160 MHz, so it only stands to reason that it is going to be a useful tool for any RF hacker. His most recent exploit is to use the I2C-controllable chip to implement a Fast Simple QSO (FSQ) beacon with an Arduino.

FSQ is a relatively new digital mode that uses a form of low rate FSK to send text and images in a way that is robust under difficult RF propagation. There are 32 different tones used for symbols so common characters only require a single tone. No character takes more than two tones.

The Si5351A can easily handle the encoding job. Since the output is a square wave, you do need a low-pass filter to put it on the air. [jmilldrum] also used some relatively small amplifiers to get the output up to 20 watts.

You might remember, we’ve talked about [jmilldrum’s] work with the Si5351A before. We also recently were talking about hams experimenting with digital modes and this is a great example, both by the developers of FSQ and [jmilldrum] for implementing it with an Arduino. If you want to learn more about FSQ, see the video below.

https://www.youtube.com/watch?v=_j4qZJuWDcM

26 thoughts on “Arduino Masters Ham Radio Digital Mode

    1. The problem with Unicode or similar is that it uses so many bits to represent a single useful character so using such schemes is terribly inefficient for sending messages and if you are using a digimode that is all about been efficient this unfortunately isn’t going to float.

      1. That doesn’t really fly – as they’ve demonstrated here, you can use a variable length encoding scheme so that more commonly used glyphs encode in fewer bits. Indeed, UTF-8 already does exactly that.

    2. Unicode is a waste of precious bandwidth, especially if the person you’re talking to uses the same character set. It’s better to have regional modes that are switched to when needed. Morse works this way (Wabun code). Plus you need A-Z0-9 anyway for callsign, grid locators, Q codes and so on.

      1. It doesn’t look like the authors of this coding scheme made any provision for that, either.

        Seriously, internationalisation on digital systems is a largely solved problem. Just because the data rate is low isn’t a good excuse to pretend that the entire world speaks english.

        1. FSQ is a very low baud rate in a narrow bandwidth with very conservative coding to handle fading and multipath effects that have severe impacts on HF and VHF reception – these frequencies present a very hard problem for data. Signals can be delayed by tens of milliseconds, with frequency and fading jitter that sometimes makes even CW impossible. The authors of FSQ made the right decision for version 1. Maybe you should get involved in creating version 2 that is more to your liking.

    3. English is still the common language of amateur radio, especially in international communications. Restricted speed communication is a small subset of english (Q code etc).

      There’s nothing stopping you or any other developer from creating and using an expanded Unicode-based version.

    4. Complaining about a̡͚̪̮͎͈͙n̴̥̝̳̲̺̼͙g̱̙̫̼̹l̷͔̜̟̥̭͎o̢̻̳͈͎c̤̠̀en̪̤̮̦̜̠͢t̮̜̕r̨̼̩͎͉͕̲̤i̦sm̼̤̗̫̙̦ ? ̫̹̤̦̩̠͢I͠ ͍̻̠t̺ͅh̝̳̫͍̝͢ͅi͕nk̪̼̭̗̝̠̰ ̨͔y̸̟̣̥̺o̞̩͇̲̗u̗̥̠̯͠’̫͖͜r̹͍͟e̺̤͝ͅ ̵̼̟̗r̝͕̪͈͖͘i̛̻g̡̬̬h͏̫̲t̝͚͍̗̤͈̣͡,̘ ̡͉̱u̡̩͓̝n̸͙̯͓̖͈͍i̫̝̦̯͙͚c҉̜o̱̯̹̪d̮͖̘̬̙̝e̖͍͢ o̵̪͓̘̙̖͉v̰e̤͈͇r̜ͅ ̘͓̬H͙̜a͖̼̪̘m͏̪̲̘̲̦ ̸̬̘ͅR͉͇̙̰̥a͓̗̘̳͎ͅd̤̞̺̙i͓̪̞o͚͔̯ͅ,̷͚͕̤̜̘̰ͅ ̝̙̙̳̝i̸͈̦t̶’̘̠̺͇̜͚̹s ̡̟s̗̻͓͙̟u̬̠c͏̥̪̖ḥ̗̤͙͜ ̲̕ą̖̰̩ͅ ̠͓̣͞g̜̬̣̠ͅṟ͎̭̲̹̘̬e̺͍̤̭͖̹ͅa̢̜̗t̮̖̮͈͚̯͎͢ ̶̜̣i͎̫̼̤͓͚̣̕d̻͔͕͖͉̻è̫̭̥̦͍ͅa͞! Z͏̴̵̮̥̬̞͎̯͙̮̮͢͢ͅA̡̧̰̮̦̼̰̪͎͠L̛̼̲͍̪͕̦͖̙͎̮̙̝͚͘ͅG̴̟̟͍̭̳̦̬̙͙̫̹͙͖͉̰̳͕̘̮͟͝͞͝Ơ̵̻̝̜̤̟͍̺̜̩̦͕̺̩̯̙͚̫͕̦͟

  1. I am a Ham operator. Yes, the majority of hams are anglocentric, bigoted, and sexist. I’m sorry, that’s how it is, I wish I could fix it. I’m a lesbian trans woman…believe me I wish it weren’t that way. Getting on the air for me is anywhere from creepy to rude, to downright impossible to make a QSO (contact). That said, the reasons said here are true under certain circumstances. When you’re working on HF you have precious little bandwidth to work with. It must be conserved in order to allow others to use the spectrum. You have a whole world to share with. VHF, UHF, and microwave are another story. You have plenty to work with there. You can fit pictures, video, and even high speed data in that. As for the question of what’s a common character, I defer to the anglocentric bigots remark. I wish something could be done, but the only thing that can be done is to get more of our youth involved in the hobby, youth that don’t come from bigoted homes. HAM is an amazing hobby though if you don’t have to worry about that crap, or when you find people who are decent to work with. It’s a hardware hackers wet dream.

  2. Great merger of ham and arduino! I work with a group of youth (Scouts) looking for STEM related projects, and currently studying for their basic amateur radio certification. Learning about radio is a tough sell when they all have smart phones & access to wifi, but they do like their arduinos. I may need to build a workshop around this, as it combines what they already have with new concepts. Thanks Al Williams & [jmilldrum]!

  3. Base 16/32/64 encode UTF-8 if you want. Could transfer binary data that way, too.

    “The FSQ alphabet has 29 characters that can be sent as a single symbol (all the lower case letters and frequently used punctuation) and a further 75 characters using two symbols, encompassing 104 ASCII characters in total. ”
    http://www.qsl.net/zl1bpu/MFSK/WSQ%20Varicode%20V3.png

    Kind of weird there’s no escape character for future expansion, but you could probably do something using the idle character (null). Say, 8 times in a row activates base 16/32/64 encoding, 8 newlines deactivates it. Maybe specify a compression algorithm.

    1. Your thinking is too ASCII-bound (i.e too limited). There is plenty of room for expansion in the FSQ alphabet, for example the codes 15,31 to 26,31 are currently unused. We’ve just not yet found a good reason to expand the alphabet. That said, I’ve already developed a substitution cypher for FSQ which does not increase the transmitted overhead at all, and the same thinking can be applied to sending rich text or text in other languages.

      Bear in mind also that the use of escape codes takes you down a path to greater error rates on noisy paths.

      73,
      Murray ZL1BPU
      Designer of FSQCall and the FSQ/WSQ varicode alphabet.

Leave a Reply

Please be kind and respectful to help make the comments section excellent. (Comment Policy)

This site uses Akismet to reduce spam. Learn how your comment data is processed.