Radio/AutoPilot Switching Difficulty

Hello All,

I am working on my first drone using a E-Flite UltraStick. I have built up my code for retrieving data from accelerometer/gyroscope, and have constructed PID loops to set the plane to the necessary attitude as determined by the GPS. However, I am having difficulty switching the plane from radio control to autopilot. 

Currently, I am using 4 5v SPDT relays to throw the signal from the receiver to the arduino PWMs. I connected the a signal wire from the radio receivers 5th channel (typically used as a landing gear toggle) and used the arduino board to monitor its change in states using the PulseIn () function. When the arduino reads that I have enabled the autopilot it using four output pins to throw the four relays. I am working on making a small amplifier so that I can throw all four relays with one output pin. 

Is there a better way to set this up??? I was trying to use a PNP transistor to connect the servo to the receiver and a NPN to connect it to the arduino board so that if the voltage drops the servo would automatically reconnect to the receiver. However, I have been unsuccessful in setting this up. What does the ArduPilot use for radio/autopilot switching??

Thanks for the help!

relay servo.jpg

transistor servo.jpg

You need to be a member of diydrones to add comments!

Join diydrones

Email me when people reply –


  • The APM uses a rather odd method of encoding all the PWM channels into a PPM signal using an extra processor.  The main processor decodes this and sends a signal back.  There's also a mux chip involved.

    I guess I really don't have that good of knowledge of the setup, you really need to look it up in the schematics and/or code.

This reply was deleted.