Arduino hardware did exist when I started this project, however at the time there was no way to interface it with DCS World without an extensive knowledge of programming.
That was until an ED Forum user called FSF Ian dropped his program known as DCS-BIOS. His work has paved the way for many a home cockpit, and I have no doubt mine in its current format would not exist without his contribution to the DCS community.
I used DCS-BIOS in my cockpit to run displays and panels with indicator lights only- however if I was starting from scratch right now today, I would highly likley run the entire thing on DCS-BIOS using Arduinos. Why? Cost is drastically lower to buy arduinos than Generic USB Input cards, programing with DCS-BIOS is easy, and it is reliable as f@#k.
Anyway, what is an Arduino?
Arduino is an open-source electronics platform based on easy-to-use hardware and software. It's intended for anyone making interactive projects.
The link above will show you the very basics, straight from the Arduino Website.
For us flight sim builders, it is a very cheap way to get button inputs to, and servo and light outputs from, your PC running DCS World to your hardware cockpit.
Arduino is open-source hardware, which means there is no shortage of cheap 'clones' out there to purchase. My advice is this- dont think that more expensive means better- you can spend $12 for a Arduino Nano on eBay that is identical to a $2 clone from China. I know this, because I have purchased both and inspected them in detail. Exactly the same, probably from the same factory.
I souce mine Arduino's in bulk, and while some have failed me along the was, most were killed by me in puffs of blue smoke from wiring them incorrectly through overconfidence and complacency. I think of the twenty I've purchased on Aliexpress- only one has ever been DOA. And for $2 a pop- I wasn't bothered.
The ones I list below are linked to the Arduino page so you can read the exact details and get datasheets, but that is not where I purchased them from.
Google them, ebay them, Aliexpress them, Bangood them BEFORE you click buy!
Below is a list of different things related to Arduino that I used throughout my build.
This Arduino Uno was the first one I ever tinkered with, and that same exact card is still in the cockpit today. I use these because there are plenty of tutorials on how to wire them up, they had a decent amount of inputs/output, and there are plenty of shields that push fit straight into them and allow you to expand the connections for easy wiring. There are even LCD's that will push fit onto them.
From eBay these are around $10 AUD each locally, if you dont want to wait a month for shipping.
Aliexpress in a bulk lots they can be found for around $3.69 AUD each.
About the thing:
Arduino Uno is a microcontroller board based on the ATmega328P. It has 14 digital input/output pins (of which 6 can be used as PWM outputs), 6 analog inputs, a 16 MHz ceramic resonator (CSTCE16M0V53-R0), a USB connection, a power jack, an ICSP header and a reset button. It contains everything needed to support the microcontroller; simply connect it to a computer with a USB cable or power it with a AC-to-DC adapter or battery to get started. You can tinker with your Uno without worrying too much about doing something wrong, worst case scenario you can replace the chip for a few dollars and start over again.
Basically- the Arduino Nano is the same thing as the larger Arduino Uno above, however in a smaller package. I used some of these in the cockpit as well, because they are cheaper and just as reliable.
Plus with the plenty of different type of push in shields available, it can be just as easy to use as the Uno above.
From eBay they are also around $5 about $8 if you dont want to wait for shipping.
Aliexpress: $2.76 each. Exact same thing. Buy these ones and dont get ripped off.
From the website:
The Arduino Nano is a small, complete, and breadboard-friendly board based on the ATmega328 (Arduino Nano 3.x). It has more or less the same functionality of the Arduino Duemilanove, but in a different package. It lacks only a DC power jack, and works with a Mini-B USB cable instead of a standard one.
The Mega is again basically the same one as above, but on steriods. It has a slightly faster chip and 54 input pins!
These are more expensive: around $25 AUD on ebay, or Aliexpress for around $11 AUD.
The Arduino Mega 2560 is a microcontroller board based on the ATmega2560. It has 54 digital input/output pins (of which 15 can be used as PWM outputs), 16 analog inputs, 4 UARTs (hardware serial ports), a 16 MHz crystal oscillator, a USB connection, a power jack, an ICSP header, and a reset button. It contains everything needed to support the microcontroller; simply connect it to a computer with a USB cable or power it with a AC-to-DC adapter or battery to get started. The Mega 2560 board is compatible with most shields designed for the Uno and the former boards Duemilanove or Diecimila.
Wiring an Arduino is an easy task.
They all come with standard dupont connectors, which means you can either use premade cables like these, or later on get yourself a crimping tool and make up your own.
The Arduino will come with the connectors already soldered on, or you can get them in kit form so you can solder either directly to the board, or add any type of connector you want.
When wiring up buttons/switches and LED's you can connect them directly to the Arduino, or you can use shields that press fit into them.
I use a lot of shields, as they make it easier to remove components without having to disconnect everything when you are doing maintenence, plus they can give you extra pins or different connections. Dont want to solder anything- just press fit your Arduino into a $2 AUD screw connection shield and you dont need to!
DCS-BIOS connects custom-built control panels powered by Arduino microcontroller boards to the flight simulator DCS World. It can also be used by other programs to interface with DCS.
At the very basic level, it is an Arduino Library that will recieve and send data to and from your PC running DCS World over USB.
When you download DCS-BIOS will come with a detailed 'control reference' document, that includes all the inputs and outputs for all the aircraft in DCS (not just the Warthog).
All you need to do is use the drop down boxes in the control refernce to select your aircraft, panel and the button/switch/light/gauge/anything you want, then copy and paste the code that it gives you into the Arduino IDE and flash it to your Arduino.
Then when you connect the Arduino to your PC via USB, with DCS-BIOS running in the background, whatever you programed onto the Arduino will work!
You begin by downloading the Arduino IDE software to your PC and connecting your Arduino to your PC via a USB cable. You then use that software to write some code and upload it to your newly bought Arduino. Thats where DCS-BIOS comes in.
Please note this is NOT a detailed tutorial on how to use DCS-BIOS.
I highly recommend you read and copy this simple tutorial, and you will get a master caution light and button working in DCS World. Once you have done that, you will realise just how easy it is to get almost anything working!
Have a good read of of the ED forums DCS-BIOS discussion thread (the search function is your friend!), and it is highly likley that you will find someone has already tackled the panel you want and has already posted their code.
I have absolutely ZERO programming knowledge or experience, and I could handle most of it myself.
The community over on the DCS forums will gladly help you out, or you will find someones code that you can just blatently copy and paste it to get yours working.
Thats what I have done- thats all DCS-BIOS really is - copy and pasting code!
Each Arduino (and other USB cards) are connected to a USB Hub inside the console, then are connected to the PC. All up there are three USB cables connecting the entire cockpt to my PC.
Copyright © 2023 The Warthog Project - All Rights Reserved.
Powered by Coffee, Hate, and 30mm APDS-T.