Arduino Repeater Controller: Part 1

I’ve decided that I want to build a repeater controller using an Arduino. I’ve been wanting to learn Arduino for a while, and this seems like a great excuse.  There are a lot of great repeater controllers out there already – I am a big fan of the SCOM 7330 – but they’re pricey, and this is ham radio.  We’re supposed to build stuff and experiment!

So, I went to my local Micro Center and grabbed the Inland Uno Learning Kit – it came with a bunch of stuff, but I was mostly interested in the Arduino board, breadboard and jumper wires.

A basic repeater controller only needs to do a few things:

  • Key up the transmit radio when the receive radio is receiving
  • Route the receive audio to the transmit radio
  • Send an ID at least once every ten minutes during a conversation.

And that’s really it.  Sure, you can have more advanced features, like DTMF decoding for functions like turning the repeater on and off, hang timers, courtesy tones, the list goes on.  I am going to start with only the most basic functionality.

To test, I will be using Motorola Maxtrac radios.  They are cheap, readily available, and many have a 16-pin connector on the back that can provide all the connections I’ll need.

Let’s get started.  For Part 1, I will only be connecting a transmit radio – I will use a simple push button for COR input – so I will only need:

For now, the only connections I will be using are:

  • Push-to-Talk output – pulled to ground when the transmitter needs to transmit – Pin 2
  • COR input (which gets pulled to ground when the receive radio is receiving) – Pin 3
  • Morse Code ID Output – Pin 4

That’s it for now.  I will get to audio mixing in a later post – we will eventually need to mix the receive audio in with the morse code ID audio.


5/5 - (1 vote)

Related posts


  • Ben Weiss

    I was thinking about an Arduino based repeater controller also. I’ve already written a finite state machine (on an Arduino Uno) for sending a morse ID every 10 minutes. Its best feature is that it only runs whenever the morse state needs changing so it hardly uses up any CPU time at all. The bad news: it currently takes 2/3rds of available 2k RAM in which to store the whole alphabet. (So it can also send any other CW message your heart desires and has plenty of CPU cycles left to decode touchtones, control relays n’other stuff. Source code upon request.

  • Joe Hamelin

    Did you ever get to part two? I’ve got a pile of Adruino and Maxtracs and a site. What’s next?

    73 de w7com

  • Joe Hamelin

    Oh, you can email me: [email protected]

  • Hi,
    I am looking to do/create the same thing, goal is to create a simple and flexible (and portable) solution for a repeaterstation. Since I also discoverd Arduino as a great platform, why not give it a try. I’m curious how far you got so far. Good luck!