Jump to content

WhoMadeWho's A10C Cockpit build


WhoMadeWho

Recommended Posts

Greetings fellow DCS fans! I thought I would share my progress on my personal cockpit build. I've been working on it for about a year. During this time I've acquired two CNC machines, many woodworking tools, and lots of Arduino Nanos! A special THANK YOU to the author and contributors of DCS-BIOS. Without your work, this would have not been possible. :thumbup: Also thanks to everyone who has posted on here giving me ideas and encouragement to continue.

 

Below is my first CNC setup - this is a China made (~$500) machine purchased off ebay. For the money, this machine has served me very well. I use it exclusively for engraving on ABS plastic as it is jack-screw driven and more precise then my other machine (X-Carve).

 

cn_shop.jpg

 

Below is my second machine - an X-Carve. It's a good machine, but I've struggled with engraving accuracy. I've also have burnt up several bits - need to learn about feeds and speeds!! :music_whistling:

 

x_carve2.jpg

 

And here is my cockpit work in progress.

 

cpit_full2.jpg

cpit_full_left.jpg

cpit_full_left_top.jpg

cpit_full_right2.jpg

 

And some work with the Arduino's + DCS-BIOS.

 

12XcB1ISAmwTMA.gif

CMSC panel. Buttons work. I didn't put volume or brightness knobs on it. My displays are hard set at one brightness anyway. This setup is using 4 Arduino Nanos.

 

bx7iFXR4Dwa0E.gif

UHF display.

 

iCjxF6dvmM17a.gif

CMSP right console display. This is a hard to find 20x2 OLED display. These are MUCH better than standard LCD character displays as they are bright, easy to read at all angles and you don't need to adjust a backlight. Next comes an enclosure with the switches, etc.

 

My next challenge is getting servos to reflect analog gauge positions. This is an area I am very new to. I'm thinking of using 'hobby servos' for this...?? I also sourced some automotive panel servos that may just do the trick. I'll be playing with these as time permits. I hope I can get this part figured out as it is critical to the build.

 

I hope to post more pictures as I progress. If anyone would like more information, DCS-BIOS example code or CNC plans (I use Aspire & V-Carve for design, Mach3 and bCNC for CNC machine control), I would be happy to share as this is what makes this community great!

Link to comment
Share on other sites

Hey WhoMadeWho, brilliant work! For the gauges I recommend looking at the VID29 stepper motors. They work great for whata we need.

All you panels look crisp and very professional. Nice job

I'll probably need some help with CNC soon as I managed to score a couple of machines off ebay recently far too cheaply.

 

Thanks for showing it

Link to comment
Share on other sites

Your work looks amazing! (When I watch that CMSC video, my brain adds the audio all on its own -- "beeep, beeep, beeep, BOOM!". I love how the chaff/flare display just switches to "FAIL"!)

 

That UHF display looks like another OLED. Does it display all the segments when you press the display test button on the UHF radio? (If not, you can fix that by replacing the the '*' character in your font.)

 

Also, I am curious: how much experience did you have with electronics and programming before you started building? What did your very first test setup look like?

Link to comment
Share on other sites

It makes my day to see a new cockpit build thread! Great job!

My rig specs:

Intel Core i7 4770 @3.4Ghz // Corsair 16GB DDR3 // MoBo Asus Z87K // HDD 1TB 7200RPM // eVGA Nvidia GTX 760GT 2GB DDR5 // LG 3D 47" 1920x1080 // Thrustmaster Warthog HOTAS // Saitek Combat Pro Pedals // Thrustmaster MFD Cougar pack // PS3 Eye + FTNOIR

Link to comment
Share on other sites

Ian;2958769']Your work looks amazing! (When I watch that CMSC video, my brain adds the audio all on its own -- "beeep, beeep, beeep, BOOM!". I love how the chaff/flare display just switches to "FAIL"!)

 

That UHF display looks like another OLED. Does it display all the segments when you press the display test button on the UHF radio? (If not, you can fix that by replacing the the '*' character in your font.)

 

Also, I am curious: how much experience did you have with electronics and programming before you started building? What did your very first test setup look like?

 

