RC Kill Switch

|Jsut210
RC Kill Switch

Hey guys, just thought I'd share what I've been working on lately.  Recently, the club I fly at made it a rule that you must be able to kill your engine remotely; choking the engine to kill it was deemed unreliable and dangerous.  This means that ignition to the engine must completely stop on demand.  For most guys who use electronic ignition systems, this is no problem.  However, the enigne that I'm planning to use has a magneto ignition.  This means that a magnet attached to the flywheel passes by a coil to generate the electricity for the spark.  This ignition is particularly hard to stop because as long as the engine is spinning, sparks will continuously be created.  Luckily the magneto on my engine has a wire that when grounded to the case of the engine will short out the sparks and effectively kill the egine.  So, all I had to do after I figured this out was create a device that shorts this wire to the case whenever it loses power or signal.  Here's the final product:

So how does it work?  Well, let's start with the switching.  The white component on the board is actually a very small, low power relay.  I have it wired in so that when there's no power to the board, it shorts out the engine and stops it.  This is so that if the plane loses power in flight, it won't run out of control.  The other major component on the board it the microcontroller.  I used a surface mount attiny85.  This chip reads the radio signal coming from your receiver and switches the relay on only when it gets a valid signal.  There's also a blue led on the bottom to indicate when your engine is "hot".  For those of you who are more electronic savvy, here's a shot of the board traces and schematic.

Here's the code that runs on it:

###########################################CODE##########################################

int relayPin = 4;
int signalPin = 3;
int ledPin = 2;

void setup() {
  pinMode(relayPin, OUTPUT);
  pinMode(ledPin, OUTPUT);
}

void loop() {
  int signal = pulseIn(signalPin, HIGH, 100000);

  if(signal > 1500 || signal == 0) {
    digitalWrite(relayPin, LOW);
    digitalWrite(ledPin, LOW);
  } else {
    digitalWrite(relayPin, HIGH);
    digitalWrite(ledPin, HIGH);
  }
}

###########################################CODE##########################################

Well, if you've made it this far you're probably interested in building your own.  I'll add link below to all the project files so you can download it all and make your own.  I don't think I am going to make instructions for this because this project required quite a few skills (PCB making, soldering, electrical knowledge, just to name a few).  You can feel free to ask any questions below however.

FILES:

Download

PARTS:

attiny 85 smd

IM23 relay

10uF capacitor

standard diode

5mm screw terminals

LED and matching resistor (optional)

0 comments

Leave a comment

Please note, comments need to be approved before they are published.

Have a story to share?

Share your builds, flying experiences and tips with the Flite Test community.

Write For Us →