Exporting MPCD and avionics to a secondary monitor

Howdy! I have bought a small 7″ LCD, resolution 800×600 for my setup. Here’s a quick guide about how to export avionics to an external / secondary LCD or monitor.

My main monitor is a 1920×1080 23″ or something. It’s fairly small, due to the lack of space on my desk. I have configured the additional 7″ monitor as the primary then I created an ad hoc configuration for it. The simplest way to do this is by copying and existing similar config and edit it.
Monitor cfg files can be found in \Config\MonitorSetup.

I created a few different config files but most of them are similar so I’m going into the details of just three of them:

  • RW: a single file to display the ABRIS (Ka-50), the TV screen and the RWR of the SA342;
  • F/A-18: the AMPCD is not in a really comfortable position hence I decided to export it;
  • AV8B NA: just for the sake of experimenting, I have exported the Right PCD.

Setting up the Views

This is the file for the RW. The first part of the file is similar for both configs.
_ = function(p) return p; end;
name = _('RotaryWing');
Description = 'RotaryWing: Ka-50; SA342 profile'
Viewports =
Center =
x = 0;
y = 0;
width = 1920;
height = 1080;
viewDx = 0;
viewDy = 0;
aspect = 1.777;

x = 1921;
y = 0;
width = 600;
height = 800;

SA342_TV =
x = 1953;
y = 0;
width = 570;
height = 490;

GazelleRWR =
x = 2071;
y = 495;
width = 300;
height = 300;

UIMainView = Viewports.Center

Viewports describes the main monitor, RIGHT_MFCD represents the ABRIS (default name) wherease the other two entry are included using a different tecnique I will cover later.

This is the cfg file for exporting the AMPCD:

_ = function(p) return p; end;
name = _('fa18');
Description = 'fa18'
Viewports =
Center =
x = 0;
y = 0;
width = 1920;
height = 1080;
viewDx = 0;
viewDy = 0;
aspect = 1.777;

x = 1921;
y = 0;
width = 600;
height = 600;

F18RWR =
x = 1921;
y = 650;
width = 150;
height = 150;

UIMainView = Viewports.Center

It includes the code to export to the RWR. I am not currently using it since the monitor is not big enough to host both views (I have also attached a Thrustmaster MFD on top of it. Velcro rules!). I haven’t tried exporting the Left or Right MPCD but I guess the standard nomenclature will do (RIGHT_MFCD and LEFT_MFCD).

Last example, the Harrier’s Right MPCD. The beginning of the file is the same as the F/A-18 (of course the name and description are different) so I paste just the interesting part:
x = 1921;
y = 0;
width = 600;
height = 600;

Please not that this will not export the MPCD unless you bind the reletive buttons from the Controls options and activate the export in-game. The easiest way to find these controls is to open use the Search function, type “export” and bind them.

Binding the MPCD Export controls for the Harrier.

More lua editing

Now that the Views are up and running we need to tell DCS what to export. In some cases there’s no need to do it because DCS deals with that on its own, for instance the ABRIS or the AMPCD. In other cases, we have to manually specify what to export and link them to the Views.
NOTE: these files might be overwritten in case of Repairs or Updates. You can either make a copy of the modified file and overwrite the new file every time or use OvGME or similar tools.

Exporting SA342 RWR and TV

The RWR file is located in \Mods\aircraft\SA342\Cockpit\RWR\indicator\init.lua. This is the code I have appended in order to export the RWR:

As you can see, it’s quite easy. The same principle applies to the TV; its file is located in \Mods\aircraft\SA342\Cockpit\TV\Indicator\init.lua.


I have found these info on ED’s forum, credits to them.

Pictures time!

Some pics of the setup and the 7″ LCD. Note that the MPCD is not centered relatively to the TM MFD simply because of the position where I took the picture.

As usual, feel free to comment and ask if you need any help 🙂


Ka-50 A-10C – Sharing Data IV: Bearing & Distance and Final Thoughts

The last part of the guide covers an alternative method of sharing a target (or, more precisely, any point) location. The reference point must be known by both parties (it can be the bullseye or an IP, just to name a couple). This method is not precises as latlong coordinates but it’s worth knowing nevertheless.

Bearing and distance

