NetAvionics : A powerful but inexpensive B738 simulator

Hello !

I’ve been in the world of air simulation and home cockpits for a while. My last personal cockpit was based on opencockpit cards, run by several PCs, using my own instrument visualization programs.

I found the use of many PCs cumbersome and expensive and decided to look at today microcontrollers technology for a better way to do it. You can now find for a few bucks Arduino and RaspBerry Pi boards, which are fairly powerful, compact, and potentially offer all the elements to develop a full home cockpit system. I started to develop such system and I will report here my choices and results.

The system is based on hacked opencockpit cards (Mastercard and modified USB expansion card). It uses an Arduino DUE board to control all the hardware equipments (inputs, outputs, analog readings and servomotors), and several RaspBerry Pi 3 boards for openGL vizualisation of the instruments : PFDs, NDs, system and engines screens.

In the menu above, you will find some pages describing the main blocks of the system, like the hardware setup, the hardware configuration tools, the instruments displays …

In the course of developing my system, I am facing problems for which I had to find some solution. I will share these in articles named “Tech tips”, hope it can be useful to someone…

The system is under development, but once it is “reasonably” finished (it’s never really finished …), I imagine I could sell or share it, we’ll see …

Publié dans Non classé | Laisser un commentaire

March progress update

Hi !

Still workin’ hard ! I have finished all “basic” screens, i.e. PFD, ND, centered mode ND, Engine screen (upper DU) and MFD (both ENG and SYS). I am currently working on the TCAS implementation in ND and PFD, designed to work with AI planes and also online networks (IVAO, VATSIM). Next, I will work on the weather and terrain radar in ND, which are not implemented yet.

I have a test configuration running in my B737 NG 800 cockpit, which uses 4 raspberrys and one DSTACK, pretty cool … I will had a small video soon. I am also debugging the hardware part, but it’s pretty stable and easy to use.

I am also now thinking to add raspberry pi zero based FMCs. The power of the pi zero is enough for that, with a GPIO connector which hold enough pins to connect the FMC keyboard. But that’s for later 😉

Publié dans Updates | Laisser un commentaire

February Project Update


I’ve been quite busy working on the system. I’m almost finished with the engines primary instrument screen (upper DU in the B737). Here are two rapid screen shots taken with my phone:

in-flight view. This is the “compact” display. The “TAI” symbol (Thermal Anti Ice) indicates that engine anti ice system is on.
Engines stopped

I have noticed that I have slightly different element placements depending upon the type of screen used and its resolution. I have decided to include a lot of user modifiable parameters so that “fine tuning” can be done for specific screen by a non-programmer, using a user friendly GUI. I am now doing the same for the other screens (PFD, ND) and I still have a lot to add to these. I am trying to follow as closely as possible the Boeing documentation to implement a maximum of realistic behavior.

Publié dans Updates | Laisser un commentaire

Tech tip #2 : Noisy servomotors

In many place in the simpit, I use servomotors : for the standby instruments, the flap and brake pressure indicators, and all the gauges in the overhead panel.

In the system I’m developing, the servomotors are driven by an Arduino DUE. The particularity of the DUE is that the outputs are 3.3V, instead of 5V. Anyway, even in the case of 5V driven servomotors, problems can occur when the cable between the command unit and the servomotor is more than a meter long … The command signal is altered, and the servomotor gets noisy, or even unresponsive.

This problem is very well known in the field of industrial systems, where command may be tens of meter away, in a noisy environment. In this case, a well know solution is to use a current signal, rather that a voltage signal, which is much more immune to noise. Of course, commercial converters exist, but I found their use to be too heavy and costly for my application. So, I gathered elements from the net and designed a very simple circuit to do the job. It makes use of two small transistors and four resistors, with a corresponding cost of the order of 1 euro …

Here is the schematics :

As you may note, the circuit is powered using 12 volts, which I use for panel lighting. Of course the servomotors must be driven by 5V TTL signals, but the circuit ensures that 5V command signal is delivered for supply from 7.5V and above. It has two parts, the left side with the transistors must be located near the arduino, and the R4 resistor is located at the servomotor level, between the command wire and the ground wire (usually the yellow and black ones). A current of about 4 mA is forced in the command wire, and is converted by the R4 resistor to 4mA x 1.2Kohms = 4.8V. So the command is done through a current on the line, not a voltage. Please note that I used 2N2222 and 2N2907, because I had it at hand, but any small transistors will do.

In my design, if you have followed my project, I have planned for 10 servomotors for the moment. So i realized a simple board with 10 similar units as described above, here’s the picture :

It’s very effective, I made some tests with cable length above 10 meters (30 feet), and it works like a charm.

Publié dans Tech Tips | Laisser un commentaire

Tech Tip #1 : Displays flickering …

In order to start the series, I want to discuss a problem which was really annoying and unpleasant, but found an easy solution.

In my cockpit, All the radios in the pedestal (NAV 1 & 2, COM 1 & 2 and ADF 1 & 2) are made with 7segments displays, operated by IOCARD display cards. All radios have active and standby displays, and it’s a total of 64 digits, requiring 4 display cards in a stack, connected by the same cable to a MasterCard, all located in the pedestal.

Although it basically worked nicely, I had a recurrent and annoying problem : very often, all displays would flicker or blink, which was very unpleasant. I first thought that I had poor wiring or bad contacts, but I soon found out that it was not the case. Then what ? I was plagued by the problem until I had the idea of measuring the supply voltage at the display level. I found 4.6V although the supply unit was delivering 4.95V, very close to the nominal 5V expected. The problem in fact is that all the digits call for a non negligible current, which is not readily measured, because it is pulsed. This in turn resulted in a voltage drop in my wiring, because the wire section was not enough (my 5V cable having a typical length of 3m). At 4.6V, the electronic circuitry in the display card does not perform correctly. I found that using bigger wires solved the problem, the voltage near the display was 4.9V and no flickering anymore !

Publié dans Tech Tips | Laisser un commentaire

Progress update – January 2019

I have added a page on the site to describe the simulation of the PFD and ND screens, see menu above. This is a preliminary description, since it is under development. For the moment I have a fully functionnal PFD, and the ND has only the MAP mode. All the screens will be developed and I will post screenshots and video here later.

Publié dans Updates | Un commentaire