Ultimate7e: Adding 4 extra 3-way switches

Ultimate7e: Adding 4 extra 3-way switches

IMG_20160505_000620
Ultimate Devo7e with 6 switches.

For me, my biggest gripe with the Devo7e transmitter is that it comes with only two 2-way switches, HOLD and FMOD. My second biggest gripe is that it has no potentiometers. I know that there are mods available to get 2 extra 3-way switches, but I wasn’t really satisfied with that, so I set about looking for someway to get more.

The stock Devo7e has already reached it’s limit for new code so it wasn’t really possible to do this until I had upgraded the processor. If you are interested to see how to do the processor upgrade, read this. With the extra memory space that I had after the processor upgrade, I got around to adding 4 extra 3-way switches to my 7e. Here’s how to do it.

Background

Like the existing 3×2 switch mod, we will be using the existing button matrix to add the 4 switches. But because the button matrix is already fully utilised (except for 2 positions in the stock setup, we need to extend the number of rows for the matrix by assigning 2 more I/Os. The 2 I/Os (PC10 and PC11) will be hijacked from our existing HOLD and FMOD switches. In doing this it also means that we no longer have these 2 switches.

Not really a problem, as by doing this we get a total of 10 positions in the button matrix, 8 new and 2 that were not used in the stock setup. This gives us the ability to have 4×3-way switches and 2x2way switches. We could also do other configurations, but we then become limited by the space to attach switches to in the 7e chassis.

Given that the Devo7e is the only transmitter with HOLD and a 2 position FMOD, I decided to do away with the traditional switch names. Instead we have SW A to D for the 3-way switches, and SW E to F for the 2-way switches, as you see in the videos above.

Hardware needed

You’ll need the following items for this mod:

  • Four 3-way SPST switches
  • Two 2-way SPST switches (These are already in the stock devo7e)
  • Ten 1N4148 diodes
  • Lots of fine gauge wire

Wiring and hookup

Ultimate7e wiring diagram for four 3-way and two 2-way switches
Ultimate7e wiring diagram for four 3-way and two 2-way switches.

Above is the wiring diagram. Looks a bit complicated, but I wasn’t sure how else to show it. Lines of the same colour are connected together. You’ll need to solder in 10 diodes (1N4148) as per the direction indicated in the diagram.

For more clarity, assignment in the code for the matrix looks like this:

Button map assignment in source code
Button map assignment in source code.

This really is a lot of wiring to solder to the main board and get into the transmitter. I wanted to minimise this so I soldered to alternate points for pins and also added in 2.54mm pin connectors so that I could easily dismantle the transmitter. The pictures below should make it clearer.

PB6 and PB8 are soldered to switches and terminated in a 2-pin header at the top of the board
PB6 and PB8 are soldered to switches and terminated in a 2-pin header at the top of the board.
PB7 and PC6 are soldered to the LHS (Throttle side in mode 2) trim switches. Blue is PB7 and Red is PC6.
PB7 and PC6 are soldered to the LHS (Throttle side in mode 2) trim switches. Blue is PB7 and Red is PC6.
PB5 is soldered to the RHS (Elevator side in mode 2) trim switch.
PB5 is soldered to the RHS (Elevator side in mode 2) trim switch.
IMG_20160425_143916
Four 3-way switches with diodes and wire leads waiting to be connected. Note the direction of the diodes, it is the same for all 10 diodes.
Two 2-way switches on rear cover connected via 3 pin connector.
Two 2-way switches on rear cover connected via 3 pin connector.
Finished wiring. PC10 and PC11 are from the original 2-pin connectors from the HOLD and FMOD switches. Top right 3 pin connector hooks up to switches on rear cover.
Finished wiring. PC10 and PC11 are from the original 2-pin connectors from the HOLD and FMOD switches.
Main board reinstalled. Wiring is still quite clean.
Main board reinstalled. Wiring is still quite clean.

Deviation software upgrade

With all that done, we now need to do 2 more things.

The first is to download and install a new DFU file for devo7e-256. Unfortunately this is still in testing, so a Pull Request has not been sent to the main deviationtx repository for inclusion in the Master branch.

It is available for cloning from my Git repository here. You’ll want to clone the “ultimate7e” branch. I’ll also put it up on the deviationtx.com site under the test build section here. Use the regular steps for flashing any new DFU file.

;switch_types: 3x4, 3x3, 3x2, 3x1, 2x2, 2x1, potx2, potx1
;May occur more than once if necessary.
extra-switches = 3x4
extra-switches = 2x2
extra-switches = potx2

The next thing to do is to edit the hardware.ini  file. You’ll want to uncomment and add extra-switches = 3×4  and extra-switches = 2×2  in there. Note that the extra-switches  option stacks for Ultimate7E. One line is needed for each type of switch (3-way, 2-way and potentiometer).

If you decided that you wanted less switches, such as three 3-way and one 2-way, just wire as above using SW A/B/C for the 3-ways and SW E for the 2-way. After that, update hardware.ini  correspondingly. If you want only two 3-way switches, please use the methods used for the regular Devo7E. This modification only works for three or more 3-way switches.

That’s it for now. In case you were wondering, the potentiometers that you see in my 7e do work. The tutorial is here.

Comments are closed.