First, I used combinations of switches to select the mode of my APM. But IMHO, there is hardly anything more counter-intuitive and if things hit the fan, you can be sure to switch to the wrong mode out of pure hectic.

Next, I replaced a pot of my transmitter with a 6-position switch and variable resistors. That is already better, but to get to one mode, you likely have to switch through other modes. Also, without any markings, again, not very intuitive and it's impossible to see at one glance which mode you are in.

Finally, I hacked together a small board with 6 pushbuttons, 6 LEDs and an Arduino Pro Mini. The Arduino creates an 8-channel PPM stream of which channel 1 contains the data for the mode. The whole thing connects to the trainer port of my 9x. Additionally, I steal 5V from the display output of my FrSky module but theoretically, the Arduino could also be powered by the 3S transmitter LiPo. The program is pretty easy. Check the buttons and set the respective PPM value. The LEDs are not set by the buttons but by the actual value of PPM1 - just to be safe, in case e.g. the Arduino resets or something.

Here's the schematic:

I'll attach design files for the PCB and the source code in the comments then.

Views: 13576

Comment by Stefan Gofferje on August 4, 2013 at 5:43am

No attachments in blog posts?

Here are the files:

Comment by Aleksandr on August 4, 2013 at 6:14am

More logically the button to arrange horizontally. Or with an equipment side, and names from above. That it would be quickly possible to be switched. And so a class. On the screen there will be a telemetry??

Comment by Stefan Gofferje on August 4, 2013 at 6:23am

The screen is a FrSky FLD-02. That has nothing to do with the mode switch, except that I take the 5V power from there, as I wrote.

I made in vertical deliberately, so I can reach all buttons with my left hand without removing my hand too far from the left stick. If it was horizontal, I would have to move my left hand around or even use the right hand, which is IMHO a NoGo on a mode 2 transmitter.

Comment by Jasja Dekker on August 4, 2013 at 6:27am

Beatifully done, very very nice!

Comment by R. D. Starwalt on August 4, 2013 at 6:33am

Excellent idea and work! Thank you!

All your observations are true and I too am concerned about 'wrong mode' syndrome. This is probably the cause of many bad events reported here in the community.

I like your transmitter tray also. One is in the process of layout in my shop.


Comment by Göran Sandström on August 4, 2013 at 6:44am

Good idea but the problem still remains, traditional RC transmitters aren't very well suited for drones.

Ideally, a dedicated drone TX needs to be produced, perhaps with a touch screen and serial link to FC?

Comment by Rob_Lefebvre on August 4, 2013 at 7:20am

I like it Stefan, nice work!

Comment by Stefan Gofferje on August 4, 2013 at 8:01am


The tray is from Hobby King - Link. It needs some improvement but it's a kit for $10 - if you anyways order something there...


I agree absolutely! That's one of the reasons why I started my integrated GCS project some time ago. The project is currently stalled because I'm waiting for materials and data, mainly from FrSky, but on my desk are already plans for extensions, as some components such as the Sky9X-board which I wanted to use are not available any more. I'm probably going to do the RC part myself also to have a truly fully integrated system. The mode switch was basically one step in my evaluating new possibilities - here, creating a stable PPM stream with an Arduino.

Comment by Greg Fletcher on August 4, 2013 at 8:10am

Wow, I am almost done soldering my set up for a Hitec optic6. I assume that with your Tx you can program the trainer function as to with channels it switches? I thought channel 1 was for roll and mode on some other channel.

Any how, the Hitec trainer port ppm is at full bat voltage so I hacked directly into the Tx board to "intercept" the ppm stream at 5 v. All channels are read by Arduino mini and the control sticks are passed directly to the output ppm generator. Other channels can be changed/rearranged or generated from buttons pots ect. I originally developed this system for an imu3 head-tracker. To keep thing in sync the timing of the pulses is inteript driven using the "interrupt capture pin", D8. In fact it will only run if it is receiving a ppm signal. I am using the gear switch for mode selection. If there is a problem with the Arduino mini I have a bypass switch on the ppm line, so I can switch back to stock mode and will still have manual and one other mode with the 2 pos gear switch. Will post everything as done as the hardware is done and tested.

Comment by Nikos Gerarchakis on August 4, 2013 at 8:15am

 I like it, very  nice  . I think   this is the step to full working coptit in GCS ...


You need to be a member of DIY Drones to add comments!

Join DIY Drones


Season Two of the Trust Time Trial (T3) Contest 
A list of all T3 contests is here. The current round, the Vertical Horizontal one, is here

© 2018   Created by Chris Anderson.   Powered by

Badges  |  Report an Issue  |  Terms of Service