Thanks [FSF]Ian for your kind comments! The UHF display is indeed a OLED display (identical to the ones used in my CMSC panel--I put a green plastic filter over them as they only come in one color - white). I'm using a custom font for both the UHF and CMSC displays. Here's what I get when I hit the test button. I think everything is there -

 

UHF2.jpg

 

Regarding your question on my experience with electronics and programming ; I do have a background in electronics but never did much with it professionally or personally before I starting working on my cockpit. I'd consider myself an intermediate programmer, although I've invested heavily in Arduino related books recently!


Edited by WhoMadeWho
Link to comment
Share on other sites

Very nice work indeed.

 

Looks like you have a real ADI there.:thumbup: Have you given any thought to how it will be run. I,m working on gauges myself. I think you'll find the VID series of stepper motors will provide excellent performance for your needs. The VID60 is continuous rotation with a built in IR detector for zeroing it. Perfect for the altimeter. For the right console, the enviro gauges as well as the hydraulic gauges at the top of the fuel panel are using VID29 motors. The VID28 motor has a dual shaft which is perfect for the fuel, speed and accelerometer gauges and the VID29 is the standard stepper that I use for the EMI gauges. They are a bit of a special group of motors as I run them from a more powerful board, ChipKit Uno32. It runs at 83mhz. You will find that Arduino boards will struggle to run more than 2 motors at a time as they only run at 16 MHz.

 

The ADI needs a more powerful motor so I use a small form NEMA bipolar motor for this instrument and the Standby ADI. Depending on how you drive pitch on your ADI, mine has the motor in the ball, there are some very small NEMA11 motors that will fit inside it and should do the job. I should know for sure shortly as its next on the list to get up and running.

 

I have adopted the Easy Driver board for all my stepper motors. It cuts down on the number of pins you need to drive a stepper. Chinese knockoffs run about $1.60 so it is cost effective and you get the choice of using micro stepping depending on what gauge your building. VID motors are available staring around $3.50 on AliExpress or eBay. You can also use Switec motors. They were the original motor that the VID motors were copied from.

 

I tried a few servos, used one for the flaps, and didn't like their performance. They were loud and they only had 180 degree swing. The VID29 motors have 315 degrees of swing which handles a lot of the cockpit gauges without the need for adding gears. You can check out my photo sites ( in signature) where you will find almost all of the gauges in various stages of build. It might give you some ideas on how you can design and build these things your self.

 

If you ever need to chew the fat on a particular issue or pick brains for ideas, I'm always monitoring the forum. I'm happy to help if I can. As you say, it's a great community and sharing is what makes it so great.:D

 

And I almost forgot, welcome to the forum. I'm very much looking forward to seeing pics as your cockpit moves forward. Good luck. It's a rather long journey we take here.:smilewink:

Regards

John W

aka WarHog.

 

My Cockpit Build Pictures...



John Wall

 

My Arduino Sketches ... https://drive.google.com/drive/folders/1-Dc0Wd9C5l3uY-cPj1iQD3iAEHY6EuHg?usp=sharing

 

 

WIN 10 Pro, i8-8700k @ 5.0ghz, ASUS Maximus x Code, 16GB Corsair Dominator Platinum Ram,



AIO Water Cooler, M.2 512GB NVMe,

500gb SSD, EVGA GTX 1080 ti (11gb), Sony 65” 4K Display

VPC MongoosT-50, TM Warthog Throttle, TRK IR 5.0, Slaw Viper Pedals

Link to comment
Share on other sites

Very nice work there, and couldn't agree more, OLEDs are definitely the way to go, and check out OverPros sketch etc for driving steppers, that has worked well for me. What was the trick you've used for painting the green/yellow/red around the engine gauges... its something I'm yet to master :)

 

Cheers

Peter

Link to comment
Share on other sites

my word, this is incredible. Very nice work!

