MobiFlight Community Support

Welcome to the forum for MobiFlight! Feel free to reach out to the community in case you have questions, issues or just want to share great ideas or details about your latest home cockpit project.

You like MobiFlight? Donate via PayPal and support the MobiFlight development. Thanks! 

icon
Avatar
HBilliet
Posts: 28
Supporter
I want to build my own A320 FCU, starting with a prototype to learn all the ins and outs of FSUIPC, MobiFlight, Arduino, ... whatever is needed. I'm still in study phase, and currently using JeeHell Airbus. My end goal is to build my own DIY A320 cockpit. I consider this as a 10 year project, and I'm only starting as a newbee.

One of the challenges for the FCU is finding the encoders. I searched forums and googled a lot, and I have some ideas, but would like to check with the experts here. So some questions below:

  • Finding encoders with push only is easy and cheap, but for push/pull, I seem only to find a few vendors and prices are in the range of 70 € each. Anybody here with some buying tips, partnumbers, vendors?
  • Has anybody ever "compromised" to use only push? By pushing you could "toggle" between managed and selected mode. It's not an accurate simulation, I know, but it differs a few 100 €. (I'm afraid that some hard core simmers will feel terrified now:scared: )
  • Has anybody information on how many steps per complete rotation these encoders should have? Is this 36, 24, ...? I think I once read somewhere that it is 20?
  • Has anybody a solution for the altitude selector knob, which needs an additional ring to select between 100 / 1000?


All feedback is very appreciated! Thanks a lot!
[Last edited by HBilliet, 2020-09-18 16:46]
2020-09-18 16:36
Avatar
pizman82
Moderator
From: ETSI, Germany
Posts: 5971
Supporter
Hi
Whatever you call yourself a newbee.... You still reach the first "problematic" spot in cockpitbuilding.
A LED or a simple button can be bought from thousends of shops. But there are more specific parts that are rare.... And there are parts that simply exist only one time in the world.... So if you like them you technical must buy a Aviation certificated element from Airbus that costs 800$ :P

So we have some ways and pretty sure we got for each way cockpitbuilders who build that system and be happy with it. It´s YOUR choice to choose for the best !

Way 1. Ignore a Function.
For example the Alt 100/1000 selector. Also some professional prebuild FCU ( lower price segment) do this. So that switch is not exist and simply ignored.
For me the whorst idea cause a missing system is always bad and not realsitic !

Way 2. Build it functional but in a different optic/feeling.
If you not use a premade Panel and you design your own, you can set another Input nearby... For example a Encoder and a 2 Position Switch or a Rotary switch net to it to build the ALT System of FCU. So no dual shaft knob.... Simply 2 Knobs..... Same for the Push/Pull Use a On Off Switch e.g. for IN/OUT next to it.
Also a tricky system like toggle with the Encoder Press Button between the 2 Modes is possbile in the software. So no Pull but the way to toggle between pull/push by press the button.
A good example here are the Rotary Switches. 30° are cheap. But Boeing B777 need 45° . Many People build just with 30° and ignore the wrong position on the panels.



Way 3. Buy The expensive switches. Most easy but most expensive solution.


Way 4. Build a replica that work 100% correct. Mostly mechanical
Thats the way most professional builders go.

For example the ALT selector is build like this..... https://www.youtube.com/watch?v=HpW8PD9R3XI
A cheap standard encoder and a roatry for less then 5$ and a self build housing and cogwheels from a CNC / 3D Printer.
You can buy those systems also premade on Cockpitbuilder shops..... Here the price is higher. Choose if you got machines to do this yourself.

For the Pull/Push also selfbuilds are possible. e.g. with 2 Microswitches and 2 springs..... The springs hold the Encoder ( in a housing) between 2 microbuttons.
If you push or pull the encoder it is press each a button. OR with a cogwheel and a cograil you can also build a latching system pretty sure.


EDIT: About the other question with the detents. Remeber the transmition to the Sim take some time. So you will not get a "perfect" feeling on a homecockpit like in the real Aircraft here. But same like above..... With a simple cockwheel you can rebuild every needed feeling you need.
If you got a 20 Detent encoder but you like only 10 detents per turning 360°..... Use 2 Cogwheels with a 2:1 gear and it will do what you need.
Good Luck !
2020-09-18 23:19
Avatar
HBilliet
Posts: 28
Supporter
@Pizman82

