When you, "make something dangerous easy" you have a responsibility to be very specific in how to use your invention safely. Otherwise disaster seems inevitable.
(Reviewing this comment later I see it can be read in sort of a nasty way; my meaning was that we don't really assign blame to providers of dangerous tools, the low price of razor blades reflects this)
Filtering this stuff isn't hard, but I'm realizing there aren't any good stone-simple tutorials for it. Might have to write one.
If you're running on a dedicated core, as you should, 99% of the time your application just happily runs along.
See also Fourier Analysis on the Wikipedia article: https://en.m.wikipedia.org/wiki/Square_wave
[1]: Yes, so in reality you neither get an infinite set of harmonics, nor a perfect square wave.
and how it also had unintended consequences. Note how many comments there are from people who don't seem to have understood the disclaimer. I'd bet our rogue dongle-jammer was in much the same boat :)