Lat/long coordinates actually are not the only way to provide the location of a target to another aircraft. As you can see in the picture regarding the ERBL, both bearing and distance are displayed besides lat/long coordinates. However those data are referred to your position, which usually changes often. Fortunately we can choose a different reference point, pressing the “MARKER” FSK. This point can be, e.g. the Bullseye used by A-10s or an IP, previously communicated and inserted with the PVI-800 (as the picture below shows).
The “MARKER” function can be activated only when the ABRIS is in ERBL mode. First of all place the ERBL cross over the Bullseye or the reference point. Now press the “MARKER” FSK. The cross will turn in a triangle, a new one will appear and all you have to do is just move it over the target. Distance and bearing to target (as well as other data) are real-time calculated.

Providing bearing and distance can be useful sometimes, but is not an accurate method. Each step you follow adds an error, which increases considerably over long distances. Moreover, bullseye coordinates saved via PVI-800 aren’t precise and the approximation introduced rounding heading values can result in an error that can be calculated as:

Position_Error = Range * Bearing_Error [in radians]

Therefore ½ degree of bearing measurement error would result in ~8.7m position error per kilometer of range from the reference point.

Moreover remember that Ka-50s use True bearing, but A-10s use Magnetic bearing. Therefore you have to subtract the magnetic declination value (MVR) every time you provide a bearing. Also remember that default unit of measurement for distance is in metric system (km).

However bearings and distance combination can be useful, especially to provide an approximated indication of target’s position. For this purpose a distinctive geographical element close to the target can be efficiently used as the reference point.

Bearing & Distance from the ABRIS

Final considerations

Even if A-10s and Ka-50s haven’t a common system which should allow them to share data directly, there is more than a way to move around the problem. Summing up, the Ka-50 can use:
1. ABRIS to provide lat/long coordinates;
2. ABRIS to provide distance and bearing;
3. PVI-800 to provide lat/long coordinates;
All you have to do is choose the most performing way, basing your evaluation on your task and the situation around you.

Additional final thoughts

This guide is definitely old; there are so many new aircraft in the DCS’ skies compared to when I wrote it. Nevertheless we lack a real attack helicopter besides the Ka-50 and that makes this platform a niche yet a still relevant module.
I plan to write a similar guide for the Mi-24P and the AH-1S, depending on the capabilities of their simulated avionics.

Aye, it will take a decade 🙂

Ka-50 A-10C – Sharing Data III: Ka-50 to A-10C

Part 3 covers the acquisition of the target latlon location; information that can be shared with other platforms. Back in the days was the A-10C, now it can be a AV-8B N/A or a F/A-18C.
This part also cover the reception of latlong coordinates and how are the fed into the Ka-50’s avionics.

There are two possible ways to get a target’s coordinates: with the ABRIS or the PVI-800. The first one is more precise (~20m), the second one is far less precise (~200m) but it’s faster.

Coordinates acquisition by means of the ERBL function of the ABRIS

Getting coordinates with the ABRIS

Before using this method you need to lock a target and save it into your PRTz, so it will appear in your ABRIS.
To get the coordinates of a target we will use the ABRIS in ERBL mode. To enter this mode, cycle with the 5th FSK, entering the NAV mode. Pressing this FSK enable the ERBL mode: a cross will appear and, below the map, you will find coordinates of the position under the cross as well as other data, like bearing and distance. As you have already imaged, you can now move the cross over the symbol of a target acquired with the PRTz and read its coordinates.
To move the cross use the right knob on the ABRIS. Press it to toggle from vertical and horizontal slew and vice-versa. To obtain the best result, use the Zoom in FSK.

This procedure is not very fast and requires a lot of attention, therefore it’s not a bad idea to recon a Battlefield Area, save your targets in the PRTz, move into a safe and covered position and only then communicate the coordinates.

An alternative to this procedure uses the “Info” function (first FSK in the picture above). This functions provides some info like coordinates and elevation of the selected position. However, while acting as an AFAC, you usually need bearing and distance from a known position (usually an IP) in order to provide a complete 9-line procedure and you can’t get those data with the Info function.

Getting coordinates with the PVI-800

