Why SimStack?

Why bother? Solutions x, y and z already exist!

They sure do – there is a growing range of free and commercial products to help create a basic flight simulator.

Yet when we looked at simulating every switch, every knob and every interface, we found that these existing solutions each have their own limitations — usually a reflection of the environment in which they evolved.

So we asked: what are these issues, can they be solved, and if we were starting from scratch today, how would we want an interface solution to look?

Wiring complexity

For cost efficiency, many people use interface boards with large numbers of inputs and outputs on one board, wiring lights and switches from all over the cockpit back to it. We know — we’ve been there. This leaves a lot of cabling to wrangle, and when something fails it is much harder to access and troubleshoot.

Solution: Small, modular interface boards — one per panel.

USB / serial dependency

Most interfaces use serial communications over USB. This generally works, but can be prone to driver and OS issues, and to USB dropouts caused by cable lengths, hubs and the like.

Solution: Use a standard Ethernet (network) interface.

Software complexity

Generally, current hardware interfaces must talk back to a program running on a computer — the board is “dumb”, only detecting which switch closed or turning a light on. Centralising like this has merits, but also problems: if that one system is compromised, every interface is affected, and different solutions need different software with their own requirements and limitations.

Solution: Put the logic in microcontrollers on the boards themselves.

Power supply and isolation

Most add-on systems only support 5V consumer-grade lights and switches. Mixing USB power with external power sources can also lead to all sorts of hard-to-troubleshoot issues.

Solution: Design support for multiple (including custom) voltages on the one interface card.

Limited hardware interface support

Want to interface a potentiometer? That’s a challenge. A rotary encoder? A servo or stepper to drive a gauge? Want to dim those LEDs, or hook up a character display? Each of these can be an exception that needs different hardware and software, increasing complexity.

Solution: Choose a microcontroller flexible and extensible enough to handle a wide range of add-on hardware.

Cost

This stuff is not cheap. Is it worth building our own? Surely, if it could be done, someone would have done it already.

Solution: We can only try…