Today’s ham radio gear often has a facility for remote control, but they most often talk to a computer, not the operator. Hambone, on the other hand, acts like a ham radio robot, decoding TouchTone digits and taking action — for example, keying the radio and reading off the weather — in response to the commands received.
The code is in Python and uses numpy’s fast Fourier transform to identify digits. We’d be interested to test the performance of that compared to doing a Goertzel to specifically probe for the 8 digit tones: there are four row tones and four column tones. On the other hand, the FFT is handy and clearly works fast enough for this application.
The project is actually a spin off from [notpike’s] failed project to send paging tones. It is set up for a specific Yaesu handheld, but any radio should be workable with it. However, if you are connecting it to the same radio, there were a few tricks involved that you’ll want to read about.