The project

This project aims to make a physical box that can provide the functionality of an Autopilot for X Plane.


Interfacing to X-plane

Several options were investigated:

The solution:

After testing the options, I decided to use the ESL8266-01 module as the engine. This module has a minimum of pins available, and far from enough to handle alle the LCD, encoders, buttons and leds.

The ESP8266 was selected, because it has fare more flashmemory than the Arduinoss and further more it has the WiFi interfae to X Plane.

The module can be programmed directly on the device using an USB-to-FDTI interface cable (5 volt).

I program the device using Arduino IDE.

As display I decided to use an 20x4 LCD based on HD44780. I night later on make another version with a more realistisc design using 7-segments.

In order to to get the required number of ports, I added 3 MC23017 giving me 48 I/O ports. 8 of these ports are dedicated to driving the 20x4 LCD display. Because the LCD driver and the MC23017 drivers not respect each other, The remaining ports on the MC23017 used for the LCD, is not used by any other pins (so far!).

Achived so far.

I have made a PCB layout for the unit in a 160x100 mm format and it can easely be implemented in a Eurocard box. The schematics and PCB layout was made using Target 3000! V18 program that can be downloaded freely from here.

The limitation for the free version of Target 3000! i 250 pads, and I managed to get it down to 250 pads just. My friend Søren Sonddrup was the master of reducing to 250 pads - Thanks Søren.

I had the first version of the PCB produced in China and there are only a few minor changes required.

I got alle the component collected (quite a job!) and soldered onto the PCB,

The software is developed, and installed, and i runs fine. Also here Søren spend hours and hours supporting me with good advices during test and development. Skype is execlent for that purpose.

3D image




The Autopilot has:


Connect to WiFi:

When the device is switched on for the first time, it will go into AccessPoint mode.

On a WiFi enabled device, you must select the network with Autopilot.

Using the device's LAN you must go to on your browser. This will show the configuration for X Plane.

Whe the Autopilot restart, it will show the IP address allocated from DHCP - this must be used to configure X Plane.

Configure Autopilot

in the browser go to http://<your autopilot IP>

Configure X Plane

Set the corresponding parameters in X Plane.

In X Plane -> Settings -> Data Inpug & Output in the 'Data Set' secton, remember to check the enable flag in the top. Other parameters are configured by the Autopilot.

Use the Autopilot

Witth X Plane running and Autopilot switched on, you should se a line on the Display. showing data.

By togling the 'Mode' button 4 modes can be chosen. Mode 0 is as abow.

Mode 1 shows info on actual IAS, HDG, ALT and V/S in line 4:

Mode 2 shows info on Flaps, Gear and Breakes:

Mode 3 shows info on NAV radio in use, Frequency and DME ( if available):

To do.

Implement shift between IAS and Mach.

Additional feature:

KML server:

The autopilot alse has a KML server. This is usefull for showing the world with the pilots eyes on Google Earth.

In Google Earth create a network link with the folloing address:

http://<your autopilot ip>/kml

Also set the refreshrate and enable to fly to selected point.

The Picture in Google Earth will update with the rate you selected which does not allow it to give a smooth path.

Tee the X Plane view and the Google Earth view here:


Schematics and PCB layout file [download] (Target 3001! format.)

Corrections to the PCB [download] (txt file).

Arduino workspace for the project including application code and libraries [download] (zip file). [Jun 10 2017]

Old version 1.1 workspace [download]

Component list [download] (Excel list).

List of ports allocated [download] (Excel file)


I have a few extra PCB's available for $10,- each + p.p.

I you intend to get new prints produced, mail me. The corrections have been implemented in a new design, but it has not been tested.