Jump to content

Another CDU Replica


Waxi

Recommended Posts

After months of reading I finally decided to try whether I can keep pace with the excellent builds and replicas presented in this and other forums.

 

My goal was building replica panels without buying expensive tools such as a laser cutter/engraver or a CNC mill.

 

I started with the most annoying panel: The control display unit (CDU) with its 67 push buttons. My CDU is not an exact replica but close and I am very happy with the result of this first attempt:

 

picture.php?albumid=779&pictureid=5441picture.php?albumid=779&pictureid=5440

 

More pictures (also from the building phase) can be found in my photo album.

 

The buttons and panels are made from clear acrylic. I ordered them from a German company that laser cut all parts very precisely according to my plans drawn in Adobe Illustrator (see below). It took about one week from placing the order and the delivery. The overall costs for all acrylic parts (including material, cutting and delivery) was about 60 Euros. Much cheaper than I expected!

 

The display used is a 3.5" open frame TFT that is connected to my graphics card using a DVI to VGA adapter. I ordered it from another German company that has a great variety of such small displays at reasonable prices.

 

For the electronics I use five high-speed MUXes to multiplex 80 digital inputs (the electronics is ready to take the digital inputs from the auxiliary avionics panel as well) to only 9 pins on an Arduino Mega 2560. These MUXes support multiplexing and de-multiplexing of digital and analog signals, which should allow me to drive the entire right console with one single Arduino Mega 2560.

 

The electronics talks to a self-written software that translates between the Arduino and the a slightly modified version of Gadrocs' DCS Export.lua (the one that comes with HELIOS). I also have an Arduino firmware based on EOS that directly works with HELIOS but due to the early development stage of EOS I decided to cook my own soup for now.

 

The button labels are made from clear self-adhesive transparency printed with a color laser printer. Specifically, each button label consists of:

  • A layer of standard white printing paper with a mirrored black print of the button label on the bottom side (to block the light from the LEDs) that is glued to the button top using all-purpose adhesive;
  • A layer of self-adhesive clear transparency printed with the gray button label;
  • A layer of clear self-adhesive transparency to protect the printed labels.

 

The CDU panel is colored in a similar fashion, i.e., it is not painted. I used the same transparencies and printed the black-and-white pattern of the CDU panel to them using the laser printer. Specifically, I printed the same pattern to the same transparency about four times until the black areas were completely opaque. The edges of the panel are painted using a black Edding 750 paint marker.

 

I may post more details on the building process later.

 

 

EDIT: I just uploaded the blueprints of my CPU panels and buttons that I used for the laser cutter. The file can be opened with Adobe Illustrator. The blue lines are cut lines and the red lines are engravings. My plans are based on the plans by Alex Young.

 

The display frame is made from 3 mm black opaque Plexiglas GS with mat surface.

The light, front and base plates are made from 3 mm clear Plexiglas GS.

The middle part of the buttons is made from 8 mm clear Plexiglas GS.

 

If I would build it again, I would use 3 mm milky white Plexiglas GS for the face plate and the top layer of the buttons, which nicely diffuses the light of the LEDs.

 

I made the buttons from the cutouts of the button holes in the panels and the 8 mm middle pieces. I glued them together with general purpose adhesive based on cyanacrylate. It is very important to be very exact here and to use the right amount of glue. Slight inaccuracies can be evened out using sandpaper.

 

There are some more photos of the building process that should give you an idea of how the buttons look like.

 

The buttons are held in place as follows: Each button has a base layer that is wider than the holes in the top layers of the panels. This prevents the buttons from falling out of the upper side of the panel. From the backside the push buttons are supporting the buttons preventing them from falling out of the bottom part of the panel.

 

EDIT 2: Please note that my blueprints contain all parts of the CDU panel and buttons in one single file. If you order the parts at some company, you probably have to make a single file for each part (base plate, light plate, face plate, etc.) from my plans.

 

EDIT 3: Instead of using 5 multiplexers you could also use less multiplexers in a switch matrix. However, in contrast to my approach, a switch matrix may generate false inputs when pressing multiple buttons at the same time (known as "ghosting"). Further, a switch matrix may be harder to debug in case something goes wrong with the soldering.

