Turn Your Raspberry Pi Into a Ham Radio Bot with Hambone

hambone radio

Have you ever wanted to bring some automation or fun to your ham radio setup? Meet Hambone โ€” a lightweight Python bot designed to run on a Raspberry Pi and controlled entirely through DTMF tones over RF. Whether you’re experimenting with digital modes or just looking to add a bit of personality to your shack, Hambone offers a creative way to control radio functions remotely.

๐Ÿง  What is Hambone?

Hambone is like an IRC bot for your ham radio โ€” except instead of text commands, you use DTMF tones. You send a code (or PIN) over the air, and Hambone will respond with a voice message, weather update, random numbers, or even an echo test. Itโ€™s especially fun to use with radios that support DTMF like the Yaesu VX-7R.

Built for voice experimentation, Hambone can read out the time, date, or local weather. It can even be configured to act like a quirky number station or a parrot repeater. All you need is a Raspberry Pi, a basic audio/PTT interface, and your radio.


๐Ÿ› ๏ธ Features at a Glance

  • โœ… DTMF command recognition
  • ๐Ÿ”Š Voice playback via your radio
  • ๐ŸŒฆ๏ธ Weather reports using OpenWeatherMap
  • ๐Ÿ•“ Time and date readouts
  • ๐ŸŽ™๏ธ Parrot (echo) test
  • ๐Ÿ“ป Custom audio playback
  • ๐Ÿงช Designed for Raspberry Pi and Yaesu VX-7R
  • ๐Ÿงฉ Easily extendable with custom Python modules

โš™๏ธ How It Works

Hambone listens continuously for incoming audio from your radio. When you transmit a DTMF tone sequence (like 8463 for “TIME”), Hambone detects it, interprets the command, and triggers a module to respond.

The response might be a synthesized voice speaking the current time, or it could play an MP3 audio clip over the air using your Piโ€™s sound card and a simple GPIO-controlled PTT.

You can clear previous input with *#, or enter a new command at any time. It feels like a real bot conversation โ€” just over radio waves.


๐Ÿ“‹ Common DTMF Commands

CommandPINFunction
123TESTConnection test
3246PARROTEcho your voice
8463TIMEReads current time
3283DATESpeaks todayโ€™s date
99WXWeather update
###RNGPlays random numbers
*#CLRClear last command

You can also play pre-recorded audio or add your own custom modules with a little Python knowledge.


๐Ÿ”Œ What Youโ€™ll Need

To set up Hambone, you’ll need:

  • A Raspberry Pi (any modern model will work)
  • Python 3 and some dependencies (like pyaudio, gTTS, espeak-ng, numpy, etc.)
  • A sound card or USB audio adapter (CM108/CM1xx recommended)
  • An interface cable between your Pi and radio with PTT control (schematics included in the repo)
  • A ham radio like the Yaesu VX-7R with DTMF support

Once itโ€™s wired up, you can transmit commands from your handheld or base station and hear Hambone speak back โ€” no keyboard required.


๐Ÿงฐ Developer-Friendly and Modular

Hambone is cleanly structured with a modules/ directory that makes adding new features easy. Want it to tell jokes? Quote APRS packets? Play SSTV clips? Itโ€™s all possible. Just drop in a Python script and connect it to a new DTMF command.

If youโ€™re more advanced, Hambone even supports USB audio devices with GPIO pins, letting you avoid using the Pi’s native GPIO.


๐Ÿงช For Experimenters and Hobbyists

This isnโ€™t a polished product โ€” itโ€™s a playground for ham radio tinkerers. The code is MIT licensed, actively developed by hobbyist @notpike, and available on GitHub:

๐Ÿ”— https://github.com/notpike/Hambone


๐ŸŽฏ Final Thoughts

Hambone blends ham radio tradition with modern computing in a refreshingly simple way. Itโ€™s not just about automation โ€” itโ€™s about having fun, learning Python, and breathing life into old hardware.

Post Comment

You May Have Missed