BallistaMilsim Posted January 30, 2023 Posted January 30, 2023 Hi, I would like to share a MFD I built to fly in VR. The buttons have small ridges (homing bars) that help to locate them by touch. https://github.com/ballista-milsim/MFD.F16 This is a work in progress of F16 similar MFD suitable for VR. Printed with Anycubic Cobra. Uses 1x Arduino Pro Micro (atmega32u4) with a micro USB wire, 28x standard 6mm momentum push buttons. Standard coated wire and paper clips for wiring. 10x mini screws to hold the box and 2x 8mm bolts for the table mount. On the screenshot below is WIP version with Arduino reset button in the center. 5
BallistaMilsim Posted February 16, 2023 Author Posted February 16, 2023 (edited) Something else I'm currently testing. Do you recognize it? Edited February 16, 2023 by BallistaMilsim 6
rfrogman Posted March 5, 2023 Posted March 5, 2023 (edited) I am also working on a 3D-printed ICP for my F-16 cockpit. I have found several versions, and I selected one that will use a Teensy 4.0 board, but no one has a wiring diagram. The best I found was the code file for programming the Teensy. Can you show us how you wired yours up? Edited March 5, 2023 by rfrogman
BallistaMilsim Posted April 7, 2023 Author Posted April 7, 2023 I don’t have the wiring scheme. It’s a simple button matrix. Here’s the photo. https://imgur.com/a/I6xWaUZ
Droning_On Posted May 8, 2023 Posted May 8, 2023 looking good ..... im looking at 3D printed ICP too.. Spoiler AMD Ryzen 5 5600x [OC_4750Mhz 1.285v All Core], AMD Rx6700XT 12GB, 32Gb DDR4_3200 CL16, M.2_NVMe(OS) + 1TB M.2 SSD for DCS install , Delan opentrack IR, QHD 1440p@75Mhz 32" HDR Monitor. Hotas heavy modded T.Flight Hotas One - 3D printed Mods. 3D Printed Pedals 3D prinded Delan Clip, Spitfire Athentikit Spade, trims & throttle Mk iX controls. Future mods…Upgrade T.flight to Hall sensors…more switches….F-16 ICP, Spitfire/Mossie switch labels and future Athentikit Spit Mk iX controls.
eatthis Posted September 9, 2023 Posted September 9, 2023 On 1/30/2023 at 1:59 PM, BallistaMilsim said: Hi, I would like to share a MFD I built to fly in VR. The buttons have small ridges (homing bars) that help to locate them by touch. https://github.com/ballista-milsim/MFD.F16 This is a work in progress of F16 similar MFD suitable for VR. Printed with Anycubic Cobra. Uses 1x Arduino Pro Micro (atmega32u4) with a micro USB wire, 28x standard 6mm momentum push buttons. Standard coated wire and paper clips for wiring. 10x mini screws to hold the box and 2x 8mm bolts for the table mount. On the screenshot below is WIP version with Arduino reset button in the center. do i need to arduino reset button? On 2/16/2023 at 1:40 PM, BallistaMilsim said: Something else I'm currently testing. Do you recognize it? do you have the stl (or cad file) for the pot knobs pretty please 7700k @5ghz, 32gb 3200mhz ram, 2080ti, nvme drives, valve index vr
BallistaMilsim Posted October 9, 2023 Author Posted October 9, 2023 (edited) On 9/9/2023 at 6:50 PM, eatthis said: do i need to arduino reset button? I rarely use it. It was only for test version. On 9/9/2023 at 6:50 PM, eatthis said: do you have the stl (or cad file) for the pot knobs pretty please https://github.com/ballista-milsim/ICP.F16 https://github.com/ballista-milsim/ICP.F16/blob/main/src/ICP/ICP.v2.step Edited October 9, 2023 by BallistaMilsim 1
eatthis Posted October 13, 2023 Posted October 13, 2023 On 10/9/2023 at 10:04 PM, BallistaMilsim said: I rarely use it. It was only for test version. https://github.com/ballista-milsim/ICP.F16 https://github.com/ballista-milsim/ICP.F16/blob/main/src/ICP/ICP.v2.step thanks alot 7700k @5ghz, 32gb 3200mhz ram, 2080ti, nvme drives, valve index vr
Gunslinger52 Posted January 26 Posted January 26 On 1/31/2023 at 2:59 AM, BallistaMilsim said: Hi, I would like to share a MFD I built to fly in VR. The buttons have small ridges (homing bars) that help to locate them by touch. https://github.com/ballista-milsim/MFD.F16 This is a work in progress of F16 similar MFD suitable for VR. Printed with Anycubic Cobra. Uses 1x Arduino Pro Micro (atmega32u4) with a micro USB wire, 28x standard 6mm momentum push buttons. Standard coated wire and paper clips for wiring. 10x mini screws to hold the box and 2x 8mm bolts for the table mount. On the screenshot below is WIP version with Arduino reset button in the center. Hi there, I am considering doing something like you did, but with a Meta Quest 3 (due to the passthrough). I'd like to print out the Apache MFD's, as well as F-15 and F-16. What I'd like, is to be able to 'Swap out' the cockpit setups, while retaining the same Arduino for all 3 cocpit layouts. Do you know if the Arduino can save and load different 'profiles', so I can swap the screens, load the correct profile, and have the correct inout recognised by DCS? Thanks '52 i7-11700F 64GB RAM RTX3060 WIN 11 Pro HP Reverb G2 Meta Quest 3 TM Cougar & Logitech X56
Mr_Burns Posted February 10 Posted February 10 (edited) On 1/26/2025 at 5:11 PM, Gunslinger52 said: Hi there, I am considering doing something like you did, but with a Meta Quest 3 (due to the passthrough). I'd like to print out the Apache MFD's, as well as F-15 and F-16. What I'd like, is to be able to 'Swap out' the cockpit setups, while retaining the same Arduino for all 3 cocpit layouts. Do you know if the Arduino can save and load different 'profiles', so I can swap the screens, load the correct profile, and have the correct inout recognised by DCS? Thanks '52 You might get better chance of response on the home cockpit thread. I don’t know the answer but wouldn’t it be almost as quick just to load the different bios each time in full, wiping the last one? Arent they dirt cheap? I bought a lot of them when I was making my F-18 and don’t recall them costing much? Will post you a few if you are in Australia, I know not everyone has the same budget. Edited February 10 by Mr_Burns
Gunslinger52 Posted February 12 Posted February 12 On 2/11/2025 at 10:27 AM, Mr_Burns said: You might get better chance of response on the home cockpit thread. I don’t know the answer but wouldn’t it be almost as quick just to load the different bios each time in full, wiping the last one? Arent they dirt cheap? I bought a lot of them when I was making my F-18 and don’t recall them costing much? Will post you a few if you are in Australia, I know not everyone has the same budget. Ahhrr thanks Mr_Burns, will look over at that thread. Will look at the price, if cheap enough, then yes that would be simplest. Can you give your devices unique names, so that I will recognise them in DCS settings? Cheers '52 i7-11700F 64GB RAM RTX3060 WIN 11 Pro HP Reverb G2 Meta Quest 3 TM Cougar & Logitech X56
No1sonuk Posted February 15 Posted February 15 (edited) On 1/26/2025 at 6:11 AM, Gunslinger52 said: Hi there, I am considering doing something like you did, but with a Meta Quest 3 (due to the passthrough). I'd like to print out the Apache MFD's, as well as F-15 and F-16. What I'd like, is to be able to 'Swap out' the cockpit setups, while retaining the same Arduino for all 3 cocpit layouts. Do you know if the Arduino can save and load different 'profiles', so I can swap the screens, load the correct profile, and have the correct inout recognised by DCS? Thanks '52 I've only just seen this - as intimated by Mr_Burns, the Home Cockpits page would have found an answer sooner. There are a few ways I can think of to configure MFD buttons-only devices for multiple modules. 1) (DCS-BIOS) Use this code block to detect the aircraft name and set a variable for your button code to read and send appropriate messages: void onAcftNameChange(char* newValue) { /* your code here */ } DcsBios::StringBuffer<24> AcftNameBuffer(MetadataStart_ACFT_NAME_A, onAcftNameChange); However, this result in a lot of code as you need to program all the messages, and if you add a new module (or even a second seat in the ones you have), you need to add all that code too. 2) (DCS-BIOS) Ignore that and just send ALL of the button press codes. DCS will ignore codes it doesn't recognise. e.g. DcsBios::Switch2Pos cpgMpdLL1("CPG_MPD_L_L1", 3); DcsBios::Switch2Pos mfdL1("MFD_L_1", 3); DcsBios::Switch2Pos fMpdLB1("F_MPD_L_B1", 3); This will send the status of pin 3 to all three DCS messages ("CPG_MPD_L_L1", "MFD_L_1", "F_MPD_L_B1"), but DCS will only obey the one relevant to the module you're flying. BUT, like #1, it'll result in a lot of code. BTW, this option is useful for some things like master caution resets. Some modules even share the same message, so you'd only need that once. 3) The one I recommend: Abandon DCS-BIOS for this unit. Make a HID (Human Interface Device). Use an Arduino that can appear to the PC as a game controller, then you use the DCS controls configuration screen to set up each module you use. This option also makes it possible to easily add another module without a massive coding effort, as well as use the device on anything else on the computer that uses game controller inputs. Generally speaking, this means you'll need an Arduino that has a 32u4 processor, like a Pro Micro or Leonardo. There may be other options, such as EPS32s, but I've never tried those. Nanos and Uno R3s can't do it, but the new Uno R4 can - the processor is different to the Uno R3 and Nano. This video includes how to rename Arduino Micro based HIDs: Edited February 15 by No1sonuk 2
Gunslinger52 Posted February 16 Posted February 16 On 2/16/2025 at 9:52 AM, No1sonuk said: I've only just seen this - as intimated by Mr_Burns, the Home Cockpits page would have found an answer sooner. There are a few ways I can think of to configure MFD buttons-only devices for multiple modules. 1) (DCS-BIOS) Use this code block to detect the aircraft name and set a variable for your button code to read and send appropriate messages: void onAcftNameChange(char* newValue) { /* your code here */ } DcsBios::StringBuffer<24> AcftNameBuffer(MetadataStart_ACFT_NAME_A, onAcftNameChange); However, this result in a lot of code as you need to program all the messages, and if you add a new module (or even a second seat in the ones you have), you need to add all that code too. 2) (DCS-BIOS) Ignore that and just send ALL of the button press codes. DCS will ignore codes it doesn't recognise. e.g. DcsBios::Switch2Pos cpgMpdLL1("CPG_MPD_L_L1", 3); DcsBios::Switch2Pos mfdL1("MFD_L_1", 3); DcsBios::Switch2Pos fMpdLB1("F_MPD_L_B1", 3); This will send the status of pin 3 to all three DCS messages ("CPG_MPD_L_L1", "MFD_L_1", "F_MPD_L_B1"), but DCS will only obey the one relevant to the module you're flying. BUT, like #1, it'll result in a lot of code. BTW, this option is useful for some things like master caution resets. Some modules even share the same message, so you'd only need that once. 3) The one I recommend: Abandon DCS-BIOS for this unit. Make a HID (Human Interface Device). Use an Arduino that can appear to the PC as a game controller, then you use the DCS controls configuration screen to set up each module you use. This option also makes it possible to easily add another module without a massive coding effort, as well as use the device on anything else on the computer that uses game controller inputs. Generally speaking, this means you'll need an Arduino that has a 32u4 processor, like a Pro Micro or Leonardo. There may be other options, such as EPS32s, but I've never tried those. Nanos and Uno R3s can't do it, but the new Uno R4 can - the processor is different to the Uno R3 and Nano. This video includes how to rename Arduino Micro based HIDs: Brilliant, thanks No1sonuk. Will give it a bash. i7-11700F 64GB RAM RTX3060 WIN 11 Pro HP Reverb G2 Meta Quest 3 TM Cougar & Logitech X56
Recommended Posts