RC Kill Switch

by Jsut210 | April 28, 2014 | (2) Posted in Projects

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)

COMMENTS

SteevyT on May 27, 2014
Why couldn't you close the throttle entirely as a kill? Or is it a two stroke engine?
Log In to reply
Jsut210 on May 28, 2014
People at my club think that it's too unreliable. Yes it's a two stroke. That also doesn't protect against power loss or radio failure.
Log In to reply
ilium007 on August 28, 2017
Great project ! Were you running your ATTiny at 1MHz ?
Log In to reply
mulger on March 22, 2020
The file does not download, it has been deleted.
Log In to reply

You need to log-in to comment on articles.


RC Kill Switch