Kristaps Brass's Posts (62)

Sort by



We’ve reached the final chapter in our series of articles in which we compare the precision of different drone autopilots from various manufacturers.

All drones were flown on a typical area scan route created using UgCS flight planning software and compared in terms of how accurately can they stick to survey lines on horizontal and vertical planes.


Drones flown in these tests range from hobby-level drones such as Pixhawk with Arducopter firmware and popular consumer-grade drones such as DJI Phantom 4 to more professional drones like the DJI M600 RTK. This list even includes a very expensive drone with Kestrel autopilot that is used in the military and by law enforcement agencies - the Lockheed Martin Indago.

Since precision had to be measured numerically, Python scripts were written which compared the .kml file from each flight to the .kml file of the test mission. Only points from straight survey lines were used, points from turns (when transitioning from one survey line to the next) were ignored. Then the closest horizontal and vertical distances from each point in flight were compared to the test route. The table below presents the average and maximum horizontal and vertical deviations.

Autopilot / turn type

Turn type

AVG Horizontal Error

MAX Horizontal Error

AVG Vertical Error

MAX Vertical Error


stop and turn






bank turn






adaptive bank turn





3DR Iris - Pixhawk with PX4 fw






3DR Iris - Pixhawk with Arducopter fw






3DR Iris - Pixhawk with Arducopter fw






DJI Naza-M V2

adaptive bank turn





DJI Naza-M V2

stop and turn





DJI Naza-M V2

bank turn





MikroKopter Quad XL






DJI Phantom 3

adaptive bank turn





DJI Phantom 3

stop and turn





DJI M600

stop and turn





DJI M600

adaptive bank turn






adaptive bank turn






stop and turn





DJI Phantom 4

stop and turn





DJI Phantom 4

adaptive bank turn





DJI Inspire 1

adaptive bank turn





DJI Inspire 1

stop and turn





Microdrone MD 4-200






LM Indago






Yuneec H520

stop and turn





As seen from the table, two drones with the lowest horizontal average error of 0.1 meters are the DJI M600 RTK and Yuneec H520. On a vertical plane, however, the DJI M600 RTK proved to be more accurate with an average vertical error of 0.03 meters.

It is also worth mentioning that Pixhawk autopilot with Arducopter firmware while being one of the cheapest drone setups in this list, proved to be quite accurate with an average horizontal error of only 0.3 meters and average vertical error of 0.15 meters.

Please note that these tests were not made under ideal circumstances. Environmental factors such as wind and temperature were not identical in all tests so it is likely that they had some impact on the results.

If you have any questions or ideas for more tests we could do, make sure to leave a comment.

Newest version of UgCS mission planning software can be downloaded here:

Wishing you safe and precise flights,

UgCS Team

Read more…


In December we had a great chance to test the M600 Pro system with a terrain following module in sunny Peru!

In general, SF11/C works perfectly. There was one annoying issue: under extremely bright sun over some surfaces it can miss readings for a long time. Fortunately, a solution was found quickly: during the trials we used improvised lens hood.


.. from short distance:


These altimeters are quite popular in the industry and among DIYers, so be warned if you use them to fly over very low altitudes.

Now we use modified holder for standard lens hood for Nicon lenses, but any similar ones should work as well.




I must say that Peru is a very interesting place in many ways. Especially the rich history of the Incas and earlier settlers, the ruins and other remains of their civilisation. As one of our hosts put it, “you can dig in any place in Peru and will probably unearth some ancient debris”. A lot of artefacts and skulls were lying just like that in the middle of the desert where we were testing our system..


Safe flights,

Alexey Dobrovolskiy

Read more…

How We Flew A Winter Drone Show


First of all, Happy New Year to all you DIY Drones users! 

Shortly before Christmas, we decided to bring a childhood dream alive and create Rudolph the Red-Nosed Reindeer using drones. We created and flew a 50 drone show and would like to share with you the footage as well as our experience. Without further ado, here's the video:

And here's the flight at real speed:

Flight planning and drone control was done using our Drone Show Software. You can read more about it here:


All drones flown were Pixhawk-equipped (Pixhawk 2 Cube or Dropix). They were also equipped with RTK GPS and LED modules. Wi-Fi modules were used for communicating between the drones and the ground station.


To get the animation done we collaborated with one of the most experienced graphical animation companies in Latvia - baseMotion. This was the first animation they did for a drone show but certainly not their last. The animation was done using open source animation software Blender. Afterwards, it was converted to paths which were uploaded to the drones.

The biggest struggle was the cold. It was about -5 degrees Celsius at the time of flying the show. So we had to think about keeping ourselves as well as the batteries in warmth. For batteries, we used special boxes and for ourselves sweaters, warm winter jackets and, most importantly, warm socks. 


The outcome was breathtaking and certainly worth the effort. Seeing it in real life is far beyond anything that pictures or video can convey.

