Hi everyone!
I created a customizable browser-based remote control for FlyByWire’s A32NX and thought I could share. It is free and works with any modern PC, tablet or phone.
The initial idea was that a co-pilot could assist me while flying in VR, so I would never have to use the mouse or do other immersion breaking tasks. That worked great and now I even use it when flying with a monitor, as it is just so much more convenient than panning around the cockpit all the time.
You can download it via GitHub: https://github.com/paulalexandrow/a32nx-webremote
Hope it is of good use to someone else too and feedback is always welcome of course!
Edit
There is a video showing the full setup process on YouTube: https://youtu.be/_fMCXbj3bt8
12 Likes
Short bump:
I just updated to the first release version, v1.0.0. 
Please note, that the setup process consists of one extra step now (copying or symlinking myOffsets.txt), that also needs to be taken when upgrading.
Bump: v2.0.0 is out and adds almost all of the overhead panel and some of the pedestal.
1 Like
Well done. I’m a retired developer and really appreciate what you have done.
Using a portable 15.6in touchscreen a functional overhead panel is possible. With background images and a generic widget for Korry switches it could be a realistic and immersive solution. The load on the graphics FPS is virtually zero.
I never realized all those functions could be scripted on a web browser - somebody at FBW did some excellent architectural work. The remote MCDU is a masterstroke of innovation.
What is the response time for inputs? Are there any latency issues?
Thanks for your feedback. Honestly, I never thought much about responsiveness, as it was never an issue i.e. it is much faster than what a human could possibly perceive as a delay. (At least if run in a LAN or locally on the same machine, both of which are included in my setup.)
I managed to get FSUIPC7 running with the WebSockets server locally.
My immediate reactions:
Very comprehensive, I like the sliders for brightness control
Buttons are large, felt like 67% was better. But that’s on a 43in HD TV.
There is a slight delay on my old Xeon quad core, locally.
Each ECAM button worked and lit up on MSFS. However the lower ECAM screen did not update in sync. I’d wager the dreaded Windows keyboard capture was an issue.
For some reason Heading did not update but SPD, ALT, VS did:
However, its a great step forward and early days.
There is good potential for expanding the Javascript in your design. I don’t do VR so have a different agenda; I’d want more realism.
I also tried to install IIS. The defaults did not include the IIS Manager. Configuration was very difficult, I expect the average user would give up (sorry average user).
When I test from the IIS Manager I get a bland “websockets error”.
The path is:
C:\FSUIPC\a32nx-webremote-2.1.0\a32nx-webremote-2.1.0\web
On my phone 192.168.0.18 (the real IP address of //Flightsim) says not found.
IIS Manager says:

I’ve granted Everyone read access. That usually works to share a folder to anywhere and anyone.
Also now, after installing IIS, local access fails when I click on Index.html
I tried to reproduce the two bugs you mentioned, but to no avail.
- In regards to the ECAM issue: if the buttons light up correctly, then I would assume everything has been sent to the FBW correctly and there would be a bug there. But again, with the current development version (8be855c) I did not encounter any problem with the lower display. I am not familiar with this keyboard capture issue though.
- Also in a quick test the heading always updated correctly for me. Could you kindly confirm that you run the newest development version of FBW and try again? If the error persists, it would be very helpful if you could provide the exact steps to reproduce it (in what state did you start MSFS/FBW, what did you do then, what do FCU and FMA show when it occurs, …). Also no other plugins or keyboard bindings that might interfere with the heading should be loaded.
Thanks! I think if you are somewhat skilled in CSS, especially if you only need to target one specific monitor/setup, you could achieve a lot with plain CSS, before you even need to touch the HTML or script. Basically you could override everything and do absolute positioning with an “!important” flag.
I agree the IIS is an absolute joke when it comes to usability. I only recommended it, because it is kind of bundled with Windows and I wanted to reduce the use of third party tools as much as possible.
A much better option for someone like you, who I understand has some technical background, would probably be to set up an NGINX instead. However I never did that myself, so you would be on your own.
If you have set up the IIS following the example configuration from the README.md, I would guess the WebSocket URL from your screenshot is not correct. It should not reflect any physical folder but rather the pattern as set in the UrlRewrite configuration. So for me it is “ws://Flightsim/fsuipc/” because my pattern is “fsuipc/(.*)”.
I rembember IIS is behaving quite strangely in that regard. Maybe try to authorize the specific user IIS is running as. Also a restart could be required.
I receive a lot of feedback about the whole IIS setup being quite cumbersome, which I totally agree with. To remedy this, I intent to make a YouTube video where I go through all steps, but it will be at least another couple of weeks, before I’ll find the time to do that.
Ok I’ll make a record of exact steps
Keyboard/mouse focus: Windows will only send events to one window, whichever is active with keyboard/mouse capture.
Without capture/focus WM_MOUSEUP etc messages maybe lost. In turn that can mess up the GUI.
Perhaps MSFS got confused.
But as you implied the development version may have these issues resolved. I’ll try the dev version later.
I agree the HDG issue is bizzare.
As for ISS and WebSockets I may have the path incorrect. Will try later.
Using the latest dev version (8be855c) the bugs with heading and ECAM have gone away.
One issue I just noticed is that the FCU does not display its mode, HDG V/S or TRK FPA.
As for editing the CSS, that gets crazy quickly. Many users will want to scale the display for a variety of reasons. I was testing with Chrome overlapping MSFS on the same monitor and ran out of space quickly.
I’ve given up on IIS.
The physical path I used was:
C:\FSUIPC\a32nx-webremote-2.1.0\web
because that’s where index.html is.
I really don’t understand what IIS is doing or how it interacts with FSUPIC or WebSockets
Great to hear at least the two bugs disappeared for you!
As far as IIS is concerned I think the best is really to wait for my tutorial setup video. I’ll try to be fast, but I can’t make any promises at the moment.
Paul I’m grateful for what you have achieved. There’s no need to rush out a video, I’m learning a lot regardless.
I see that index.html quickly displays the initial page for a split second. Then it seems like a call back from Javascript fails, probably a WebSockets query, then the error page is drawn. Next time I’ll run the Chrome debugger F12 to zone into the error.
Have you seen the remote A32NX MCDU in a browser? It’s very cool. It would be interesting to see if that server can be queried directly.
There seem to be plans to expand the A32NX server, as there is a hierarchical path to the MCDU page - one of many I hope.
Yes, I know the MCDU and actually it was the main inspiration for my tool. It is also my impression, that at some point they might provide the full cockpit experience that way, but not yet, so this is why I created WebRemote, as I couldn’t wait. Their API can be queried, but for now it does not expose cockpit controls, otherwise the whole setup thing could be a walk in the park of course.
A Javascript page could do the engine display efficiently, maybe also the PFD. Hope springs eternal.
All aircraft displays are efficient 2D drawings, rendering them in 3D wastes GPU resources for a cockpit builder…but you knew that!
Dear All, i try to use it on my Mobile-Tablet but i cant get acces… if i try it on a browser on my local pc it works fine … but if i try to connect via tablet i doesent … any idea what i do wrong???
Just to confirm: You did follow the setup guide using IIS including the extensions to forward WebSocket requests from outside the server?
I tried… but i thing i made something wrong … i dont understand the instructions fully correct i think
If you say it works fine locally - that is with the full setup according the guide? So in other words: is the full setup working, but not form the outside, or not at all?