Extremely simple electronic design, bare minimum.

From a top down view, +3.3v and Gnd are broken out from the Arduino onto a small piece of perf-board, and ALL switches, buttons, encoders and pots wire into a GPIO on the Arduino Due and a + or - connection as required. Then the Arduino Due is simply connected via USB to the computer. Everything else is essentially structural / aesthetic etc.

I use CAT5 twisted pairs stripped and soldered to each switch/pot/etc and soldered straight to the +3.3v or Gnd breakout board appropriately, or is terminated with a .1inch pin header for plugging into the Arduino Due.

Literally every switch is wired to a Gnd connection and a GPIO pin on the Arduino Due. 

There is one exception in my case, where I'm using a three position switch, you obviously don't need to do this to make your own. The three position switch is connected to two GPIOs with this table - 

Switch PositionGPIO1GPIO2
0OffOff
1OnOff
2OffOn

All Potentiometers are wired to +3.3v and Gnd, and each wiper goes to its own Analog In on the Due.

There are two rotary encoders, wired up with a GPIO switch for pushing down on the encoder, and wired to +3.3v and Gnd, and also CLK and DAT lines for the encoder. I'm using some custom code for this that appears to work a lot better than the Arduino Libraries (i.e. responds better to rapid rotation).

The Yoke operates on a design I found on some YT videos exploring the inner workings of some more expensive commercial flight yokes on the market. There is a (relatively) cheap Saitek offering, but this has a lot of downsides. 

I estimate without design, labour and time costs, this project cost no more than roughly £100 or less depending upon how much you're using from your hoarding stash. In my case if I exclude costs for all the stuff I bought before this project began, then we're talking only £20.

The 3D printed parts were all iteratively designed in Fusion360 and printed on my trusty PrintrBot Simple Metal Black (w/ extended X bed). As is clearly evidenced, the project evolved a lot over time, and went in this order -

The wiring turned out to be a huge mess, and it's not like I hadn't anticipated it. I tried to collect up bunches of wires to each other and bundle them together, but this just ended up making the runs too short for their 'destination position'. It was also really difficult working out the lengths for each wire to reach its destination so I ended up cutting the wires long and leaving the slack. 

Lesson learned - think about wire routing, you ideally want to partition your wiring between 'areas', (eg. primary switch panel, Arduino box, secondary switch panel, yoke carriage etc) and restrict all wires leaving or entering these areas to a break-out point or two. All wires should then run up pre-designated paths along your 3D printed surfaces, which can be designed in as partial channels along the inside casing- you should always pin them down and don't leave them free-floating, especially for my open-backed design.