Multi Function Display For Elite Dangerous by EldragonFromSA 3d model
3dmdb logo
Thingiverse
Multi Function Display For Elite Dangerous by EldragonFromSA

Multi Function Display For Elite Dangerous by EldragonFromSA

by Thingiverse
Last crawled date: 3 years, 4 months ago
What is it?
This is a functional button box with built in screen for use in Elite Dangerous or any other flight simulator that can output game data to a second monitor.
The back of the box has mounting holes for a 75mm x 75mm VESA mount. You can find many stands to pick from on Thingiverse. I used this one.
What is Inside?
A 7 inch HDMI screen, and adruino keyboard emulator tied to 12 Cherry MX Buttons. In the case of Elite Dangerous, it uses Status Display to provide game data to the screen, and simple key bindings set in game.
What you need to build this?

7.1 inch Touchscreen for Rasberry Pi. I used an Osoyoo model. In theory any brand should work. I left the cutout on the right side open to support as many models as possible. However don't trust my mounting holes to fit your screen. Double check them yourself.


1x Adruino Pro Micro


12x Cherry MX Switches


12x Cherry MX Keycaps. (You can print up your own of course. Not included here)


4x M3x16 mm Socket Head bolts.


A piece of double sided 3M wall tape. (the thick kind you use to hang pictures)

Wire, solder, and the knowledge of how to use it. I STRONGLY suggest getting 7 colors of wire. Why 7? Because we are doing a 3x4 matrix. 3 rows, 4 columns.
How to make it

Print the two pieces posted here. If you can't figure out this step. Just give up now.


Place each of the Cherry MX switches into the square holes in the top plate.


Wire the Cherry MX Switches to the Adruino in a 3x4 matrix pattern. Take note of the pin numbers you used. You will need this later. Be sure to leave room for placing the monitor into the top plate.


Place screen face down into the top plate. I suggest partially screwing the M3 bolts into the top plate and screen.


Put the double sided tape on the back of the Arduino and place it in the cutout slot. (I really hope you tested your connections before you got this far)


Then flip the monitor+cover over and lower it into the base. Make sure you are not pinching wires.


Screw the m3 bolts into the base.


Use the Arduino code pasted below and load it into the Arduino IDE. You will need to download and install the Keypad library.


Check the keybindings and pins used in the code below, you may prefer alternative key bindings.
#include #include #include
#define NUMROWS 3#define NUMCOLS 4
//define the symbols on the buttons of the keypadschar buttons[NUMROWS][NUMCOLS] = {{'y', 'u', 'o', 'p'},{'h', 'j', 'k', 'l'},{'b', 'n', 'm', ','},};
byte rowPins[NUMROWS] = {16,5,4}; //connect to the row pinouts of the keypadbyte colPins[NUMCOLS] = {6,7,8,9}; //connect to the column pinouts of the keypad
Keypad keypad = Keypad( makeKeymap(buttons), rowPins, colPins, NUMROWS, NUMCOLS );
void setup(){Serial.begin(9600);Keyboard.begin();}
void loop(){char key = keypad.getKey();
if (key != NO_KEY){Keyboard.write( key );}}

Tags