MSI MAG Z790 Carbon, i9-13900k, NH-D15 cooler, 64 GB CL40 6000mhz RAM, MSI RTX4090, Yamaha 5.1 A/V Receiver, 4x 2TB Samsung 980 Pro NVMe, 1x 2TB Samsung 870 EVO SSD, Win 11 Pro, TM Warthog, Virpil WarBRD, MFG Crosswinds, 43" Samsung 4K TV, 21.5 Acer VT touchscreen, TrackIR, Varjo Aero, Wheel Stand Pro Super Warthog, Phanteks Enthoo Pro2 Full Tower Case, Seasonic GX-1200 ATX3 PSU, PointCTRL, Buttkicker 2, K-51 Helicopter Collective Control

Link to comment
Share on other sites

Very nice. I've been going back and forth between ZMorph and XCarve. Then I decided to pull the trigger on MPCNC - open source CNC/Laser project. I just have to order the 1" pipes for guide rails now. Wish me luck!

 

:)

 

Great looking project, BTW.

hsb

HW Spec in Spoiler

---

 

i7-10700K Direct-To-Die/OC'ed to 5.1GHz, MSI Z490 MB, 32GB DDR4 3200MHz, EVGA 2080 Ti FTW3, NVMe+SSD, Win 10 x64 Pro, MFG, Warthog, TM MFDs, Komodo Huey set, Rverbe G1

 

Link to comment
Share on other sites

VID motors

 

Very nice work indeed.

 

Looks like you have a real ADI there.:thumbup: Have you given any thought to how it will be run. I,m working on gauges myself. I think you'll find the VID series of stepper motors will provide excellent performance for your needs. The VID60 is continuous rotation with a built in IR detector for zeroing it. Perfect for the altimeter. For the right console, the enviro gauges as well as the hydraulic gauges at the top of the fuel panel are using VID29 motors. The VID28 motor has a dual shaft which is perfect for the fuel, speed and accelerometer gauges and the VID29 is the standard stepper that I use for the EMI gauges. They are a bit of a special group of motors as I run them from a more powerful board, ChipKit Uno32. It runs at 83mhz. You will find that Arduino boards will struggle to run more than 2 motors at a time as they only run at 16 MHz.

 

The ADI needs a more powerful motor so I use a small form NEMA bipolar motor for this instrument and the Standby ADI. Depending on how you drive pitch on your ADI, mine has the motor in the ball, there are some very small NEMA11 motors that will fit inside it and should do the job. I should know for sure shortly as its next on the list to get up and running.

 

I have adopted the Easy Driver board for all my stepper motors. It cuts down on the number of pins you need to drive a stepper. Chinese knockoffs run about $1.60 so it is cost effective and you get the choice of using micro stepping depending on what gauge your building. VID motors are available staring around $3.50 on AliExpress or eBay. You can also use Switec motors. They were the original motor that the VID motors were copied from.

 

I tried a few servos, used one for the flaps, and didn't like their performance. They were loud and they only had 180 degree swing. The VID29 motors have 315 degrees of swing which handles a lot of the cockpit gauges without the need for adding gears. You can check out my photo sites ( in signature) where you will find almost all of the gauges in various stages of build. It might give you some ideas on how you can design and build these things your self.

 

If you ever need to chew the fat on a particular issue or pick brains for ideas, I'm always monitoring the forum. I'm happy to help if I can. As you say, it's a great community and sharing is what makes it so great.:D

 

And I almost forgot, welcome to the forum. I'm very much looking forward to seeing pics as your cockpit moves forward. Good luck. It's a rather long journey we take here.:smilewink:

 

Thanks Warhog & Boltz for the suggestions on the VID stepper motor recommendations! :thumbup: I have a x27.168 motor that I've been playing with that I believe is very similar to the VID29 series. I'm using a H-bridge chip in the middle. I'm not 100% this is needed, but I believe it doesn't hurt for safety of the Arduino and the USB port (Anyone have thoughts on H-Bridge usage?) I have two VID28 motors on order but I wasn't able to source the VID60 online. Any preferred vendors for these?

 

I am indeed using a real attitude indicator. This is a standby indicator so it has motors inside and not gyros. This came out of a UH-60L Black Hawk helicopter. It was a 24volt instrument so I don't believe I can use any of the original motors but I for sure can use the gearing already inside. I found the real attitude indicator the A-10 uses, but it was $8000 !! That would put me over budget real quick!

 

