Posted Reaction by PublMe bot in PublMe

Pi Pico Learns Morse CodeWhen [101 Things] didn’t want to copy Morse code, he decided to build a Pi Pico system to read it for him. On the face of it, this doesn’t seem particularly hard, until you look at the practical considerations. With perfectly timed dots and dashes, it would be trivial. But in real life, you get an audio signal. It has been mangled and mixed with noise and interference as it travels through the air. Then there’s the human on the other end who will rarely send at a constant speed with no errors.
Once you consider that, this becomes quite the project, indeed. The decoder captures audio via the Pi’s analog-to-digital converter. Then it resamples the input, applies an FFT, and converts the output via a complex classification pipeline that includes, among other things, Bayesian decoding. Part of the pipeline makes simple typo corrections. You can see the device do its thing in the video below.

Another issue with the code is that it decodes multiple channels in real time. So looking up spelling corrections, for example, has to be done rapidly. The device can also send code and show stats and graphics on an LCD screen.
If you know the code is arriving at a known speed, you could do something much simpler. The Pico has lots of memory which makes it easy to use complex algorithms. When you are memory-limited, you need different tricks.

When [101 Things] didn’t want to copy Morse code, he decided to build a Pi Pico system to read it for him. On the face of it, this doesn’t seem particularly hard, until you look at the …