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
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 1 | Word 2 | Word 3 | |
|---|---|---|---|
| INAV / Betaflight | 0032003c | 3333510f | 35353936 |
| PX4, after its prefix | 35353936 | 3333510f | 0032003c |
Same three words, listed in the opposite order.
Two formatting details explain the rest of the apparent difference:
- INAV and Betaflight drop leading zeros.
0x32003c3333510f35353936is 22 digits; padded back to 24 it is0032003c3333510f35353936. - PX4 prefixes its GUID with additional bytes —
000600000000in 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.
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.
Related guides
- Micolink Protocol
- PX4 MAVLink Stream Rates
- Flight Controller Firmware Flashing Guide
- ArduPilot FAQ · PX4 FAQ · INAV FAQ
Written and maintained by the Robofusion engineering team.