We’re now going to see how to save a target position and get its coordinates. This method is faster than the one which uses the ABRIS, but it’s less accurate.
First of all, we have to prepare the PVI-800:

  1. set the PVI mode in ‘EDIT’ with the PVI Master Mode knob;
  2. set the switch next to the PVI Master Mode knob (‘INU/UPDATE’) to the ‘INU’ position (“I-251V Shkval – Fly over INU update” – see the Black Shark manual, page 6-65);
  3. select the ‘NAV TGT’ button on the PVI-800.

A number will appear on the PVI-800. This number represents how many NAV TGT points are stored inside PVI-800’s memory. Now select a number, press the Shkval designate key (with the laser in STAND-BY position) and the coordinates of the position pointed by the Shkval will appear on the PVI-800. Now you can save this data by pressing the ‘ENTER’ key.
NAV TGT points saved with the PVI-800 are represented in the ABRIS by a rectangle with a number written into. Each number corresponds to the number assigned to each NAV TGT point saved.
A NAV TGT point can be assigned directly to a PRTz target, just select a target type (first row on the PRTz) and press ‘SEND/MEM’.
Just remember to restore the PVI-800 to previous settings, turning the PVI Master Mode knob on ‘OPER’ position, and the switch next to it in ‘UPDATE’ position.

Receiving coordinates

As you can read coordinates with the PVI-800, so you can enter coordinates with it.
The procedure is quite similar to the one used to get coordinates of a target locked with the Shkval:
1. set the PVI mode in ‘EDIT’ with the PVI Master Mode knob;
2. select the ‘NAV TGT’ button on the PVI-800;
3. select a number, which will identify this NAV TGT point.
Now you can enter the coordinates. Remember to use the button 0 (zero) for North and Eest, and button 1 for South and West. When you have finished, press ‘ENTER’ to save. Again, restore the PVI Master Mode knob to its previous position.

NAV TGT points are represented by a square with a number in the middle (this number identifies the NAV TGT point). Therefore, pressing a number in the PVI-800 while in NAV TGT mode will select the corresponding point. Selected points will flash on the ABRIS.

A NAV TGT point added by means of the PVI-800 is displayed on the ABRIS

Ka-50 A-10C – Sharing Data II: Ka-50 to Ka-50

Part 2 of my ancient guide, covering the coordination within Ka-50s.

A Ka-50 flight is composed of up to four aircrafts. Each pilot is assigned a unique ID number from 1 to 4. You can see your wingmen (or your leader) and recognize them on the ABRIS by this number.
Assuming that you have already locked a target, you can now save it for your use or send its data to the rest of your flight.

Note: each aircraft must have the same frequency set on the R800L1 (VHF-2).

Ka-50 PRTz target displayed on the ABRIS

Saving a target with the PRTz

