R/C Airplane LED Flasher

Posted on May 2, 2012

This was designed to flash a pair of LEDs to be mounted on the wing tips of a Parkzone Citabria R/C (remote control) airplane. The unmodified Parkzone Citabria only weights 20 grams (about 0.7 oz), so weight, and therefore the number and size of the electrical components for the flasher are critical. Another major constraint was the range of power supply voltage and current draw. The battery in the Parkzone Citabria varies from 3.7 to 4.2 volts. which rules out circuits such as the Simplest LED Flasher Circuit, which requires a higher voltage. Current draw also needs to be kept low because the battery is tiny. The CMOS AVR controller handles both of these requirements beautifully.

R/C Airplane LED Flasher
Click here to download the full size of the above Circuit.
R/C Airplane LED Flasher - image 1
Click here to download the full size of the above Image.

I used the AVR ATTINY12 controller from Atmel because I have plenty left over from other projects. With some modification to the code, you can use the ATTINY13, which is also available in both 8 pin DIP and surface mount packages, or nearly any AVR or other small CMOS controller. See firmware discussion below. Here is the pin assignment for the ATTINY12 and ATTINY13. Pin 1 Battery + Pin 2 PORTB3 4 Hz, 50 ms positive pulse Pin 3 PORTB4 10 Hz 50 ms positive pulse (square wave) Pin 4 Battery - Pin 5 PORTB0 4 Hz 100 ms positive pulse Pin 6 PORTB1 2 Hz 50 ms positive pulse Pin 7 PORTB2 4 Hz 100 ms positive pulse Pin 8 Battery + The "heartbeat" of the firmware is a subroutine routine named wait_50ms sets up the 8 bit timer to interrupt the processor, and then puts the processor to sleep. After 50 milliseconds, the processor is awakened by the timer interrupt, the interrupt is cleared, and subroutine returns to the instruction in the main routine after the instruction that called wait_50ms . The main routine merely sets or clears bits on the output pins and then waits for 50 milliseconds, and sets and clears pins as appropriate to reproduce the intended wave forms on the output pins. Since there is only one timing routine, all changes on the output pins take place according to the 50 millisecond granularity of this timing method. It should be noted that...

Leave Comment

characters left:

New Circuits



Popular Circuits

Resistance-ratio detector
50 Khz center frequency optical transmitter
Remote rf current readout
Use of N-channel power MOSFET on BQ78PL114
Reading an SD card with an ATMEGA168
Binary Amplitude Shift Keying (BASK) or On Off Keying (OOK) Practical Circuit using CD 4016
Single transistor audio mixer
The SV203 powered PPRKCircuit With Devantech SRF04 UltraSonic Sensor
MPF102 FET Preamplifier Arduino
Digital Remote Thermometer
Automatically Repeating Interval-Timer Circuit