Thanks a lot for spending the time on answering in so much detail. You helped me a lot. Not only by providing me with some technical advice, but also because you made me realize that most DIY cockpit builders deal with these issues. So it's not only a "newbee thing", but something that is "pretty common".

I indeed found some "mechanical solutions" for the push/pull (I guess the method you mentioned), and the ALT solution on YouTube. I'm also planning to buy a CNC/3D printer, which I now realize is more than ever something required to make stuff yourself. But one step at a time:P

About the detents. That is the reason why I will start with some "cheap sample" to test what is working. In my opinion, there could be 2 possible ways to handle the rotary encoders:
1) Use pure incremental, which means that each step is immediatly sent as an increase/decrease command to the sim. But I can imagine that "fast turns" might give some issues because the software can't follow.
2) Have a more intelligent software that only sends "absolute" values to the sim within a certain time (example: each 200 ms - pure arbitrary guess for now). That means that the arduino software is "counting steps" and keeps track of the displayvalues itself, and then every 200ms sends the result.
I think that the second method could allow faster turnung of the knob because it is "skipping" some increments/decrements towards the sim. I don't know if "absolute" setting of ALT is possible (I guess it's writing to one of these data pipes), and it requires some more software skills. But that is exactly what I want to experiment with.

Exciting days to come:w00t:
2020-09-19 10:14
Avatar
pizman82
Moderator
From: ETSI, Germany
Posts: 5971
Supporter
Hi
This is not posible with Mobiflight.
MF got the simple logic to recive a input from Mega, and execute the specific command. It will not "combine" a number of inputs to send a final calculated value. Each Input is one Command. You can do this with own code.... But NOT within Mobiflight !

Your problem is basicly Jeehell here. Cause FMGS use a verry difficult and out of date system called Datapipe.

I try to explane:
Lets look on your Light switch in your Livingroom. If you technical be able to toggle it 500 times per second it will also toggle your light 500 times per second. Here we got a direct connection ..... Switch ON means Circuit cloese..... means Light is ON.

If we look on a Joystickbutton in a Standard Aircraft..... Here the Buttonpress goes to the joystickcontroller board within the Joystick. It deteckt teh buttonpress and send a Signal via USB/HID to Windows. Windows recive and offert this signal global to all Programms on the Computer. Finaly in the Sim you set a funtion to this button..... and it will be executed.
Here we got some more bypass..... But you can already do 20-50 Inputs per second pretty sure.

Now look on Jeehell via Mobiflight !
Here a Buttonpress ( Encoder detent) is detected by the Mega Chip.... It calculate the input in firmware and send it via Serial to the Computer. Here MF Connector recive and calculate the needed Command..... This command is send to FSUIPC . ( In that case of datapipe it must send 2 commands.... The Value and also the Function ID to a second Offset..... So 2 processes are needed) . THEN FSUIPC send this data to Simconncet (interface ) . there ( or in FSUIPC) the both data from datapipe are calculated to the final command. and finaly Jeehell recive this command and must execute it in the virtual FCU.

In easy words..... Jeehell Datapipe need many steps more as a lightswitch :-)
And thats the reason why you can not turn your encoder fast, cause there is a limitation of Inputs.... E.g. by the Loop time of Mobiflight or by the Polling Rate of FSUIPC.

Solution: Hopefully jeehell support this better in it´s FS2020 version. If not we should think about a Input via Joystickbuttons.... So we no longer need the Datapipe.
BUT.... Important to understand..... This Problem is not a basic trouble..... This is specialy in the Encoder via Datapipe in jeehell airbus ! So we not rebuild Mobiflight only cause one single Addon have a bad Input logic !

NOTE: there are also improvisional solutions.... For example we can use the ON FAST option in Mobiflight to send bigger steps. Lets try out !
Good Luck !
2020-09-20 12:52
Avatar
HBilliet
Posts: 28
Supporter
@pizman82

Just need some time to digest:D But I understand that due to the many steps, the process becomes slower. And the data-pipe concept of Jeehell is not helping.

Thanks for clarifying!
2020-09-20 16:23
icon