P3 Firmware What Exactly Is Firmware?

HWB

Joined
Apr 20, 2019
Messages
57
Reaction score
22
Age
53
So that's my question. What and why is it? It does not seem like the drone itself would need any updating. It is what it is. Any upgrades would be a hard replacement like a recall on a car.

Next, how can I avoid the update. My DJI app is now telling me it needs to update? If i uninstall the app and reinstall it will that solve the problem? I know I will get the latest version but it will not be trying to patch what is already there.

Last but not least it will only fly in atti mode now. This started about the same time the update was needed. Is this just a coincidence or will it not fly in GPS mode if I don't update?

The DJI GO app I have installed on my Galaxy S5 is version 3.1.59 I only use this phone to fly the drone. It has no service. My drone is a P3S.
 
Joined
Jul 26, 2017
Messages
2,294
Reaction score
1,225
Location
Irvine (Orange County) CA
So that's my question. What and why is it? It does not seem like the drone itself would need any updating. It is what it is. Any upgrades would be a hard replacement like a recall on a car.

Next, how can I avoid the update. My DJI app is now telling me it needs to update? If i uninstall the app and reinstall it will that solve the problem? I know I will get the latest version but it will not be trying to patch what is already there.

Last but not least it will only fly in atti mode now. This started about the same time the update was needed. Is this just a coincidence or will it not fly in GPS mode if I don't update?

The DJI GO app I have installed on my Galaxy S5 is version 3.1.59 I only use this phone to fly the drone. It has no service. My drone is a P3S.
Firmware is simply permanent software that allows hardware to run. As DJI discovers bugs or adds new features, new firmware is released.

Updates are optional, but then you're potentially missing out on improvements. Updating the app is not the same as updating the firmware. You can update the app and not the firmware.

As to ATTI mode, be sure the S1 switch is all the way forward. If it is, check your satellites. Also, be sure there's no magnetic interference that could impact GPS.
 
Joined
Jun 30, 2016
Messages
1,369
Reaction score
585
Location
PL
What Exactly Is Firmware?

You're asking that on a computer of some kind, right? All computers have the same general parts:
- Central Processing Unit which executes instructions
- RAM which stores information and allows to retrieve it very fast, but the content is lost without power
- Storage of some kind, be it magnetic disk or flash memory
- Power unit, which just supplies power to everything

Your laptop, tablet, phone, even Smart TV, have these components.

The laptop can either have Windows, Linux or MacOS stored on its disk. So it needs Operating System. And all processors do need some kind of operating environment - though for the smallest ones, microcontrollers, we're not always calling this "operating system". Anyway for such small processors, without any display or keyboard, there are operating systems which you probably never heard about: QNX, uC/OS-III, VXWorks, IAR RTOS.. there's a lot of these. Some also use Linux - that OS is what we call "scalable" - meaning it can be compiled with minimal set of features for small processors, or with large set - for your laptop.

So - the firmware is kind of disk content, which contains software that allows specific processor to run. If the device has no screen or keyboard, then some kind of application is executed automatically when the device starts. And it just always runs that one application.

But now, DJI firmware is not a programming for any single processor - mechanical devices are complex, and have many processors in them. In your car for example, there is a processor which controls the engine. There is another one for security systems. There is a separate one for transmission gears, and large one which has a display and shows you information about the car when you're inside. All these are connected and are exchanging information. The same goes for DJI drones - there is a lot of processors which talk to each other. And DJI firmware is a package, kind of ZIP file, which stores programming for each module the drone is made of.

We actually have tools which allow to extract the DJI firmware package into single modules for specific processors.
And there is also a list of modules, with details about which processor it has, and which Operating System it uses.

And this is what firmware is, properly explained.
 
Last edited:
Joined
Jul 29, 2016
Messages
442
Reaction score
229
Age
78
An excellent explanation.

A simple way to think about this is to realize that the days of controlling devices mechanically are gone. The DJI drones fly with motors not controlled by mechanical governors, but managed by electronic speed control systems that output electronic signals that the motors respond to, and receivers that monitor what the motor is actually doing. It feeds this monitoring information back into the motor signal output. All of this is continuously managed by computer code. The code that does this for each of the 4 motors is firmware. Without it, the motors are nothing but wires and magnets incapable of doing anything.