Saving a target and making it appear on your ABRIS is very easy. Just select the correct target type button in the PRTz’s first row and press SEND/MEM.
E.g. if we have locked an enemy T-80, we will first select the armor target type, then press SEND/MEM. A diamond with a number (#1 for the first target) written into will appear in the ABRIS. This number is incremental, if you save another armoured target with the PRTz, it will appear as a diamond with a #2 in the middle.

This target representation will be later used to get its coordinates and send it to others (A-10s, for example). But we will delve into this aspect later.

Sharing data between Ka-50s

In order to send data about target you must select the recipient (from #1 to #4, or the whole flight), cycle between your saved targets by the corresponding target type button and then press “SEND/MEM”. The selected recipients will receive your data.
Now let’s see what happens if you are one of those recipients: some buttons on the PRTz will begin to flash (letting you understand who and what type of target you are about the receive), Betty will warn inviting you to take a look at the EKRAN and it will finally tell you that you have just received some data (“RECEIVE DL TARGET”). Press “SEND/MEM” to save, and the target will appear on your ABRIS. Quite easy, isn’t it?
Last important thing: the number written into target’s symbol couldn’t always be the same for the whole flight. E.g. if we have already saved an armoured target (target type #1, a diamond on the ABRIS) and your wingman will send you data about another one, you will see two diamonds on your ABRIS. The one we have saved before is the #1, and the one just received is the #2. But your wingman could have just one armoured target in his ABRIS, and it is identified by the #1. This means that our #2 is his #1 and vice-versa, and you don’t know that. So pay attention and try to avoid confusion!

Automatic ingress to target

This is a very useful function. It allows to release the Shkval directly on a target received or saved with the PRTz.

  1. select a saved or received target by its corresponding target type button;
  2. enable the AUTO TURN function (not mandatory but useful);
  3. put laser on STAND-BY;
  4. uncage the Shkval.
    1. And your aircraft will magically turn and lock the target.

Ka-50 A-10C – Sharing Data I: Introduction

What follows is a doc I wrote for my former group when BS and A-10C were merged and later become DCS. It is probably 6-7 years old but the fundaments haven’t changed.
This article covers the acquisition of a target, the determination of its position and later a couple ways to share this information with other Ka-50s or an A-10C.

Back in the day the A-10C was DCS’ flagship and the only study-level module available for DCS other than BS. Nowadays instead we have a variety of modules and these procedures can be applied to any of them as long as their avionics allow for latlong coordinates or bearing and distance input.

Sharks and Togs: Introduction

Ka-50s and A-10s are very different aircrafts. Just think that the Ka-50 is Russian and uses the metrical measurement system and the A-10 is American and uses the Imperial system. Knowing that, there should be no surprise when I tell you that there isn’t a way for sending and receiving data between these two aircraft directly. Therefore we have to find a measurement system supported by both of them.

The short paragraphs below are just a small reprise of concepts that you may have already learned. To deepen your understanding, read through the ED manuals.

Preparing the ABRIS

One of the instruments we are going to employ is the ABRIS, but first of all we have to match A-10’s unit of measurement. The ABRIS can represent lat/long coordinates in one of two ways:

  1. XXX°YY’ZZ” (degrees, minutes and seconds – ABRIS default)
  2. XXX°YY.YY’ (degrees, minutes and decimals – PVI-800 default)

A-10s use the second representation mode hence we have to set the correct unit of measurement. To do this, go to the ABRIS setup, select the UNITS FSK, and change the setting (see the Black Shark manual, page 7-26).

Ka-50 ABRIS units setup

Different bearing types

Ka-50s and A-10s represent bearings in two different methods: Ka-50 uses True Bearings while A-10 uses the Magnetic bearings. You can toggle the ABRIS between each methods in the Options menu, entry “Track/heading”.

PRTz Datalink

The PRTz is a very important part of a Ka-50’s avionics. This device allows sharing data directly to each Ka-50 in your flight. It is composed of three rows of buttons, from top to bottom:

  1. target type: Armor, SAM/AAA, Other, and Ingress point;
  2. recipient: select who will receive your data, from #1 to #4 or the whole flight;
  3. functions: erase the selected target from the memory, perform the automatic ingress to target, send or receive data.

Locking a target

First of all we have to spot a target in order to lock it. This task can be performed in many ways, exempli gratia:

  1. Put laser switch on STAND-BY position;
  2. Activate the HSM and position it over the target;
  3. Uncage the Shkval;
  4. Adjust the gate around the target;
  5. Press the Lock button.

Arduino box: F/A-18 UFC ¦ Ka-50 PRTz & PVI-800

I finished few minutes ago to code the firmware for my last Arduino control box.


I have controlled the PRTz and the PVI-800 in the Ka-50 with my CH MFP since BS1. It works quite well but the lack of space forces me to have it on my right side and reach it with my left arm is all but comfortable. Hence I decided to build something ad hoc. Moreover, I thought that, at some point, I will have to learn a fixed-wing so why not shaping the new box as the F/A-18 UFC?

The box sports:
26x pushbuttons
2x 3-way latched switches
4x 2-way latched switches
5x encoders, each with its own pushbutton

One of the 2-way switches is the Master Mode selector. Its purpose is to double the functions assigned to each momentary pushbutton (encoders’ pushbuttons included). This brings the total number of logical controls to 86 (although I could code the Master Mode to the encoders, increasing this number even more).

This is a quick test of the functions:

Next step is finding appropriate decals for the box. I have a few from the CH MFP but of course they don’t have TACAN, IFF, ENCON and similar functions. Any ideas, folks?

Once I’m satisfied with the firmware I will polish it and upload it here.