2026668029_CDUAssembly.thumb.jpg.f02aa253a2495ab741bf0f46fbd6b31a.jpg

CDU Blueprints.zip


Edited by Waxi
Link to comment
Share on other sites

Just think of all the money the American tax payer would save if we built the A10C our selves..:thumbup:

" any failure you meet, is never a defeat; merely a set up for a greater come back, "  W Forbes

"Success is not final, failure is not fatal, it is the courage to continue that counts,"  Winston Churchill

" He who never changes his mind, never changes anything," 

MSI z690MPG DDR4 || i914900k|| ddr4-64gb PC3200 || MSI RTX 4070Ti|Game1300w|Win10x64| |turtle beach elite pro 5.1|| ViRpiL,T50cm2|| MFG Crosswinds|| VT50CM-plus rotor Throttle || G10 RGB EVGA Keyboard/MouseLogitech || PiMax Crystal VR || 32 Samsung||

Link to comment
Share on other sites

I want it ! :)

 

Fantastic work m8

Simulatori: DCS A-10C II Warthog - DCS F/A-18C Hornet - DCS F-16C - VRS F/A-18E - 
HOTAS: TM Warthog - Cougar \ HP Reverb G2 \ WinWing Panels

Tally: I see the degenerate commie who wants to ruin our day.

 

Link to comment
Share on other sites

Gratz to this great work !!

 

I have finished my "Lindens UFC" and will start assembling the CDU next.

I use 2 of Brydlings IO-cards to get around 500 button connections and a Bodnar board for selectors.

 

How did it work with the little monitor ? Has it a VGA connector ? I have ordered such a fancy china-lcd and it has only video-in .... a nightmare.

I just ordered an external USB graphicscard and hopefully get connected it.

Could you easily add the monitor to your overall displayarea and export ? Some traps on this way ???

 

Have fun on the wiring ... I used illuminated buttons which asked each single button for connections to the phidgets board.

 

Nice to see your project !! :thumbup:

Link to comment
Share on other sites

Thanks for the positive feedback :v:

 

@TomDK:

My screen (data sheet) has a VGA connector, which made connecting the display to the graphics card easy. After some initial problems selecting the right resolution on Windows 8 the display now works like a charm. It is recognized by Windows as a regular screen with a resolution of 640x480 and integrates into the overall Windows display area without problems.

 

For exporting the CDU screen from DCS I use the Easy Monitor Configurator by icemaker, which saves quite some editing of Lua files.

 

Soldering the 67 push buttons, 42 LEDs and particularly all the wiring for the electronics indeed was an annoying experience :bored:

Link to comment
Share on other sites

  • 3 weeks later...

I just uploaded the blueprints of my CDU panels and buttons and added some details on the building process. The link to the blueprints can be found at the bottom of the first post of this thread.


Edited by Waxi
Link to comment
Share on other sites

Very nice. I know that the CDU will be my most intensive panel. Probably why I'm waiting until either the pit fairies make it for me in the middle of the night, or I stop finding everything else to do before it! ;) Anyway, nice build!

Buttons aren't toys! :smilewink:

 

My new Version 2 Pit: MacFevre A-10C SimPit V2

My first pit thread: A-10C Simulator Pit "The TARDIS."

Dzus Fastener tutorial, on the inexpensive side: DIY Dzus Fastener

Link to comment
Share on other sites

Any chance to take a look at your EOS firmware for arduino? I tried to do similar but all I managed to accomplish is talking to console output.

 

Since the latest EOS specification is a bit ambiguous I stopped working on the EOS firmware for now and I eventually cooked my own soup. Further, my EOS firmware is undocumented and already includes some "extensions" towards my approach that deviates from the EOS specification. Hence, to prevent any confusion, I tend to not publish my EOS firmware in its current form. Maybe I will upload it later as untested code when I found some time to remove all my extensions.

 