Warhog - your build pictures look amazing!! Thanks for posting those!

 

I may look into getting a faster aftermarket Arduino, so thanks for the tips here as well.

 

As for code I'm using to drive the x27.168 motor - I found the below code on the forums here. It works great! Not sure if there is a better or updated revision. Hopefully this code makes it into the official DCS-BIOS documentation at some point as I'm sure it would help out others.

 

#define DCSBIOS_IRQ_SERIAL

#include <AccelStepper.h>
#include "DcsBios.h"

struct StepperConfig {
 unsigned int maxSteps;
 unsigned int acceleration;
 unsigned int maxSpeed;
};


class Vid29Stepper : public DcsBios::Int16Buffer {
 private:
   AccelStepper& stepper;
   StepperConfig& stepperConfig;
   unsigned int (*map_function)(unsigned int);
   unsigned char initState;
 public:
   Vid29Stepper(unsigned int address, AccelStepper& stepper, StepperConfig& stepperConfig, unsigned int (*map_function)(unsigned int))
   : Int16Buffer(address), stepper(stepper), stepperConfig(stepperConfig), map_function(map_function), initState(0) {
   }

   virtual void loop() {
     if (initState == 0) { // not initialized yet
       stepper.setMaxSpeed(stepperConfig.maxSpeed);
       stepper.setAcceleration(stepperConfig.acceleration);
       stepper.moveTo(-((long)stepperConfig.maxSteps));
       initState = 1;
     }
     if (initState == 1) { // zeroing
       stepper.run();
       if (stepper.currentPosition() <= -((long)stepperConfig.maxSteps)) {
         stepper.setCurrentPosition(0);
         initState = 2;
         stepper.moveTo(stepperConfig.maxSteps/2);
       }
     }
     if (initState == 2) { // running normally
       if (hasUpdatedData()) {
         unsigned int newPosition = map_function(getData());
         newPosition = constrain(newPosition, 0, stepperConfig.maxSteps);
         stepper.moveTo(newPosition);
       }
       stepper.run();
     }
   }
};

/* modify below this line */

/* define stepper parameters
  multiple Vid29Stepper instances can share the same StepperConfig object */
struct StepperConfig stepperConfig = {
 120,  // maxSteps
 1200, // maxSpeed
 10000 // acceleration
 };


// define AccelStepper instance
AccelStepper stepper;
// define Vid29Stepper class that uses the AccelStepper instance defined in the line above
//           +-- arbitrary name
//           |   +-- Address of stepper data (from control reference)
//           |   |       +-- name of AccelStepper instance
//           v   v       v        v-- StepperConfig struct instance
Vid29Stepper vvi(0x10a0, stepper, stepperConfig, [](unsigned int newValue) -> unsigned int {
 /* this function needs to map newValue to the correct number of steps */
 return map(newValue, 0, 65535, 0, stepperConfig.maxSteps);
}); 


void setup() {
 DcsBios::setup();
}

void loop() {
 DcsBios::loop();
}



Edited by WhoMadeWho
Link to comment
Share on other sites

Beauty! Can I ask how much you paid per switch on the armaments panel? I notice you're using the real switches. I always think its a shame when guys build a beautiful panel and then skimp on switches, good work.

 

For the Master Arm switch I think I paid $90 - way too much but I wanted the look and feel of the real thing. The rest of the switches I was able to acquire online in various lots for about $100. Not all are Honeywell branded but look very similar. For some of the other switches I'm using good old $5 switches bought at a hardware store. Didn't want to fork out $$$ for magnetically held switches. Compromises I guess. :smilewink:

Link to comment
Share on other sites

https://www.shapeways.com/shops/a-10c-warthog-supplies

https://forum.dcs.world/topic/133818-deadmans-cockpit-base-plans/#comment-133824

CNCs and Laser engravers are great but they can't do squat with out a precise set of plans.

Link to comment
Share on other sites

