This hobby project arose out of the need for an easy to use yet powerful flight simulator control interface. I started it by seeing all the problems a home cockpit builder could face using existing solutions at the time.
Like many other aviation enthusiasts, I've become a fan of flight sims since they just came out on PC (late 80s) and it was natural to want to fly with more realistic controls, and at first it was just a DIY yoke and few buttons. When the Internet became available at home, I started searching and trying few I/O solutions available.
Then, after a few years of hiatus, in 2011 I discovered X-Plane-9, which had a great built-in I / O interface that allows you to read data from the X_Plane over Ethernet UDP and send back control data. In the end, the few interface options available were either too limited or too complex, so I figured it was time to create my own X-Plane interface given my pro background in electronics and coding.
Before that I started building a full-size Baron 58 panel simulator and used Arduino (with Mega1280 microcontroller) as a convenient and cheap platform (no need to deal with “bare-bone” micro-controller chip programming) to write input/output code for this panel that used UDP network protocol built into X-Plane. It was just standalone code (not library).
The fact is that over the past 20 years I’ve seen quite many home cockpits exposed in the Internet which just have been started and then eventually stopped, or became never been finished projects, eating a lot of money for years. Of course, that doesn't mean it's because of the interface, but if you need to become an expert in programming and electronics to get a few LEDs and displays to work in your cockpit, it can frustrate and stop many enthusiasts..
First, this whole project would not have been possible without my son Roman, with his extensive system and application programming skills. My programming expertise is mainly related to hardware, electronics/micro-controllers, scripts, web-design. So he soon joined me and we became a small father and son team. He created the first plugin (ArdSim), which then evolved into the current powerful HCSCI project, and instrument panel program.
The goal was to create an interface that would be a powerful, flexible, yet easy-to-use tool for home cockpit builders. In the end, HCSCI will save you a lot of time and money by allowing you to focus on cockpit building process, not thinking about how to make it work the simulator, without the need for programming skills and complex custom electronics.
The HCSCI (SimVimCockpit) is the 6th generation of our input-output interface for X-Plane. At first, we spent a little time learning the in-built X-Plane UDP protocol, then there were a few “transitional” libraries, that grew up to become ARDref / ArdSim / ArdSimX with using the plugin as main part of the system, and finally to the current HCSCI Interface. All history of development is here:
|Baron 58 code developments||UDP tests, 2012-2013||The first test code to analize UDP packets from X-Plane to receive packets and send commands to X-Plane. Early programs for Baron 58 Panel (June 2012) using data receiving using X-Plane UDP DATA method only. Testing of data input-output methods, Arduino code development for encoders, analog inputs, program speed optimisation etc.|
|XPData Library for X-Plane data Input/Output||2014 to 2015||First convenient library created, used built-in X-Plane UDP communication protocol (Ethernet) to send input data to X-Plane. Had two different methods of receiving output data from X-Plane - one using X-Plane UDP protocol, and the other getting data from the early versions of ARDref plugin.|
|ARDref Library and Plugin||to July, 2015||The "transitional" library. Only worked with Ethernet, used several slave boards. Focused on using a plugin with config files instead of Arduino programming. Many of its ideas, such as plugin transmitting initial configuration to Arduino, have been reused later for HCSCI .|
|ArdSim Library and Plugin||v.1.2 late 2015 to v. 5.4 in 2017||The predecessor to ArdSimX. Main differences: ArdSim library has a set of functions that you had to use in Arduino code to setup input controls and assign specific action (switch, encoder, LED etc.) for any Arduino pin. Arduino programming (via use of ArdSim library functions) was required along with the configuration file. Needed to know the library functions and X-Plane datarefs/commands|
|since 2017 to v. 1.33 in July 2018||The predecessor of the SimVimCockpit/HCSCI . Configurable inputs/outputs (buttons, switches, encoders, analog axes, rotary switches, LEDs, 7-segment displays, few stepper motors and PWM-gauges) without any Arduino programming using online configurator.|
|since 2018 to 2021||The SimVimCockpit interface has completely replaced ArdSimX and all previous projects, it provides much more capabilities and offers more control and output options, requiring significantly less effort and cost to use with a very flexible I/O configuration.|
|since 2021||The HCSCI is the current interface|
The HCSCI project is always in a constant development state, it still has a lot of potential, and its functionality can be improved and changed during the development process.
HCSCI Interface will stay free, non-commercial hobby project, and any donations are highly appreciated! Many of you are long-time patrons, and this is very generous help, thank you all !
Patreon operates as one of the donation services, but allows you to support your favorite projects on a monthly basis by donating a small amount charged each month from your PayPal. You can define any donation sum monthly, change the amount, or end the patronage at any time. Even if you want to make a one-time donation, you can subscribe and then unsubscribe after the first week of the month.