However, for implementing the basic EOS functionality (e.g., push button inputs) I highly recommend looking into Ian's EOS implementation for the MSP430, which gave me some fundamental insights that were not immediately clear to me from the EOS specification and finally allowed me to make my Arduino talk to HELIOS.

  • Like 1
Link to comment
Share on other sites

Pannel looks very good, congrats. Any Info on using the Ardurino mega with DCS would be great as I too am looking to try it.

 

TomDK Video in is what you want. If the input is RCA [you did'nt say] then you need a RCA to VGA converter,not to be confussed with RCA to VGA adaptor. I got mine online for about 25 USD. You then use a VGA / DVI or VGA/HDMI adaptor to connect to graphics card. Unless you have VGA connection on graphics card. Mark.

Home built X-58FTW,i7 950, 3 x GTX570oc,

screens; 3 x 22", 19", 17", 9" :D

My pit. http://forums.eagle.ru/showthread.php?t=121598

Link to comment
Share on other sites

Your CDU looks great ! Another inspiring thread for beginners like me. Congratulations and thanks for sharing :thumbup:

Asus P8Z68 Deluxe, Intel Core i7-2600K (3.4 GHz), Corsair Vengeance 2x4096 Mo DDR3 1866 MHz, SSD 120 Go Vertex 2, EVGA GeForce GTX 970 FTW ACX 2.0 4Go (04G-P4-2978-KR), TM HOTAS Warthog #03797 (MB replaced), Saitek Combat Pro Rudder, TrackIR 5, TM Cougar MFDs with Lilliput 8" UM 80

Link to comment
Share on other sites

Great effort Waxi!

 

A couple of questions, for everyone actually:

 

1) Going with multiplexers, there's no ghosting problems, or problems with more than one buttons pushed at the same time? Would that even be a problem on the CDU? Could you have gone with 2 of these 16 channel chips, and made a 256 button matrix?

 

2) Would it be possible to use tactile buttons with inbuilt LEDs? just wire them up so they're all ON?

Link to comment
Share on other sites

I have a new set of EOSlibraries which I'll be putting up on Github this weekend. Along with a set of C# libraries and command line utilities that interface with it.

 

That's great news. I really appreciate your work and think that this makes things much easier. :thumbup:

 

1) Going with multiplexers, there's no ghosting problems, or problems with more than one buttons pushed at the same time? Would that even be a problem on the CDU? Could you have gone with 2 of these 16 channel chips, and made a 256 button matrix?

 

2) Would it be possible to use tactile buttons with inbuilt LEDs? just wire them up so they're all ON?

 

Actually you should be able to do it with an 8x8 matrix with just one 16 channel chip.

 

Yes, you could build a button matrix with 256 buttons and two of the multiplexers.

 

The CDU has 67 buttons. With an 8x8 matrix you can implement only 64 buttons. So you would have to wire the three remaining three buttons differently.

 

There is no ghosting problem when wiring the buttons and the multiplexers as I did. This is because each button is connected to a separate multiplexer input. When reading this input pin, the Arduino configures the multiplexer to read only this pin that is not affected by any other button. Hence you could press multiple keys at the same time without producing any input errors.

 

However, ghosting is probably not a problem for the CDU since most of the time you only press single buttons sequentially when entering data into the CDU.

 

It should be no problem to use tactile buttons with integrated LEDs and wire them to be on. The buttons I used are just sitting directly under the Plexiglas. You could do the same with illuminated buttons.

 

Also Waxi give me a PM. I'd be interested in where you diverged from EOS and why. If there is something that won't work I'd like to discuss before I start ordering some PCB designs.

 

Thanks for the interest in my changes. I will send you a PM soon (I am currently travelling and have my notes on EOS at home).


Edited by Waxi
Link to comment
Share on other sites

Ok. Ran out of time this weekend on getting the new EOS Libraries up. I ran into a few bugs which slowed me down. Have a new tester app which dumps packets off the bus and allows you to send all the commands to devices. Just need to button up a few last things and I can upload it.

 

Hopefully have it and Helios updated with the new libs by end of week (less time for coding week nights).

Link to comment
Share on other sites

  • 7 months later...
  • Recently Browsing   0 members

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