If you have any questions or are interested in creating a drone show yourself, visit our website and drop us a message.

May you have a successful year!

Safe flights,
UgCS Team

Read more…


Hi, friends,

In the middle of the summer we had a chance to participate in an expedition with the aim to locate a missing WWII P-38 aircraft from famous Lost Squadron. Full story was covered by lot of news and publications, so we will not duplicate it here, you can follow links below.


Here we would like to share our experience of using drones in Greenland.

We used 2 drones

In general they worked well, but there were some small issues…

Low temperature

It was not too cold in the middle of Greenland’s summer even on the ice cap. Our camp was deployed at an altitude of around 700m above sea level, and often it was quite warm during daytime (except 3 days out of the 8 when we had a snow storm :-)) and below freezing during the “night”.

We were team of brave guys and were not worried about the thermometer readings, it did not matter for us as much as it did for our equipment…

During daytime the temperature was warm enough so that it was sufficient to wear thermal underwear and a membrane of second layer. I think that the temperature was close to +10-15 Celsius. At night (when sun was close to the horizon level but not quite below it) ice formed on the floors of our tents and we had to wear 3 layers including gloves, balaclavas etc.

Standard recommendation for using drones in such conditions is “keep your batteries in a warm place”. Ok, but we didn’t have a warm place on the ice cap. Jim Salazar - our expedition lead and a real hero, one time took 2 sets of M600 batteries to his sleeping bag for the night, but it was not very effective. Forgot to ask him how was the night…

Next time we will use something like Peli cases with integrated electrical heaters and good internal insulation to quickly warm up the batteries before start and to keep them warm - but this year we had to fly with a constant “Battery temperature is low” warnings. It was nice to be able to check the temperature of each battery in software (of course we used UgCS for this), so before take-off we checked that the temperature of each battery was +5 Celsius at least.

If somebody knows where to order/buy such cases for M600 batteries please let us know. It is not rocket science to DIY them, but I’d rather purchase ready-made ones. 

Our tent after a snow storm, 3rd day on the ice cap:


Except for the batteries we didn’t have any problems with drones caused by low temperature. Before we were taken by helicopter to the ice cap from Kulusuk, almost all our heavy equipment (including drones, GPR etc) were delivered by boat to some point on the shore close to the Lost Squadron site - to minimize cost of helicopter flights. Here the equipment was left in boxes on shoreline under polar bear supervision for 4 long days :). But after delivery to site and 2 days of snow storm (it started in couple of hours after landing and everything was buried under snow) everything worked well after unpacking/charging and some warming under the bright Arctic sun.

Bright Arctic sun

It is an even more serious problem then low temperature. On the ice cap light was coming from all directions - you feel as if you were inside a mirrored chamber together with 1000 Lm of light. Outside nothing is visible on the screens - even when the sun is masked by clouds.

The only comfortable place to work with laptops was inside of our “main” tent, but it requires close and constant coordination between ground station operator sitting inside the tent and the drone pilot outside.

Now we are working on a lot of modifications to the UI of UgCS - we will use much larger fonts and more contrast in the theme everywhere. Critical messages will be displayed over the entire screen and it will not be possible to miss them.



No Internet

For us it was 120km ‘till the nearest WiFi hotspot which was reachable only by helicopter :-).

Next time we will check everything 3 times before leaving the comforts of civilization.

We thought that we had prepared everything. We checked and double-checked our DJIs to prevent any surprises, downloaded maps and elevation data for offline use in UgCS (we used ArcticDEM elevation data – ).

But the problem struck us from an unexpected direction. 18 batteries for DJI M600 were taken from our office in Riga and they were tested and used before the expedition in test flights.

Jim Salazar took another 24 batteries from his home in US, half of them were brand new. When we tried to use them on ice cap we got message about old firmware in batteries. F#$%^!!! Is it really so important to block flights in that case????

So if you use such advanced equipment which is coupled to the Internet, you should check that every piece of equipment can work without Internet (with WiFi adapters switched off etc…) I wouldn’t be surprised if in the next generation of DJI drones even the propellers and cables will come with their own firmware and will require periodical updates…

Collision prevention sensors on Phantom 4

We used this small bird to film what we doing here and as cheap scouting drone to check the safety of routes before sending a multi-$$$ system (M600 with GPR) far off into the fog.

To get useful data from the GPR, the maximum altitude from the ground can be 10 meters, but the lower you can go the more accurate the data will be. We tried to use an AGL altitude of 3 meters and used terrain following routes generated by UgCS using ArcticDEM elevation data. But we didn’t have full confidence about the precision of DEM data so when we planned to fly far routes we decided to use Phantom 4 to test whether it was possible to fly generated routes without colliding with the surface of the glacier.

Below is elevation profile of one of the flights down the glacier:


The collision detection sensors and algorithms of DJI Phantom 4 are not only useless in such conditions (where everything is white and you have fog everywhere) but can also cause a lot of problems. In an automatic mission it can decide that it sees obstacle and stop. In case of any problem with the radio link you can lose your drone easily. From my observations false potential collision detections can be caused even by very light fog/clouds - when drone itself was clearly visible.

We recommend disabling all collision detection sensors before flying in such conditions and relying on your eyes, brains and piloting skills.


Flight altitude drift

When we first detected an anomaly under the ice (it was on the first survey line of very first flight!) we decided to make an additional survey of the suspected area using cross-grid with close distance between survey lines and low altitude – 3 m AGL.


When we started these flights it was almost nighttime and the weather was calm, but the temperature started to get colder and colder with every passing minute. As a result katabatic wind began – and it got stronger and stronger as the temperature continued dropping. It was not very strong and without any gusts, so conditions in general were quite safe for flights.

In theory, as the temperature is going down during the flight, the drone should fly higher and higher. But in our flights it descended more and more on each survey line – and finally we stopped the mission to prevent the drone from colliding with the surface of the glacier.

My thought is that it was because of Bernoulli's principle – air pressure in wind should be lower. So the drone made attempts to compensate its virtual ascending. Not sure if I’m right or not.


LiPo transportation

Special thanks to Air Baltic, Iceland Air  and Air Iceland Connect– they allowed us to transport 18 LiPo batteries in hand luggage.

All airport staff now knows about LiPo batteries – so don’t try to transport batteries without a special permission. Hopefully it is possible to get special permission from air companies to do this. We had to use a hard box (similar to Pelican), all batteries should be isolated from each other, and have permission on paper with us (we printed the e-mail from the airline).


Special thanks to Jim Salazar and Ken McBride – expedition co-organizers. It was a really cool endeavor and an unforgettable experience what is almost impossible to get anywhere else.

If you want to help them in their mission – please follow them on Facebook -

To learn more about UgCS flight planning software that was used in this expedition, check it out here:

Safe flights and keep your bodies in warm places!

Alexey Dobrovolskiy and UgCS team

Read more…


In this article we're going to cover importing KML files from Google Earth into UgCS as routes.

Create KML file in Google Earth

In Google Earth click ‘Add’. To create a basic waypoint route - choose 'Path' or ‘Polygon’ to create an Area scan or Photogrammetry mission in UgCS.



Import KML file into UgCS to create a drone flight mission

Set a name for the ‘New Path’

Create the route on the map


To save click ‘OK’. The created route will be displayed in the ‘Places’ window


On the created route tap the right-mouse button and choose 'Save Place As…'

Import KML file into UgCS to create a drone flight mission

Set a location whereto the export the file and define that the file has to be saved as KML file

Import KML file into UgCS to create a drone flight mission

Import KML into UgCS

Launch UgCS, in the upper left corner, click the plus icon ‘Add new route’ and select 'Import from file' and locate the KML file


Choose the type how segments should be imported and press ‘Next’ 


Set the name for the route and choose a vehicle, press ‘Next’


Set all parameters of the route or leave the default values and specify parameters later, click ‘OK’


The new route will be displayed on the map of UgCS


This might be useful

Discover professional mission planning for drones - UgCS

Safe flights,

UgCS Team

Read more…

Adding several emulator drones to UgCS



As some of you may know, by default UgCS ground station software for drones comes with two emulators that you can use. Emulators are virtual drones that you can use to, firstly, get acquainted with UgCS before using it with a real drone and, second – to see a preview of how the drone will fly the route.

In some cases when flying with multiple drones you might need some information on where each drone might be at a certain point in time. To do this, you would need more than two emulator drones.

It is possible to add more emulator drones to UgCS and this article is written with the intention of teaching you how. In this case we will show you how to add 20 emulator drones to UgCS.

Here are the steps on how to do this:

1. Firstly, close UgCS and make sure that all UgCS services such as the UCS Server, Geoserver and others are stopped. You can check this in the task bar.

2. Find the file and open it in a text editor. File locations are below:

On Windows:

C:\Program Files (x86)\UgCS\server\emulator\

On macOS:


3. After opening the file, find the following line:


Now  delete all text after that line and replace it with the following:





emu1.home_position=46.7754356, 8.3451395, 0.0




emu2.home_position=46.7756018, 8.3561679, 0.0




emu3.home_position=46.774540, 8.3463503, 0.0




emu4.home_position=46.774166, 8.3471775, 0.0




emu5.home_position=46.774540, 8.3463503, 0.0




emu6.home_position=46.774166, 8.3471775, 0.0




emu7.home_position=46.774540, 8.3463503, 0.0




emu8.home_position=46.774166, 8.3471775, 0.0




emu9.home_position=46.774540, 8.3463503, 0.0




