Roger Beep
Adding a beep to your microphone audio to signify end of transmission.
Design Intent
I have a soft voice, and tend to undermodulate when I am transmitting. This is especially problematic when using Single Sideband on a noisy High Frequency path. So I have borrowed this idea from a commercial HF radio company (which borrowed it from NASA): send a short tone or beep at the end of your transmission to signifiy to the other party that you have finished talking.
There are many roger beep circuits available on the net which I could have copied, but where's the fun in that? Also, I wanted the following features:
- A really clean tone, not a harsh square-wave.
- A really small circuit, to fit into most small hand microphones.
- A simple way of disabling the beep if required.
- A low noise circuit - no oscillators unnecesarily disrupting reception .
Hardware Design
Did i mention I wanted a low parts count? The TINY-85 does pretty much all of the work here. All inputs are interrupt driven, and the output is a PWM signal based on a sine-wave look-up table. Agressive use of power-down modes keeps things quiet during receive too.
Roger Beep schematic. |
|---|
Software Design
This would have to be one of the simplest (and most fun) projects I've ever worked on. The ATTINY-85 is a joy to use, and packed full of features. It's often overlooked as a "serious microcontroller" due to its low pin count, but I found it ideal for this project, for the following reasons:- Pin-Change interrupts.
- 2 Timers.
- Built-in clock.
- PLL multiplier.
- some EEPROM for NV parameter storage.
- Deep Sleep modes.
The sinewave lookup table is simplicity itself:
//------------------------------------------------------
// Sinewave Lookup Table
//
// y = 91*(0.5+0.5*cos(2*pi*n/N)
// N = 32, n:{0..31}
//
// Forced into FLASH space to conserve RAM
//------------------------------------------------------
prog_uchar sinetable[] PROGMEM = {0,2,8,18,31,46,65,84,104,125,144,163,
178,191,201,207,209,207,201,191,178,163,144,125,105,84,65,46,31,18,8,2};
All that is required of the micro is to wake up on a Push To Talk (PTT) switch interrupt and hold down the PTT line to the radio. Once the microphone PTT switch is released, generate the beep, release radio PTT and go back to sleep.
A simple and fun project for a rainy day
And here's what it sounds like:


