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