Jump to content

Recommended Posts

Posted (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.

Hotas Panel.png

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.

Layout wiring.png

Layout.png

What is better for me, making a connection matrix in Arduino or developing a custom microcontroller for the independent connections?

Edited by SirioAstarot
Add more details
Posted

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

Catalog .jpg

Posted

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?

Posted

@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

Catalog .jpg

Posted (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 by Scott-S6
Posted
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:

  1. Arduino Nano ESP32 with headers with Nano Screw Terminal Adapter
  2. Arduino MKR WiFi 1010 with Arduino MKR Connector Carrier
  3. Arduino Pro Portenta C33 with Portenta Mid Carrier
  4. 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.

Posted (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 by Scott-S6
Posted
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

  • Like 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

Catalog .jpg

  • 3 weeks later...
Posted

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.

 

Hotas Sirio.png

 

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.

Posted (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 by Scott-S6
  • Like 1
Posted (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 by prccowboy
  • Like 1
  • Recently Browsing   0 members

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