The VID60 motors are available on AliExpress. I believe you will have to buy them in lots of 5. They are actually for a clock. The have an inner and outer shaft (hour/minute hands). The inner shaft is what you will use and it is 250 steps. I would loose the h bridge in favor of the Easy Driver board. It gives you much more flexibility and is very inexpensive. Try a couple of them. You won't be disappointed.

 

The x25 is the Switec motor I was referring too. VID series are a knockoff of that motor. The code you found was written for my VVI. There will be documentation in DCS BIOS at some point in the future for it and the VID60 motor.

 

The ADI you have can be run with small NEMA motors. I use servos for all of the indicators but I think you could use the existing coils to control them. I just didn't have enough electronics background at the time to make it happen. I'm planning on doing exactly the same thing with an HSI. We will see how that works out. The gearing inside these things is amazing. I had an HSI from a 727 that I tore apart. The gears and bearings I salvaged were really helpfully in modifying/building other instruments.

 

Glad you liked the pics. I'll be posting more as things move forward. I hope you will do the same.:)

Regards

John W

aka WarHog.

 

My Cockpit Build Pictures...



John Wall

 

My Arduino Sketches ... https://drive.google.com/drive/folders/1-Dc0Wd9C5l3uY-cPj1iQD3iAEHY6EuHg?usp=sharing

 

 

WIN 10 Pro, i8-8700k @ 5.0ghz, ASUS Maximus x Code, 16GB Corsair Dominator Platinum Ram,



AIO Water Cooler, M.2 512GB NVMe,

500gb SSD, EVGA GTX 1080 ti (11gb), Sony 65” 4K Display

VPC MongoosT-50, TM Warthog Throttle, TRK IR 5.0, Slaw Viper Pedals

Link to comment
Share on other sites

I have all of the indicators on the ARU2B working with a simple arduino. Most can be controlled with just a resistor and two PWM pins. The only two things that can't be controlled like that are the ball itself and the power failure indicator. The power failure needs a relay two connect it to the 400hz AC lines and the ball needs 400hz synchro drivers.

 

I'll dig up my notes and post the required circuits if anyone is interested.

Link to comment
Share on other sites

VID60 - Thanks!

 

The VID60 motors are available on AliExpress. I believe you will have to buy them in lots of 5. They are actually for a clock. The have an inner and outer shaft (hour/minute hands). The inner shaft is what you will use and it is 250 steps. I would loose the h bridge in favor of the Easy Driver board. It gives you much more flexibility and is very inexpensive. Try a couple of them. You won't be disappointed.

 

The x25 is the Switec motor I was referring too. VID series are a knockoff of that motor. The code you found was written for my VVI. There will be documentation in DCS BIOS at some point in the future for it and the VID60 motor.

 

The ADI you have can be run with small NEMA motors. I use servos for all of the indicators but I think you could use the existing coils to control them. I just didn't have enough electronics background at the time to make it happen. I'm planning on doing exactly the same thing with an HSI. We will see how that works out. The gearing inside these things is amazing. I had an HSI from a 727 that I tore apart. The gears and bearings I salvaged were really helpfully in modifying/building other instruments.

 

Glad you liked the pics. I'll be posting more as things move forward. I hope you will do the same.:)

 

Thanks Warhog for the suggestion on where to get the VID60s. I placed an order from China and in 10-21 days I should have 10 of 'em! If anyone on this thread has a need for this motor, let me know - I doubt I can use the quantity of 10 they are shipping me. :)

 

I was thinking of running the ADI via NEMA motors as well. I think my challenge will be getting the motors and gearing placed and correct, then of course the calibration. The amount of design and precision inside the ADI is very impressive.

Link to comment
Share on other sites

I have all of the indicators on the ARU2B working with a simple arduino. Most can be controlled with just a resistor and two PWM pins. The only two things that can't be controlled like that are the ball itself and the power failure indicator. The power failure needs a relay two connect it to the 400hz AC lines and the ball needs 400hz synchro drivers.

 

I'll dig up my notes and post the required circuits if anyone is interested.

 

Hi Gadroc, I would be interested to see your notes/findings on your ADI. I'll be getting to that project this winter sometime. Nice work on Helios! :thumbup:

Link to comment
Share on other sites

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...