SirioAstarot Posted November 10, 2024 Posted November 10, 2024 (edited) Good morning virtual pilots, I have a personal project and I would like to know your opinions and if what I am doing is possible. The project is in the planning phase, with the idea of building a control panel for different flight simulators, based on Arduino, the development is designed to be versatile, complete and compatible with all flight simulators, both civil and military, air combat and radio. For this to be possible, I can do 2 options that I am determined to build, depending on the difficulty. - 1st Option: An Arduino Nano ESP32 with headers and matrix connection. - 2nd Option: Design a PCB with a microcontroller and pins for the connection of the components, together with their corresponding GND output. Layout Wiring For the second option, the layout It consists of independently connecting all the pins, together with their corresponding ground (GND): Pins and wiring (include GND) ON-OFF Toggle Switch: 7 x 2pin = 16 Pin IN ON-OFF-ON Toggle Switch: 7 x 3pin = 21 pin IN Pushbutton: 12 x 2pin = 24 pin IN Rotary Encoders with push button: 3 x 2 pin = 6 pin IN Rotary Switches 5 Pos: 2 x 6pin = 12 pin IN Total Pins IN: 79 include GND at each connector. What is better for me, making a connection matrix in Arduino or developing a custom microcontroller for the independent connections? Edited November 11, 2024 by SirioAstarot Add more details
Nightdare Posted November 12, 2024 Posted November 12, 2024 I believe a Arduino can handle 51 connections? Since you're not using pots, you could manage with a Leo Bodnar BBI-64 You'd technically only need 2 ground pins with that I believe (left and right row), and ground doesn't take away any terminals So subtracting those, you only need 7x ON-OFF Toggle Switch: 7x 7x ON-OFF-ON Toggle Switch: 14x 12x Pushbutton: 12x 2x Rotary Encoders with push button: 6x (2x L/R+push) 2x Rotary Switches 5 Pos: 10x Total 49 connections This means you have enough terminals on the board free to make all your On-Off-On and On-Off toggles, On-On-On and On-On (63 connections and add 1 led to see if it's on) Or add a whole slew of other knobs and buttons Intel I5 13600k / AsRock Z790 Steel Legend / MSI 4080s 16G Gaming X Slim / Kingston Fury DDR5 5600 64Gb / Adata 960 Max / HP Reverb G2 v2 Virpil MT50 Mongoost T50 Throttle, T50cm Base & Grip, VFX Grip, ACE Interceptor Rudder Pedals w. damper / WinWing Orion2 18, 18 UFC & HUD, PTO2, 2x MFD1 / Logitech Flight Panel / VKB SEM V / 2x DIY Button Box
SirioAstarot Posted November 13, 2024 Author Posted November 13, 2024 Hi Nightdare, so if the pins are independent, the ground (GND) connections, is it better to count them in series? Is a serial or parallel connection better? I have two options depending on what is easier: Arduino Nano ESP32 with headers with Nano Screw Terminal Adapter Arduino Portenta C33 with Portenta Mid Carrier I'm not sure if the Shields are enough or too many, Is it safe to make serial connections?
Nightdare Posted November 13, 2024 Posted November 13, 2024 @SirioAstarot The Bodnar BBI is not like an Arduino, much more plug and play and no programming apart from a small utility program to designate/filter encoders, designate HATs, etc. 64 '+' pins, so 1 pin per function, and though there are 64 '-' pins as well, they share 1 (or 2) common rails, you basically connect all grounds to one-another I wired both my home baked creations grounds in groups of serial connections, in the end using only 3-4 of the ground pins Intel I5 13600k / AsRock Z790 Steel Legend / MSI 4080s 16G Gaming X Slim / Kingston Fury DDR5 5600 64Gb / Adata 960 Max / HP Reverb G2 v2 Virpil MT50 Mongoost T50 Throttle, T50cm Base & Grip, VFX Grip, ACE Interceptor Rudder Pedals w. damper / WinWing Orion2 18, 18 UFC & HUD, PTO2, 2x MFD1 / Logitech Flight Panel / VKB SEM V / 2x DIY Button Box
Scott-S6 Posted November 14, 2024 Posted November 14, 2024 (edited) You say the goal is maximum compatibility but you're proposing on-off-on switches which are less compatible than on-on-on. I would definitely suggest changing that. I also don't see why you're intending to go with arduinos over simpler solutions unless you are planning some functionality you haven't mentioned which requires them. If you aren't then the BBI64 will be far simpler for you. Or you could go with a pair of boards if you wanted some analogue axis in there. A couple of analogue rotaries is worth considering, sometimes you just can't get the behaviour you want with rotary encoders. Edited November 14, 2024 by Scott-S6
SirioAstarot Posted November 14, 2024 Author Posted November 14, 2024 hace 23 horas, Nightdare dijo: @SirioAstarot The Bodnar BBI is not like an Arduino, much more plug and play and no programming apart from a small utility program to designate/filter encoders, designate HATs, etc. 64 '+' pins, so 1 pin per function, and though there are 64 '-' pins as well, they share 1 (or 2) common rails, you basically connect all grounds to one-another I wired both my home baked creations grounds in groups of serial connections, in the end using only 3-4 of the ground pins Hi Nightdare, the Leo Bodnar BBI-64 Button Box Interface It's simple to get started with, but it's a HID device, so it only supports digital buttons, it doesn't allow me to communicate directly with the device, so I need a controller to assign it the functions I need, for example, having a button light up when I press it. hace 7 horas, Scott-S6 dijo: You say the goal is maximum compatibility but you're proposing on-off-on switches which are less compatible than on-on-on. I would definitely suggest changing that. I also don't see why you're intending to go with arduinos over simpler solutions unless you are planning some functionality you haven't mentioned which requires them. If you aren't then the BBI64 will be far simpler for you. Or you could go with a pair of boards if you wanted some analogue axis in there. A couple of analogue rotaries is worth considering, sometimes you just can't get the behaviour you want with rotary encoders. Hi Scott, My choice of Arduino is because I learned to use it in my career, it is what I know how to use, not only in programming, but also in simulation, I do the entire environment in MATLAB and Simulink for development, testing and simulation before final mass manufacturing. Boards like the Arduino Nano ESP32 with headers with Nano Screw Terminal Adapter or any other compatible base adapter (to add more components in the future), allow me to design a bidirectional communication interface, which when pressing a backlit button, turns white, as well as design a screen that displays numbers and other data. My project is based on a control panel for flight simulators, not only for DCS but also for other air combat, space and civil flight simulators, such as: Elite Dangerous Star Citizen Eve Online Star Conflict No Man’s Sky Everspace 2 Star Wars Eclipse Ace Combat 7 DCS World Microsoft Fligth Simulator 24 X-Plane 12 Project Wingman X4 War Thunder Avorion I was also analyzing several alternatives regarding plates and extensions: Arduino Nano ESP32 with headers with Nano Screw Terminal Adapter Arduino MKR WiFi 1010 with Arduino MKR Connector Carrier Arduino Pro Portenta C33 with Portenta Mid Carrier Custom PCB with several IO and SMTmicroelectronics I will make the connections with male-male jumper wires, to connect them directly, because I don't have a soldering iron. I will take into account your recommendation about the ON-ON-ON switchers, I think they will be better for selectors for example (changing the Com1-Com2-ADF radio), HUD Management Panel, etc... If you say that analog rotary encoders work better I will change them, so they can work better in selecting the radio frequency and other controls when needed.
Scott-S6 Posted November 14, 2024 Posted November 14, 2024 (edited) Ideally you want both rotary encoders and analogue dials. Some sims/games/modules work better with one or the other.. You still haven't made an argument for why Arduino other than familiarity in programming them which doesn't really matter if the alternative is something that doesn't require programming. If you're not planning any functionality that can't be provided by a simple USB interface board then what's the point? If you are then it makes sense - for example you could have virtual analogue outputs bound to the rotary encoders so that one control can be either (as virpil, for example, offers). Edited November 14, 2024 by Scott-S6
Nightdare Posted November 14, 2024 Posted November 14, 2024 2 hours ago, SirioAstarot said: Hi Nightdare, the Leo Bodnar BBI-64 Button Box Interface It's simple to get started with, but it's a HID device, so it only supports digital buttons, it doesn't allow me to communicate directly with the device, so I need a controller to assign it the functions I need, for example, having a button light up when I press it Ah yes, that is one thing you can't make a BBI do, and I can understand the Arduino challenge, I kinda want to try something with such a board as well in the future If there are tips I can give for the layout: -Maybe make a 'ten-key'-type layout for the push buttons, familiarity with a keyboard numpad will aid muscle memory, even not in VR, not having to look what/where you are pressing helps -In that same vein, put a few toggles 'away' from the group, this will isolate some dedicated functions you don't want to confuse with the others -Wires, ...get silicone, don't go for the cheapest, also, don't go for the shortest wires, I found 200mm was at some points barely enough to connect the wires to the center mounted board in my 200x120mm case, BTW, if you get male/female connector wires, it's easy to lengthen them and secure the connection with heat shrink tube instead of solder -Some 12mm pushbuttons are somewhat too small in ergonomic comfort for adult fingers, also keep that in mind concerning spacing of knobs and switches -Don't drill too close to the edges or other holes 1 Intel I5 13600k / AsRock Z790 Steel Legend / MSI 4080s 16G Gaming X Slim / Kingston Fury DDR5 5600 64Gb / Adata 960 Max / HP Reverb G2 v2 Virpil MT50 Mongoost T50 Throttle, T50cm Base & Grip, VFX Grip, ACE Interceptor Rudder Pedals w. damper / WinWing Orion2 18, 18 UFC & HUD, PTO2, 2x MFD1 / Logitech Flight Panel / VKB SEM V / 2x DIY Button Box
SirioAstarot Posted December 5, 2024 Author Posted December 5, 2024 I changed my mind, I have searched a lot about MCUs and the types of signals and protocols they support, there are some that are easy to program like the ESP32 supported by Arduino IDE, like SAMV7 or STM32, but there are other environments like Flowcode and MATLAB, which is what I am using, to dump code in C++ or directly to the device. But I have a problem, the development boards are too small and the big ones are complicated because they have jack connectors for power supply, USB 2, ethernet, and the connection pins are combined, there are no development board models on the market that have exclusive pins. In addition to buying cables and a soldering iron to do everything myself, so I am forced to send the Geber file to an assembler with the design made by me. Here I have a sample of my own peripheral for my flight simulator, the most complete possible. This allows me to reduce production costs and simplify development, have a single design for all the device's functions, use them in a personalized way, with buttons, switches and switches that are fully assignable by the user, in any simulation video game, be it DCS, Elite Dangerous or MSFS24. The microcontroller chosen to complete this type of design in the schematic is the following: STM32H757XI Dual core ARM Cortex M7 and M4 2MB Flash Memory 168 GPIO 4 types internal oscilators Digital: 4x I2C, 5x USART, 4x SAI, 2x USB OTG, HDMI Analog: 3x ADC 16 bits, 2x DAC 12 bits, 2× ultra-low-power comparators, 2× operational amplifiers, 1× digital filters for sigma delta modulator (DFSDM) with 8 channels/4 filters LCD-TFT controller 1024x768px, 256 colours With all these features I can have the flexibility to program any HOTAS similar to those of the competition, even far exceeding the functions available on the market, achieving maximum performance without compromising reliability, even incorporating a 3.5" XGA display to view coordinates, or VHF frequencies or any data with 85x38 characters. The possibilities that this versatile MCU will allow me to achieve are beyond the budget of casual gamers, even for DCS or MSFS24, it could be more intended for Prepar3D v6 and flight schools. But oh well, What do you think, would you buy a peripheral like this? How much are you willing to spend for this semi-pro equipment? I accept changes or suggestions. My best regards.
Scott-S6 Posted December 6, 2024 Posted December 6, 2024 (edited) I think you should actually make one, even if somewhat messy, and put some hours on it before you start looking at having boards made. Your ideas will change once you put your prototype to use. You should also get your software into a decent state as well. "even far exceeding the functions available on the market" - what functions are you planning that are not available? Edited December 6, 2024 by Scott-S6 1
prccowboy Posted December 7, 2024 Posted December 7, 2024 (edited) 16 hours ago, Scott-S6 said: Your ideas will change once you put your prototype to use. What he said. I'm on my 4th GEN button box and although I like it, I would still change some things. Also, you should consider your use cases and ergonomics for the panel; ex: it is probably not suitable for VR users (too hard to identify which of 18 buttons you are pressing without tactile feedback). Why so many push buttons together, do you want to have cdu panel keyboard style input? (if so, you might change the layout) the flip cover switches may require additional clearance above, so placing a button directly above could result in accidentally closing the cover, etc. build a prototype, play with it and you will find things you will want to change to make it more to your liking Edited December 7, 2024 by prccowboy 1
Recommended Posts