Likewise, the electronic gps messages are compared to the signals from the inertial guidance system (s) and control stick position information, and combined into information fed to the motor speed firmware to enable the drone to follow the pilots requests,

This is a simplified description but gives you the idea. Programing mistakes in such complex firmware systems are unavoidable, and when found, require modified firmware incorporating the fixes. Likewise, features to be added require changes to the firmware.

You should be asking why don’t they test for all of this. They do test for all of the functionality as stand alone functions. What is much harder to test for are the combinatorial issues that happen like when a particular stream of actions are initiated at a particular rate in a particular order.

There are essentially an infinite number of individual test cases that would be needed and run, and that will take a very long time. Many of these will be tested and found when beta test is finished when thousands of users have done millions of tests during their normal flight activities. These failed tests get identified and fixed in the follow on firmware releases.
 
Joined
May 9, 2020
Messages
2
Reaction score
0
Age
51
You're asking that on a computer of some kind, right? All computers have the same general parts:
- Central Processing Unit which executes instructions
- RAM which stores information and allows to retrieve it very fast, but the content is lost without power
- Storage of some kind, be it magnetic disk or flash memory
- Power unit, which just supplies power to everything

Your laptop, tablet, phone, even Smart TV, have these components.

The laptop can either have Windows, Linux or MacOS stored on its disk. So it needs Operating System. And all processors do need some kind of operating environment - though for the smallest ones, microcontrollers, we're not always calling this "operating system". Anyway for such small processors, without any display or keyboard, there are operating systems which you probably never heard about: QNX, uC/OS-III, VXWorks, IAR RTOS.. there's a lot of these. Some also use Linux - that OS is what we call "scalable" - meaning it can be compiled with minimal set of features for small processors, or with large set - for your laptop.

So - the firmware is kind of disk content, which contains software that allows specific processor to run. If the device has no screen or keyboard, then some kind of application is executed automatically when the device starts. And it just always runs that one application.

But now, DJI firmware is not a programming for any single processor - mechanical devices are complex, and have many processors in them. In your car for example, there is a processor which controls the engine. There is another one for security systems. There is a separate one for transmission gears, and large one which has a display and shows you information about the car when you're inside. All these are connected and are exchanging information. The same goes for DJI drones - there is a lot of processors which talk to each other. And DJI firmware is a package, kind of ZIP file, which stores programming for each module the drone is made of.

We actually have tools which allow to extract the DJI firmware package into single modules for specific processors.
And there is also a list of modules, with details about which processor it has, and which Operating System it uses.

And this is what firmware is, properly explained.
Stupid question : is it possible to use your smart phone to update the firmware on the Phantom ???
 
Joined
May 24, 2017
Messages
133
Reaction score
22
Age
59
Location
Thuringia Germany
Stupid question : is it possible to use your smart phone to update the firmware on the Phantom ???
It´s possible but you must power on all components of your P3S (RC AC and mobile connected to the P3 System with all fully charged batteries)
 
Joined
May 24, 2017
Messages
133
Reaction score
22
Age
59
Location
Thuringia Germany
Firmware is simply permanent software that allows hardware to run. As DJI discovers bugs or adds new features, new firmware is released.

Updates are optional, but then you're potentially missing out on improvements. Updating the app is not the same as updating the firmware. You can update the app and not the firmware.

As to ATTI mode, be sure the S1 switch is all the way forward. If it is, check your satellites. Also, be sure there's no magnetic interference that could impact GPS.
The firmware of the P3 system is as the operating system on your computer at home. The P3S/A/P is a flying computer with the functions to control the flight. The firmware for the P3S is all in one OS for the RC the AC and battery you own. If you buy a new battery and you leave the latest FW on the SD card then the new battery will be upgraded to the new battery firmware automatically if you power on your bird with the new one.
 

New Threads

Members online

Forum statistics

Threads
140,491
Messages
1,448,194
Members
102,286
Latest member
brotherb3