For those wondering what they are and what they do, MOSFET (acronym for metal-oxide-semiconductor field-effect transistor) and basically is a variable relay that can handle a lot of power (relatively). The problem with controls like board I am using is that it uses an Arduino Mega which while Mega as far as Arduinos go, it just basically a giant arduino with lots more of the same inputs and outputs. So if you want to power a lot of outputs such as LEDs (say the 5 LEDs inside each fire indicator) that well exceeds the output current limit of 40mA of each output, plus the classic arduinos run at 5VDC while the strips are 12VDC. So you need something that will switch 12V from 5V at high current (the strip in those indicators will draw about 500mA. You could of course use a relay, except relays need a lot of drive current themselves (not as much as they can switch which might be 10A for a little relay) but say 100mA for holding them energized. But a MOSFET will do the same thing with 1-2mA to control similar power outputs. So the MOSFETs I use are these:

The black thing is the FET the little aluminum tab is a heatsink, and what you canât see in that photo is in the blue terminals you have the high-voltage in (in my case 12V) and out. The control pin is on the bottom there labeled âsigâ. Now the control side runs at 5V so I have to have both, in my case I am using a Buck-Buck 12VDC-5VDC converter so I know I have a common ground (a good way to blow a MOSFET is induce a current if you have different grounds!), so basically my 12V in splits to become 12V and 5V sharing a common negative. While the arduino will have to hold the MOSFET on via the sig pin for as long as the fire lights are on (I may do the backlight but not sure yet that would be cool to have it backlit only when the jet is powered upâŚ) but havenât gotten there yet. For reference those FETs can switch 0-12V at up to 5A. For those curious what that all looks like hooked up:
the final question is how you control all of this to communicate with the flight sim, well a wonderful group of enthusiasts built an open source package called Mobiflight (the portmanteau probably makes more sense in German) Any basically it is a giant switchboard that takes the inputs and outputs from the arduino mega to the APIs of the 3 majors sims (MSFS 2020/4, DCS and X-plane). It does more than just connect arduino GPIO though as it supports shift registers (need even more inputs and outputs than the 54 an arduino mega has? To paraphrase Bob the Builder, âYES WE DO!â so those let you sort of have a splitter on a given pin that you can tell hey turn on pin 7 bit 4, giving you many more pins effectively, although the shift registers are not as well protected as normal arduino outputs (which have all sorts of protection against idiots like me), A classic example would be a panel like this:

That would take a lot of output pins to drive it, but it all easily fits in a 16-bit shift register. (each colored pair of lines is a LED). The board I have has 4 of the 16-bit registers giving me an additional 64 pins effectively. Certain cockpits (like say a certain aircraft company which rhymes with Sewing, use a lot of 7-segment displays in their cockpit), which means since 7-segment LEDs are just 7 LEDs glued in a box to make the digits, so on the back you have 7+1 sets of pins with the 7 segments and a decimal point (hey, that sounds like an 8-bit shift registerâs worth!!) You can quickly end up with rediculous boards with hundreds of bits. The only saving grace here, is the speed at which anything happens in a cockpit is glacially slow in the world of computers, even an arduino can easily keep up with hundreds of inputs and outputs.
Now one nightmare I am sure those of you who have done panels (of any type) is remembering what input you put the switch for , similar to where you left your reading glasses (and without a wife to remind you theyâre on the table in the living room near the lamp, she canât find her own but mine she knows the GPS coordiates of?) anyway, Mobiflight has your back. When you are in the windows side of this (the Mobiflight software only runs on windows) you kill the sim so there are no active I/O coming to the board, then you tell it to find an input say which may be a switch, rotary encoder or potentiometer and then you twiddle your input and voila it finds the one thing that changed (it has a confirmation after to make sure you selected the right one and some switch wasnât somehow jiggling and false answered).
You may ask if the Mobiflight puts sufficient drain on the host PC to affect sim performance, well first off that sounds silly given how powerful a modern gaming PC is (to put it in perspective I have 16 cores, 128GB of DDR4 RAM, a NVIDIA RTX3090 all liquid cooled pulling close to 1000W when going full tilt in the sim driving a 4K monitor) so that machine is truly on the edge of its horsepower, but Mobiflight is less than 1% CPU and 128GB of RAM is way more than needed so it sits quietly on the side doing its thing. Now on really, really big sims they use 2 PCs a basic PC to run Mobiflight (and other auxiliary packages like SimBrief) and send all that over the network to the Sim machine, but I am nowhere close to that limit (I may be tempted to upgrade to a RTX5090 at some point and to that goal did upgrade my PSU to 1500W not long ago)














