Skip to main content

Flight Controller ID

Every flight controller has a unique hardware identifier — a 96-bit serial number burned into the microcontroller at manufacture.

It matters because it is the one thing about a board that does not change. Flash different firmware, reset every parameter, erase the board and start again: the ID is the same, because it lives in the processor's read-only factory area rather than in anything you can write to.

That makes it the right way to refer to one specific board in a support conversation, to activate firmware licensed to a particular unit, and to keep maintenance records that follow a board rather than an airframe.

Where to read it

The same 96-bit device ID as ArduPilot, PX4, INAV and Betaflight each display it

ArduPilot — Mission Planner

Connect the board, then look in either place:

  • The title bar of Mission Planner.
  • Flight Data → Messages.

It appears as three groups of eight hex digits, separated by spaces:

0031002A 33335110 35353936

PX4 — QGroundControl

Analyze Tools → MAVLink Console, then:

ver all

Among the output, the line beginning PX4GUID is the identifier:

000600000000353539363333510f0032003c

INAV — INAV Configurator

Connect, then click Show Log beneath the Disconnect button to expand the detail pane. Look for Unique device ID:

0x32003c3333510f35353936

Betaflight

Where to look depends on the version:

  • Betaflight Configurator (4.5 and earlier): the log output on the main screen, labelled unique device ID.
  • The browser-based configurator (2025.12 and later): the same log output, in the same place, at app.betaflight.com.

Either way the format matches INAV's:

0x32003c3333510f35353936

They are the same number

Worth knowing, because a board that "has a different ID in Betaflight" has not changed — only the formatting has.

The identifier is three 32-bit words, twelve bytes, 96 bits. Take the INAV and PX4 examples above, which came from the same board:

Word 1Word 2Word 3
INAV / Betaflight0032003c3333510f35353936
PX4, after its prefix353539363333510f0032003c

Same three words, listed in the opposite order.

Two formatting details explain the rest of the apparent difference:

  • INAV and Betaflight drop leading zeros. 0x32003c3333510f35353936 is 22 digits; padded back to 24 it is 0032003c3333510f35353936.
  • PX4 prefixes its GUID with additional bytes — 000600000000 in that example — before the twelve hardware bytes. So a PX4GUID is longer than the ID itself, and the device ID is its last 24 hex digits.

ArduPilot's three space-separated groups are the same three words again, in the same order as INAV's, just spaced for readability.

Normalising an ID before comparing

If you are matching IDs across firmwares or storing them in an inventory, pick one form and convert to it. Strip any 0x, remove spaces, take the last 24 hex digits, pad to 24 with leading zeros, and lower-case it. Then decide whether you also need to reverse the word order, which you do only when one of the values came from PX4.

What it is not

Not the airframe. Move the board to a different aircraft and the ID goes with it. That is usually what you want for maintenance history, and never what you want for identifying an aircraft in a fleet — use the MAVLink system ID for that, which is a number you assign.

Not the MAVLink system ID. SYSID_THISMAV on ArduPilot and MAV_SYS_ID on PX4 are small numbers, usually 1 to 8, that you set so a ground station can tell aircraft apart. They have nothing to do with the hardware ID. See MSTAR24 One-to-Many Telemetry for where that distinction matters.

Not a serial number printed on the board. Any sticker is the manufacturer's own numbering and is unrelated.

Not secret, but not nothing either. It identifies one specific piece of hardware. Post it in a support thread when asked; there is no reason to publish a list of them.

Easily confused points

The ID belongs to the chip, not the firmware. Reflashing does not change it.

Each firmware formats it differently. Same number, different presentation.

PX4's GUID is longer than the ID. The device ID is its last 24 hex digits.

PX4 lists the words in the opposite order to INAV and Betaflight.

INAV and Betaflight strip leading zeros, so their string can be shorter than 24 digits.

It is not the MAVLink system ID.


Written and maintained by the Robofusion engineering team.