Audio Alarm
Updated: October 23, 2025
This is a simple circuit generating audio tone and injecting it into the intercom.
For now this circuit is only connected to the stall warning. At some point I realized that sometimes I cant hear the stall warning buzzer I have in the cockpit. So I thought it would be a good idea to push a distinctive audio signal into intercom.
The unit allows for up to 3 analogue inputs. Not sure that other two are going to be but stall warning is easy to hear now and it sounds pretty cool.
The alarm is a simple board built on an ATTINY85 chip programmed to generate a BEEP-BEEP sound when tone of the inputs is “grounded” by the stall warning vain switch in the left wing of our RV-12.
CPU frequency: 8 MHz
Standby current: 13.5 mA
Current while generating the sound: 22.5 mA



| Schematic reference | Value |
| C1, C2, C3, C4, C5, C6 | Ceramic, SMD 0805, 100nF, 50v |
| C7 | Ceramic, SMD 0805, 20nF, 50v |
| C20 | Electrolytic Capacitor, 22uF, 50v |
| D1 | SMD 0805, Red LED |
| R3, R6, R9 | SMD 0805, 10K |
| R1, R2, R4, R5, R7, R8 | SMD 0805, 3.3K |
| R40 | Trim pot, 3296W, 10K |
| R10 | SMD 0805, 0R |
| R11 | SMD 0805, 100R |
| R12 | SMD 0805, 1K |
| U1 | ATTINY85 |
| U4 | Voltage reg., UA78M05IDCY |
// ATtiny85 pins: 0, 1, 2, 3, 4
// We'll use pin 0 for output
const int pulsePin = 0; // Output pin
const int ledPin = 1; // Output pin
const int SensePin1 = A1; // stall warning pin
unsigned int ADCread = 0;
void setup() {
pinMode(pulsePin, OUTPUT);
pinMode(ledPin, OUTPUT);
pinMode(SensePin1, INPUT);
digitalWrite(ledPin, LOW);
}
void loop() {
ADCread = analogRead(SensePin1);
if (ADCread < 50) {
digitalWrite(ledPin, HIGH);
tone(pulsePin, 800); // Start 800Hz square wave
delay(80); // Keep pulses for 80ms
noTone(pulsePin); // Stop pulses
delay(80); // Wait 80ms before repeating
} else {
digitalWrite(ledPin, LOW);
}
}
Programming Attiny85 is a little tricky. It is not like uploading a sketch into Arduino Uno or Nano.
There are a few different methods available.
Here is the one I use:
You will require two things (prerequisites):

- Arduino Uno or Nano with a breadboard to set up a bootloader on Attiny chip.
- Digispark Development board with a DIP socket for 8-pin Attiny85
Install Digistump drivers. Get them from GItHub: https://github.com/digistump/DigistumpArduino/releases
Install Attiny boards.
For that go to File -> Preferences in Arduino IDE, open “Additional Boards manager URLs” section and add this URL there: https://drazzy.com/package_drazzy.com_index.json
Go to Board manager and find and install the ATTinyCore board by Spence Konde.
Watch this video for step-by-step instructions: https://www.youtube.com/watch?v=m6aqmjp6AFM

Before uploading the software into your ATTiny85 chip you need to setup a bootloader on it.
Use these step-by-step instructions to set the bootloader using Arduino Uno or Nano: https://makersportal.com/blog/2018/5/19/attiny85-arduino-board-how-to-flash-the-arduino-bootloader-and-run-a-simple-sketch
Make sure correct board and the programmer selected before hitting “Uploda Bootloader”
Place your ATTiny85 chip into the socket of the Digispark dev board but do not connect to your PC yet.
Make sure the “Programmer” setting is set to “Micronucleus”, hit upload button, and, when prompted, connect your Digispark board to the USB port of your PC.
After the software is uploade onto the chip you will se the message:
“Micronucleus done. Thank you!”
Gerber file (PCB):
DipTrace file (PCB):
Schematic PDF:
Schematic DipTrace: