Kinetic SBS-1 Support
 Feelthere Support
 IVAO DE Support

ERJ145 Flightdeck Interface for FS2004

Updated: October 12, 2013

Recommended ERJ145 home-built websites Luxembourg Paul's Junglejet VPilot

October 12, 2013

First fit check of laser cut display frames and acryl screens


July 20, 2013

Some Conrad links repaired.
Things come back with a laser cutter shop identified at reasonable costs.

July 24, 2011

Things come together. A second 17" monitor was shot at ebay and connected to a Y-splitter cable to mirror the left hand panel. Well, actually it does not mirror, but only copy, so we have to live with the PFD and MFD being in reverse order in future. The trick with the splitter is, you have to brutally cut pins 6 and 7 from one end's connector of one DVI cable, so this monitor will not send its capability data to the computer on boot. This would seriously mix things up, but after the surgery everything runs smooth. The MCP sits a bit on the high side, that needs to be reworked next.

When the programmer and configurator wants to sit in a warm and lovely place he goes upstairs and connects to the flightdeck computer via logmein. This works very well and logmein can display all monitors remotely. Remember we have the two outer DVI monitors as the primary display, then there is the central VGA monitor and we also have the invisible virtual display that was installed via Zonescreen. Logmein can display the virtual display, too, so configuration work is easy (click to enlarge image).

July 15, 2011

Today we have got a cheap second screen with the right size (18,5", but 16:9). The PFD, MFD, EICAS and RMUs are well placed and we are ready to cut the main instrument panel. FS9 was stripped from any scenery and there is a third virtual monitor that accepts the FS9 overhead panel and the FS9 main panel with the MCP. We will need this virtual monitor later to "read" the MCP and OVHD LEDs and click its buttons.

July 14, 2011

The PC is where it belongs. First touch and feel of a flight deck. And, we have a floor


July 13, 2011

The new approach (thanks to AT at for his drawing support)

January 18, 2009

Overhead panel

Slow, but at least some progress on the overhead. The transfer letter thing didn't work out that good, so for the next subpanels there will be a printed sheet covered by plexi glass. Starting with the voice recorder, the electrical panel and the wipers. What you see are just a black and white fitting samples.

September 02, 2008

Overhead panel

Bottom row sub-panels were manufactured from plywood, painted and endorsed. (Pictures to follow soon)

Overhead panel component directory:

Switches with fixed lever  
A fixed lever is required to glue the light switch cover onto these switches. Most cheap switches have levers that turn. The following switches have a fixed lever axis: APEM 5636A . These switches are available from Farnell 1082299 .

Landing light switch cover  
The only such covers I have found are from . These covers are unpainted and a hole of 3 mm needs to be carefully drilled to glue them onto the switch lever. Paint should be black with the three spots in silver. The covers are quite expensive but there doesn't seem to be an alternative. See here for more details.

There are also other interesting knobs on that can be used for the MCP.

MIP functions and RMU

text and pictures to be added

May 25, 2008

RMU electric panel completed and fully operational.

  • All hardware buttons 1L-6L and 1R-4R plus the dual rotary encoder are working ok

  • 5R and 6R were left out, because there is no real use for them

  • The double line of four buttons at the bottom is also still missing

  • A total of 2 PCB boards with 6 microprocessors is operational now

the RMU panel

the original RMU

FS2004 as tuned by the new RMU panel

Dual rotary encoder (for RMU)  
Alps 11mm size metal shaft encoder p/n EC11EBB24C03

can be purchased at (1 ea. 23.00 € incl. VAT) or at (1 ea. 20.00 € incl. VAT)

Push buttons with rectangular cap (for RMU)  
Conrad 707600 (black) (1 ea. 0.42 €) & 707899 (1 ea. 0.21 €)

Push button (flat version, for MCP, RMU)  
Conrad 707651 (black) (1 ea. 0.42 €)
Push button (with lighted stripe, for overhead panel)  
RS Components (details tba)  


May 02, 2008

FGC and DCP panels completed.

  • All hardware buttons, rotary switches and announciators are working ok

  • What's missing are proper front panels

  • The remotesim.dll was also upgraded

  • Next steps: PFD, ND and RMU buttons and rotary switches to be connected

Knobs for rotary switches:

  • We have tried to make upfront orders for all parts that may be required during the project. For the rotary switches on the overhead panel we can recommend the following knobs (more recommendations to follow)

Knobs for rotary switches (overhead panel)  
Knob K1 C-737-B-01S-0510E by Sismo Soluciones S.L.  (5 ea. 25.00 € + VAT)

These knobs come painted. The pointer line is from printed paper that is glued and a bit sensitive to mechincal stress, but fair enough for our purposes..

Buttons/Lights for Master Warning and Caution  
Conrad 706353  (1 ea. 10.70 €) (2 contacts, 1 lamp 24V) 

Full panel view. The panel is made from 8 mm plywood. The Master Warning and Master Caution buttons/lights are fully operational. They operate at 24 V and need a separate PSU. The panel color is our best guess from what we saw from pictures on the web. It appeared to us to be a bit more blueish. The color was mixed by our local home depot store.

FGC and DCP view. The panels are glued to auxiliary plywood panels that are fixed to the main panel from the backside.

Backview. Two µC-boards with one Serial-/Ethernet converter each. The right hand board is full and contains four µCs ATTiny 2313. The left hand unit contains only one µC until now with the Master Buttons/Lights connected to it. The other three are reserved for the PFD, ND and RMU interface. Each µC (18 I/O lines) is prepared to serve a 4 x 4 key matrix (16 buttons), 2 rotary encoders (Gray type) and 1 output - or any combination of these, which is determined by the individual firmware. Once fully assembled each board can serve as many as 72 I/O lines.

Flight Guidance Controller (FGC)

Display Controller Panel (DCP)

February 13, 2008

We have figured out a few problems:

  • Now LEDs can be detected correctly at any daytime condition

  • The FSUIPC interface is not used for the rotating knobs anymore - it is all mouse clicks now, even right for fast dialling. This is much faster and reliable. The only function that is used through FSUIPC is the PUSH SYNC of CRS1, which does not work in the Feelthere software. It now sets the CRS1 selector to the current heading.

  • The FD2 button was assigned to the Master Caution button and the CRS2 rotating knob to the altimeter selector for the time.

  • We have also added two LEDs for the left and right CPL indicators and disasembled the one that is inside the button.

It appears the FGC is electrically 90% complete and we shall continue with the DCP...

February 10, 2008

Software required (Please note: the below links point to programming samples. These samples may not work in reality and are presented just for the purpose of demonstration of the principles how Delphi can be used to create an internal FS2004 module and interface to FSUIPC via an internal link.):

GetXYCoordinates - this software detects the ERJ145 panel windows and hot spots can be stored to a file "fscoord.txt". Coordinates are relative to window dimension and position. Here is a typical sample file "fscoord.txt" with coordinates for the main panel of the ERJ-145 flight deck.

Generic FS2004 Delphi interface module - Consists of three elements: a DLL lead file (remotesim), and two modules (module.pas, internal.pas) from the FSUIPC package.

The application module is contained in unit1.pas. It interfaces to the network and is driven by a timer. It

  • on start-up enumerates, identifies, verfiies and stores all ERJ-145 window handles

  • scans the screen for changes in the FGC LED colors and sends out tokens to the hardware via UDP

  • receives FGC key strokes or knob turns from the hardware via UDP and simulates a mouse click on the appropriate panel/button (or sends a FSUIPC interface command in exceptional cases, which is not preferred due to speed constraints, see below)

  • logs activities for debugging purposes

  • displays the current FGC LED status on a debugging page

Programming software: Borland Delphi 6

Operating System: Windows XP 2

Flight Simulator: FS2004

Aircraft: Feelthere ERJ-145 Pilot-In-Command

February 03, 2008

First flight was flown yesterday with FGC almost fully serviceable, now awaiting some hardware touch-up.

Open or missing items:

  • How to identify which input is active SPD/MACH? Altitude? - FSUIPC not to be used, but mouse clicks to be simulated
  • LED readout - LED colors change with day/night/weather settings - use a better mask to identify the green LED
  • Slow data processing in FS2004 let selector controls sometimes bounce back - should be gone with #1

First Flight's Gallery

FGC Panel connected to FS2004


Overview of FGC panel and Universal Controller Board with Ethernet connector


Universal Controller Board (right upper: LT1086 - right lower: Lantronix Xport - left: 3 ATTiny 2313)


RemoteSIM.DLL dialog activated - log of button commands (1)


RemoteSIM.DLL dialog activated - mirror of FGC LED status (2)


January 23, 2008

I have written a simple FS2004 dll that can press ERJ145 flight deck buttons, turn rotary switches and read FGC control lights. I am sure this will work with the Legacy, too.

It is independant of ERJ window position and size, but windows must be detached and visible somewhere. It interfaces to the outside via a couple of UDP/IP links, very simple to integrate into anything that goes via a network.

My son (13) is building a hardware FGC panel these days as a first interfacing component. Network component is a Lantronix Xport Ethernet to Serial converter chip that is fed by a few simple Atmel micros. These in turn control the buttons, encoders and LEDs.

The Feelthere ERJ-145 is a brilliant flight simulator add-on, imho the best flight deck simulation that is available.
For the starter and the kid pilots it is easy to handle, while still very realistic. Need for system resources is reasonable.

There a few weak points though:
- there is no SDK to interface with a flight deck hardware, though the later Legacy can connect to GoFly components (which do not create a realistic ERJ flight deck atmosphere).
- the FGC and RMU tuning knobs have a weird logic, that makes using the mouse wheel a difficult exercise for the unpatient one.
On the positive side for the flight deck builder the only data output is via the monitors, there are no seven-segment displays as on all the other FGCs or MCPs.
So my son and I decided to overcome the weakpoints by building a hardware FGC and maybe more components later. For good reason we do not fly on FSX but everything said from here on is valid for FS2004. I cannot give any hint whether FSX can be used as a sim base, please don't ask.

RemoteSim FS2004 software module (for FGC for the time)
Unfortunately the ERJ does not allow access to most of the FGC switches and lights via the FSUIPC interface by Peter Dowson. Here is a list of items that are controlable via FSUIPC. However processing of these commands is somewhat slow and I will try to simulate mouse clicks as much as possible.

CRS1 selector ($C4E word)
HDG selector ($7CC word)
ALT selector ($7D4 longword)
VS selector ($7F2 word)
SPEED/IAS selector ($7E2 word)
SPEED/MACH selector ($7E6 longword)

How to overcome this?
We have written a FS2004 module that is placed to the /modules folder of the FS2004 directory. It is named RemoteSIM.dll. It will show up in the menu bar of FS2004 as RemoteSIM. From here the pilot can control and monitor the interaction of the panel with FS2004. The module is programmed in Delphi 6 thanks to a great hint from here.

How does it work?
RemoteSIM interfaces the PC network links to the ERJ panels. It contains network software components that run the UDP/IP protocol to send or receive data strings from anywhere in the connected network. These data are converted into commands two fold:
- where available it connects to the ERJ panels via FSUIPC - Where this is not available it simulates mouse clicks on panel components like buttons or rotary switches. It also reads the colors of specific pixels on the screen that may be assigned to lights or switch positions.

What about panel positions and size?
The module is designed to handle detached and visible windows. Windows are identified automatically on start of the module from the FS2004 menu. We have not tried full screen mode yet. For now we have taken up a complete list of FGC panel button/knob hotspots and light pixels by means of a dedicated program. The absolute screen coordinates were converted into coordinates relative to window position and size with double precision and stored inside the module. Once a mouse click is simulated or a light is read the relative position is converted back to an absolute screen position, dependant on the actual window size and position. This works flawlessly down to a certain window size only, of course.

How are data sent out to the network?
The module uses port 8801 to receive data from any outside network transmitter. This can be another piece of software on a PC or a hardware component. It does not use USB! Although the price for Ethernet components is much higher than for USB components, software integration is much easier. The module also sends out data to IPs and ports as assigned by the user interface of RemoteSIM. Standard ports we use are 8811, 8812 etc. Receivers can sit anywhere, on a PC or on a hardware component.

What protocols are used?
The low layer network link uses UDP. This is the simplest protocol available for Ethernet networks, because there is none. Data are simply sent out and there is no check whether they got lost or distorted. We used this protocol because in a closed local area network there is very limited chance that higher protocol types that check for data integrity (as TCP) are really of any advantage. Again, UDP makes software integration much easier, as there are just two functions to observe: send and OnReceive.
On the higher layer the network uses very short ASCII strings to command mouse clicks, FSUIPC values or read lights. E.g what we think of is:
From hardware to software:
"HDG" press HDG button
"HD+" turn HDG knob to the right
From software to hardware:
"H" set HDG button light on
"h" reset HDG button light off

What about speed?
This is still a concern. Mouse click simulations take some time inside the FS2004 software until they are processed. Very quick status changes as for the RMU rotary knobs will probably require some preprocessing before the mouse clicks are simulated. Pixel reads from the panel are not a concern. The network itself can be run at 10 or 100 or 1000 MBit/s. Each data string would contain around 80 bytes (including the UDP and IP headers), which is 640 bits. So even with the slowest network more than 100.000 commands can be sent per second

Hardware components:

Universal Controller PCB-Board:  
Lantronix Xport Ethernet to serial converter (serial @ 4800 Bd, 8n1) - ca. 42 € + Tax

LT1086-3.3V Voltage regulator + 2 buffer capacitors 10µF/16V

1 Power on LED with resistor 330R, so it looks nice  
up to 4 ATMEL ATTiny2313 microcontrollers (ea. 1.30€), each with a 100nF blocking capacitor (used 3 for the FGC controller)
Cable assys and connectors  
Universal PCB board (opens schematic drawing) - own development

FGC PCB-board  
13 Push button switches Conrad 701157 (ea. 2.92 €) Datasheet
4 digital rotary encoders  Conrad 700708 with push button (ea. 3.33 €)

Standard PCB-Board  Conrad 529618


Contact: erj145 at