emu10.home_position=46.774166, 8.3471775, 0.0




emu11.home_position=46.774540, 8.3463503, 0.0




emu12.home_position=46.774166, 8.3471775, 0.0




emu13.home_position=46.774540, 8.3463503, 0.0




emu14.home_position=46.774166, 8.3471775, 0.0




emu15.home_position=46.774540, 8.3463503, 0.0




emu16.home_position=46.774166, 8.3471775, 0.0




emu17.home_position=46.774540, 8.3463503, 0.0




emu18.home_position=46.774166, 8.3471775, 0.0




emu19.home_position=46.774540, 8.3463503, 0.0




emu20.home_position=46.774166, 8.3471775, 0.0

In case you need to add an emulator plane (and not a multirotor) here’s an example of how the text should differ:




emu1.home_position=46.774166, 8.3471775, 0.0

4. Next file you need to edit is vsm-emulator.conf. It can be found here:

On Windows:

C:\Program Files (x86)\UgCS\bin\vsm-emulator.conf

On macOS:

/[username]/Library/Application Support/configuration/vsm-emulator.conf

5. Open it and find the following lines:

# Local port for listening connections from UCS.

ucs.local_listening_port = 5555

Delete everything after that and replace it with the following:

connection.tcp_out.1.address =

connection.tcp_out.1.port = 14555


connection.tcp_out.2.address =

connection.tcp_out.2.port = 14556


connection.tcp_out.3.address =

connection.tcp_out.3.port = 14557


connection.tcp_out.4.address =

connection.tcp_out.4.port = 14558


connection.tcp_out.5.address =

connection.tcp_out.5.port = 14559


connection.tcp_out.6.address =

connection.tcp_out.6.port = 14560


connection.tcp_out.7.address =

connection.tcp_out.7.port = 14561


connection.tcp_out.8.address =

connection.tcp_out.8.port = 14562


connection.tcp_out.9.address =

connection.tcp_out.9.port = 14563


connection.tcp_out.10.address =

connection.tcp_out.10.port = 14564


connection.tcp_out.11.address =

connection.tcp_out.11.port = 14565


connection.tcp_out.12.address =

connection.tcp_out.12.port = 14566


connection.tcp_out.13.address =

connection.tcp_out.13.port = 14567


connection.tcp_out.14.address =

connection.tcp_out.14.port = 14568


connection.tcp_out.15.address =

connection.tcp_out.15.port = 14569


connection.tcp_out.16.address =

connection.tcp_out.16.port = 14570


connection.tcp_out.17.address =

connection.tcp_out.17.port = 14571


connection.tcp_out.18.address =

connection.tcp_out.18.port = 14572


connection.tcp_out.19.address =

connection.tcp_out.19.port = 14573


connection.tcp_out.20.address =

connection.tcp_out.20.port = 14574


Below you can find ready-made and vsm-emulator.conf files.


6. Launch UgCS after updating the files.

Newly added emulator drones will be visible right away. If not, click on the “Add New Vehicle” card on the top right-hand corner of the screen and you should be able to add them.

If you don’t want to have all of them on your screen at once, you can simply remove them and use only the ones that you need. You will easily be able to add them back afterwards in the way described in the paragraph above.


Now it is possible to add all of these 20 emulator drones and create and upload routes to them.


This option can be useful if you want to test the behavior of multiple drones in the air simultaneously as well as to observe the proximity between them at each point in time.

Discover professional mission planning for drones -

Safe flights,
UgCS Team

Read more…


Hi guys,

As promised, here is the next and so-far final episode in our autopilot precision series. In this series of videos and articles we test multiple drone autopilots in terms of precision by flying them on a simple (yet often typical) photogrammetry route created in UgCS mission planning software. The flight trajectory of each drone is compared against the ideal test route.

In this final part we look at the results of DJI M600. Next week we will publish a table containing the overall results comparing all autopilots and the average deviation each of them had from the test route.

See the results for DJI M600 in the video below:

Download the KML files and take a look at them yourself in Google Earth:

Get the newest version of UgCS here:

Safe flights,
UgCS Team

Read more…


The quality of images taken when using UgCS photogrammetry tool is highly dependent on capabilities of the camera used. Thus the photogrammetry route has to be planned around the capabilities of the camera and not the drone.

Cameras usually have five main settings/parameters:

  • shutter speed,
  • aperture,
  • ISO,
  • matrix size
  • focal length.


Furthermore the amount of light is crucial for taking good photos. Most cameras are set to adapt to the amount of light.


Below is an illustration how shutter speed, aperture and ISO can affect the result:


For best results the camera matrix needs to get as much light as possible. For example:

  • if the ISO of the digital camera is set to a low value, e.g. 100, the resulting photograph will have better quality comparing to when ISO is set to, say - 1600. The higher the ISO - the grainier the resulting image will be. Whenever possible it is recommended to set ISO to a lower number;
  • when there is sufficient light, for best results the camera shutter speed can be decreased, but the speed of the drone - increased
  • If aperture will be increased, it will increase DOF (Depth of field) and the photo will be sharper.


