Jump to content

y2kiah's A-10C cockpit build


y2kiah

Recommended Posts

CDU Build

 

Here are some shots of my CDU build. The guts are driven by a raspberry pi and some custom software that is available on my github here https://github.com/y2kiah/A-10C-CDU-Display. I will post a more complete tutorial IF there is enough interest, on how to turn an out-of-the-box raspberry pi into a working CDU using my interfacing solution.

 

In a nuthell, data is extracted with DCS-BIOS and sent to a Pi running NodeRED. The NodeRED "node" is the heart of my interfacing solution, and there is logic built into the software running on there to parse the DCS-BIOS stream, filter it down to just what is needed, and transform everything out into MQTT messages. The MQTT server (Mosquitto) also runs on the Pi. Then, all interfacing from the NodeRED hub to the panels happens via MQTT messages over ethernet. I will eventually release all of my interfacing software, hopefully as an official "alternative" set of libraries under the DCS-BIOS project.

 

But before I go into any more of that, here is my build.

 

I still have some light bleed to resolve, and I will be remaking the buttons, but other than that, the dimming is fully functional in the sim. It gets a bit too bright at the highest setting, so I will limit the max PWM value in software.

preview

 

The bottom of the case shows slots for Molex power and the Raspberry Pi SD card.

preview

 

Only the ethernet port is used for interfacing.

preview

 

The back of the perf board, mounted to the base plate shows the crazy amount of soldering. Somehow I managed to get it right the first time, phew... The male pin headers connect key rows and columns to the MCP23017 board. The female pin header connects the LCD screen to the RPi. The wire labeled HDD connects the LED back lighting to the dimmer module.

preview

 

The buttons feel fantastic, with no wobble and a nice long travel, but they look like hell. I need to find a better way to make them. The N,E,S,W,5 and MK buttons are built a bit taller than the rest.

preview

 

Most LCDs at this size are 3.5" or 4.3", but neither are suitable for this panel. This screen is a 4" made for the RPi, which allowed me to make fewer deviations from the original design with my button positions. I ended up with a very close replica in the end. In order to get perfect alignment of the LSK buttons with their corresponding row on the LCD, .1" spacing would not work, so I had to do some tricky off-center positioning of the hole for the key cap to sit on the buttons.

preview

 

Shots of the top of the perf board with and without the light plate.

preview

preview

 

The innards of the case shows the Pi with a pin breakout board, and above it the power input board with MCP23017 attached.

preview

 

Over top of the power board is the LED dimmer which receives PWM signal from the Pi. The Pi itself gives out a very inconsistent PWM signal and cannot dim the LEDs directly (I originally tried this through a MOSFET). The dimmer board smooths out the Pi's signal and sends its own clean PWM to drive the LED strips.

preview

 

The light panel is made from laser cut styrene sheet, and sprayed black on the back side. Light strips and wires are held on with the help of some CA glue. You can also see clear acrylic triangle pieces which act as a fulcrum for the rocker switches. When one side of the switch is pressed, it's not possible to press the other side.

preview

 

Some more shots of the individual pieces.

preview

preview

preview

preview

 

The bottom of the perf board connects rows of the key matrix, and brings them up to the top row of header pins. There is a pull-down resistor connecting each row to ground so the GPIOs do not float. The MCP board does not have built in pull-up or pull-down resistors.

preview

 

The top of the perf board connects key columns. There is a diode at each button to, so I am able to press unlimited simultaneous keys and each one is picked up correctly. One important thing when soldering up a button matrix like this is that no two buttons should share both the same row and column with each other.

preview

 

Well that about wraps it up. My next post will be a video showing the screen and buttons in action with the sim.


Edited by y2kiah
Link to comment
Share on other sites

Thanks Bubbles and Duckling!

 

Nice, how do you adapt the raspberry pi screen to run off DCS?

 

CDU data is extracted with DCS-BIOS and then run through my NodeRED program. From there it goes to the Pi as MQTT messages over ethernet. The CDU display, buttons and backlighting is run from a single python script, available on github https://github.com/y2kiah/A-10C-CDU-Display. I added some setup instructions to the project to further explain how it's all set up.

Link to comment
Share on other sites

Very nice CDU build you have gotten there sir. I seem to recall from the C-130 CDU I have got that they have placed a small piece of foam ring around each button, which then seals to prevent bleed light.

 

Looking forward to seeing more progress on your pit sir.

 

Cheers

Solo

Link to comment
Share on other sites

CDU Demo

 

I seem to recall from the C-130 CDU I have got that they have placed a small piece of foam ring around each button, which then seals to prevent bleed light.

 

Thanks for the tip Hansolo, that would help for sure. I may try that on my upcoming UFC build. I fixed some of the CDU light bleed with touch up paint on the buttons and electrical tape around the screen perimeter, and the pictures actually make it look a lot worse than it does in person, so I'm pretty satisfied with it for now. If it works out for the UFC, I'll probably come back and work it into the CDU.

 

preview

 

Here is a demo from CDU boot to shutdown:

 

0:00 - power-on and boot

0:43 - waiting for telemetry

0:50 - start simulation

1:18 - back lighting

2:40 - go to menu (hold NA1 for 5 seconds)

2:56 - key matrix test

3:28 - quit sim

3:35 - shutdown RPi

 

Link to comment
Share on other sites

  • 1 year later...
  • Recently Browsing   0 members

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