Matrix size. The main rule is - the larger the size of the matrix, the more sensitive the camera. That’s why a DSLR camera with a full-frame matrix will give higher quality photos than a cheap camera with a small matrix.


Focal length. If the focal length is increased, then exposure time or drone speed should be decreased. Otherwise the photos will be blurry.


Knowing the camera settings, it is possible to anticipate how they affect the results of a UgCS photogrammetry mission, adding two main conditions for a drone flight: speed and altitude.


Let us analyze 3 common types of illumination during daytime:

  • sunny day with clear skies,
  • sun mixed with clouds,
  • cloudy day

Note - It is not recommended to fly in low-light conditions such as during twilight or early morning.


Sunny day with clear skies


On a bright sunny day when there is a lot of light, a test flight with DJI Phantom 4 (GSD = 2.5, True focal length = 3,6 mm, resolution – max (4000x3000 px.) was made with the following settings:

  • Flight speed = 6 m/s,
  • 'Camera by time' action set,
  • the box 'Additional waypoints' - unchecked,
  • 'Stop&Turn' turn type,
  • Overlap - default.


The route calculated by UgCS had the following parameters:

  • Height - AGL ~ 55 m;
  • Trigger interval = 3 sec;
  • Duration est. – 13 min;
  • The calculated area - about 10.39 ha.
  • Parameters of the photogrammetry tool: size of footprint - 100.00 m x 75.00 m.
  • Parameters of the photogrammetry tool: number of waypoints 44, number of passes - 11
  • Camera triggering by time: Automatically calculated parameters - 212 shots, every 3.00 s



The camera was set up in the field with these parameters (in Manual mode):


  1. Minimal ISO number;
  2. Minimal Shutter speed (1\160 and less);
  3. Autofocus;
  4. Phantom 4 fixed aperture = f2.8


The particular values have to be adjusted individually according to illumination. The result of the test flight was excellent: photos were clear and sharp. Only one battery had to be used for the flight with a small reserve left.


If the GSD would be decreased, flight altitude will also be decreased. The true focal length will remain constant; therefore, the drone’s flight speed has to be decreased or the speed of the shutter increased (exposure time decreased). The minimal trigger interval for DJI Phantom 4 is 3sec, therefore the flight speed has to be decreased. If GSD is decreased to 1.5 cm, then drone's speed has to be decreased to 2 m/s (DJI has this limitation on minimal flight speed for auto mode). Covering the same test area will require 4 batteries instead of 1 and the flight height at 20m AGL will be unsafe due to hazards such as trees.

Downside of good illumination - photos can have sharp shadows, affecting the productions of orthophoto and 3D models.


Sun mixed with clouds

The level of cloudiness has to be monitored and the settings have to be adjusted accordingly – the speed of drone and shutter speed has to be decreased, other settings can be left as previously described. The ISO value can be increased if necessary.


Second option is to use the action 'Set camera mode' with 'Shot' parameter and additional waypoints. If interval between waypoints is less then 70-90m, it is useless to increase drone's speed – the drone will not have enough distance to reach the speed set. Mostly it is recommended to use the default flight speed - 5 m/s. 


Cloudy day


The main thing to take into account when flying on a cloudy day is to fly with 'Set camera mode' action to 'Shot' parameter and additional waypoints. Shutter speed can be set to a longer time, but should not exceed 1/60. Furthermore the ISO value can be increased but shouldn’t exceed 400. 


As you can see, the capabilities of the drone exceed those of the camera. But the effectiveness of entire drone system is determined by the least efficient part. Therefore, many professional surveyors use DSLR cameras with wider lens aperture on drones with several batteries to deliver optimal and efficient result.

Get UgCS here:

Safe flights,
UgCS Team

Read more…


After somewhat of a gap we have reached the next episode in our series of autopilot precision. In this series of videos / articles we test multiple drone autopilots in terms of precision by flying them on a simple photogrammetry route created in UgCS mission planning software.

In this part we analyse the results of Yuneec H520. Next week we will release the results of DJI M600 and after that - overall results.

See the results in the video below:

Download the KML files and take a look at them yourself in Google Earth:

Get the newest version of UgCS here:

Safe flights,
UgCS Team

Read more…

Using Intel Aero with UgCS


Intel Aero is a cool little drone for developers that can be configured for various tasks and applications.

Due to it's versatility it's also possible to use it with UgCS. In this guide we will explain how.

1. Install latest firmware on vehicle. We did our tests on version 1.6.1. Prepare vehicle to flight according vehicle manual and make some flights in manual mode with RC to make sure everything works ok.

2. Install UgCS with "Support PX4 Vehicles" option selected.


3. We will connect UgCS to vehicle via WiFi AP provided by Aero. So first of all we need to connect our computer to Aero WiFi.  Next, go to vsm-px4.conf file in your UgCS configuration folder and change udp_in local port setting to 14550. 14550 - is the port where IA broadcasts heartbeats and telemetry.

# UDP ports which will listen for incoming mavlink messages.
connection.udp_in.1.local_port = 14550

After config changing (re)start UgCS. You should see your Intel Aero as a common PX4 vehicle.


You can now create\upload routes to Intel Aero and use it as common PX4 vehicle in UgCS.


Video setup

Firmware version 1.6.1 provides video streaming capabilities with Camera Streaming Daemon (CSD) which is automatically started on board of IA.

So IA has 5 video streams which we can try to display with help of UgCS Video Service. To do this you should add the following lines to vstreamer.conf:



If you have any further questions about connecting Intel Aero to UgCS, feel free to leave them in the comments below.

Get the newest version of UgCS from our site here:

Safe flights,
UgCS Team

Read more…

UgCS Update 2.13 Has Been Released

Hey, guys,

We just wanted to inform you that the new version of UgCS ground planning software for drones has been released and packs a ton of great new features and improvements.

  • To offer UgCS to a broader commercial market the support for YUNEEC H520 drone has been added. Support for MavLink2 is added to grant higher flexibility and security to MAVLink communication.
  • Added operations to mission editor provide more flexibility for drone mission planning, enabling to convert route from already calculated into editable waypoint route for single waypoint adjustment; to split route manually or by distance into separate routes or to merge several routes into one and to invert the route.
  • As demonstrated in UgCS CSV/KML data import tutorial (, the upgrade of import functionality enables to import KML files not only as “Area Scan” or “Photogrammetry” but also as “Perimeter”.
  • UgCS for DJI update improves the connection and video transmission to UgCS desktop, added manual focus option for DJI X5 camera and Airlink configuration settings.

3689727423?profile=originalWe've also expanded into the field of drone command centres with UgCS for command centres.

UgCS for command centres enables effective UAV integration into emergency and security command centres. UgCS and drone usage during dangerous operations or at hard to reach areas provides a live preview of the situation not only to personnel in-field, but for officers at the command centre. This enables more precise situation assessment, decision making and effective management of first responder teams, providing more efficient resolution of disaster situation or even saving lives.

UgCS centralised drone management solution enables command centre operators to track on the map real-time position of the drones used in-field and receive live video streams. Command centre operators can mark points of interest on the shared map to indicate locations for field drone operators for detailed inspection or even can take manual control over the drone and its camera.

Get the latest version of UgCS here:
Discover the UgCS solution for Command centres:

Safe flights,
UgCS Team

Read more…

Lego Sorter [Prototype] by SPH Engineering

Hi, guys,

A few of our engineers from UgCS team recently built a project in their off-time that we thought some of you might be interested in seeing. 

Since kids having lots of Lego bricks can cause somewhat of a chaos, the guys from our team have built an automated lego sorter to deal with this problem. It uses a vibratory bowl feeder and an artificial neural network (ANN) to feed the bricks up a path, identify them and sort. Currently, in the prototype version, it's only working with maximum brick sizes of 4x2, but with some modifications it can be made to accept a wider range of Lego bricks.

Here's the video of it in action:

We're curious to hear your thoughts on it and maybe some ideas on where it could be used or how it can be improved.

If you are interested in development of this prototype to a more advanced device, feel free to drop us an e-mail at

Get the newest version of UgCS here:

Wishing you a happy Holiday Season and drone-ful 2018, 
UgCS Team

Read more…

Universal Adapter for DJI Cameras / Gimbals

Hi, guys,

We'd like to update you on what's happening with our universal adapter for DJI cameras (see here for more info in case you've missed it).

While developing our tethered drone system AirMast, we've also put work into designing a universal camera adapter for DJI cameras. What this means is that using it you are able to use DJI cameras and gimbals on almost any drone or even without the drone itself.

Currently the following camera gimbals are supported: DJI Zenmuse: X3, X5, X5R, XT, Z3

We do not plan on selling the hardware so we've made that open source and have created a GitHub documentation for assembling it:

For controlling the camera you need software for the onboard computer and the web-app for controlling the camera. We've made it available for purchase from our site here:

If you want to get in touch with us or have some questions regarding the camera adapter, either leave a comment below or drop us an e-mail at

Wishing you a warm and happy Holiday Season,
UgCS Team

Read more…

UgCS 2.12 Has Been Released


Hi, guys,

We are glad to announce that a new version of UgCS is out - 2.12. Along with this update we are also releasing UgCS Mapper in beta version. UgCS Mapper is a geo-referenced image processing software that allows creation of preliminary orthophoto maps in-field, requiring no internet connection.


The double grid option is added for Area scan and Photogrammetry tool, to enable more precise aerial data acquiring. When a new Photogrammetry area is being added to the survey mission, by default the action Camera by time (with auto flag) is added.

For more comfortable mission planning features like the option to move and rotate route, manage common actions for selected segments and displaying of calculated path leg length on cursor-hover, polygon side length and calculated area size is displayed.

While in beta UgCS Mapper is available for all users, but after its  official release it will be a part of UgCS PRO and UgCS ENTERPRISE package.

For you Ardupilot users out there we have added SET_SERVO and REPEAT_SERVO commands, allowing you to use auxiliary devices capable of receiving PWM signals and controlling them directly from UgCS. We have also added the option to connect over UDP as well as the ability to set constant heading (disable yaw to next waypoint).

Download latest UgCS version:

Safe flights,
UgCS Team

Read more…



Not long ago we did tests with multiple different drones to find out how precisely can they follow a standard photogrammetry route -

The quality of obtained data will mostly be affected by precision on a horizontal plane – whether the shots were made in desired positions or not.

Let’s imagine a case where the survey area has power lines crossing it. It’s a common scenario. To survey the area you would either have to divide the field in two different segments – one on each side of the power lines or you would have to make the drone fly above the power lines like so:


Provided you have a 3D model of the power lines (or any other obstacle), UgCS can automatically generate a flight path which will look safe. But in reality there is no information on how precisely will the drone follow the route with aggressive vertical manoeuvres, so we decided to do some tests.

Test 1. "Jump" over an obstacle

Here we will test how will the drone move over an imaginary obstacle such as a power line or a building.


The drone will start flying from the leftmost waypoint, accelerate up to 10 m/s (in reality no drone managed to accelerate to this speed in a 60 m segment, maximum speed was around 7 m/s) and then “jump” over the obstacle.

We tested 3 drones:

- old workhorse - DJI Phantom 2 - as representative of first generation of DJI autopilots

- quad with fresh ArduCopter 3.5 firmware

- DJI Phantom 4 as representative of the latest generation of DJI drones.

For reference we decided to use a telemetry track recorded using the emulator drone that is built-in in UgCS. It flew very well :)


Let’s start with Phantom 2

Turn type set to Stop & Turn. Not ideal, but nothing dangerous here. Maximum error was around 2 meters. Funny that 4 years ago Phantom 2 was one of the best consumer level drones in terms of flight precision…


Turn type - Adaptive Bank Turn. Ooops…


Turn type set to Bank Turn. Almost the same outcome as with Adaptive Bank:


Phantom 2 conclusion: Never use any other turn type except Stop & Turn if you need to make vertical maneuvers near obstacles.

The same should apply for all first-generation DJI autopilots including DJI Naza-M V2, Wookong-M, A2, Ace. They all have similar behaviour in horizontal flight and it seems that they share common flight algorithms.

ArduCopter quad

Turn type - Straight. The result is not very good at the part where the drone has to descend. If you are trying to fly over a building with a flat roof or close to the roof and walls, you should set the route with a safety margin of roughly 10 to 15 meters.


So with the turn type set to Spline it drew this strange picture:


ArduCopter conclusion – When flying around obstacles only use Straight turn type and allow a safety margin of 10 – 15 meters between the set route and the obstacle. In UgCS there is a special parameter just for this – “Safe distance from Obstacle” that can be adjusted in the vehicle profile.

Phantom 4

Turn type - Stop & Turn. The result is almost perfect. We saw the same in horizontal precision tests – on-par with PX4.


Adaptive Bank Turn. The results are much better than we expected. Maximum deviation was less than 1 meter.


Phantom 4 conclusion – one of the safest drones to use in this scenario. However, keep in mind that DJI changes the firmware quite often so if you need to fly routes like this often, we recommend to test the behaviour of the drone after each firmware update.

Test 2. Loop

This is somewhat of a rare scenario, mostly we see the demand for such trajectories only for the purpose of drone shows, but nevertheless it can demonstrate autopilot potential very well.


We decided not to spend time testing this with Phantom 2 since it isn’t meant for manoeuvres like that.

Here again we used UgCS emulator for reference:


ArduCopter 3.5

Turn type - Straight. It seems that ArduCopter is much more fond of aerobatic manoeuvres like this than boring “jumps” over power lines. :)


Turn type - Spline:


Phantom 4

Turn type - Stop & Turn.


Turn type - Adaptive Bank Turn.


That’s all, guys. We hope this article was informative for you. If you feel like making more tests like this, head on over to, get UgCS and start experimenting yourself. We are curious to see how other autopilots perform in these scenarios.

Safe flights,

UgCS Team





Read more…

Guidelines for building drones for shows


Hi, guys,

As some of you who follow us may know, for some time now already we have been offering an extension to UgCS mission planning software - UgCS DDC (Drone Dance Controller). UgCS DDC has been crafted from the ground-up with drone shows in mind and offers users the ability to simultaneously control dozens of drones in a synchronised manner. 

Despite UgCS DDC ( being commercial software, it relies on ArduCopter platform and almost all of the ArduPilot ecosystem.

For UgCS DDC testing purposes we are operating a small fleet of 25 "show" drones running ArduCopter - all equipped with RTK GPS units, RGB LED modules and a Wi-Fi adapter. We have made everything required to replicate our drones public on GitHub. This includes assembly instructions, specifications, schematics as well as information on setting up Wi-Fi modules and even an ArduCopter 3.5 fork, optimised for RTK GPS receivers.

We hope it will be useful to those of you interested in formation/swarm flights or drone shows.

Here are the GitHub links: - contains manuals regarding the setup and use of UgCS DDC software - guidelines for drone assembly, including mounting and setup of RTK GPS units - contains the schematics and bill of materials for building LED modules that are used in drone shows - information regarding setting up Wi-Fi modules which enable simultaneous communication between the drones and the ground station - ArduCopter 3.5 fork, optimised for working with RTK GPS receivers - Mission Planner with slight modifications - added RTCM messages Broadcast over UDP function for RTK GPS. We will use this until we integrate the same functionality inside of DDC.

If you have any questions or ideas for improvement, please do not hesitate to reach out to us either here on DIY Drones or via our e-mail -

Good luck and safe flights,

UgCS Team

Read more…

UgCS DDC Drone Swarm with Smoke

Recently we participated in an air show near our headquarters with 7 drones running ArduCopter. We thought you guys might be interested in seeing the footage.

UgCS DDC gives the power to create beautiful drone shows without the need to have sophisticated hardware. All of the drones we used were assembled from widely available off-the-shelf components and were using open source ArduCopter firmware (version 3.5 in this case).

The flights were planned using UgCS and the drones were controlled using UgCS DDC (Drone Dance Controller). Each drone was equipped with four smoke grenades which were triggered remotely.

Here is the video from the show:


You can find more information about UgCS DDC here:

If you have any questions feel free to leave them in the comments or drop us an e-mail:

Safe flights, 

UgCS Team

Read more…

Accessing UgCS Video Stream


When doing custom integration projects with UgCS, sometimes it might not be enough to only have the video stream window displayed in UgCS client. In this article we will explain in a few steps the simple process of accessing the stream.

The Video streamer component is located in UgCS service-manager in system tray.

Video streamer can stream from connected video links or from UgCS for DJI mobile application. All connected streams are .MJPEG over HTTP.

To access a certain video stream do the following:

1. Launch UgCS. In UgCS Service-manager, located in the system tray, ensure that Video service is running.


2. Open a web browser and type in the following address:


3. If video service is OK, a list of available REST services will be displayed. Select GetStreamInfo.

4. JSON structure with a list of streams and according network ports will be displayed, if at least one video source (e.g. web-cam) is connected.


5.To access a certain stream as MJPEG over HTTP, use URL:<port>;.

The stream can be used in external software such as VLC Media Player or other.

More in-depth information can be found in UgCS Video Streamer User Guide:

Get the newest version of UgCS here:

Read more…



We have reached the long-awaited episode in our autopilot precision series in which we finally test Pixhawk. All drones are tested by flying them on a simple photogrammetry route created in UgCS mission planning software. In this video Pixhawk was mounted on 3DR IRIS platform, the same one used in our PX4 test. Pixhawk was running ArduCopter 3.4.6 firmware.

See the results in the video below:

Download the KML files and take a look at them yourself in Google Earth:

Get the newest version of UgCS here:

Safe flights,
UgCS Team

Read more…

Announcing release of UgCS 2.11

3689717237?profile=originalHi, guys,
We are very excited to announce the release of UgCS 2.11. It's been long in the making, but is finally here and we think you'll enjoy it. We have added countless new features and improvements to the new version, some of them are mentioned here.First off, we have added support for many new drones to expand upon the wide base of drones supported in UgCS:

  • DJI Inspire 2
  • DJI Mavic Pro
  • DJI N3
  • DJI Phantom 4 Pro

New important features include route import from .KML and .CSV files, allowing to easily import a set of coordinates into UgCS as waypoints.


We've improved the telemetry player, allowing you to see the whole flight path of the drone when replaying your flights.

For UgCS PRO and UgCS ENTERPRISE versions we have added functionality to show image centre locations from EXIF data on the map, enabling drone operators, when out in the field, to easily see if any image gaps exist.


Changes have been made to the Click&Go mode as well, allowing you to change the heading of the drone when setting the point.

See the video below to get a glimpse of what's new:

Get UgCS 2.11 here:

Safe flights,
UgCS Team

Read more…