Remote ID: Core Concepts & Regulations
Executive Summary
Remote ID (14 CFR Part 89) is a "digital license plate" for drones. It broadcasts the drone's position, altitude, and ID to nearby receivers.
For ArduPilot integrators, the critical distinction is between Standard Remote ID (deeply integrated, allows advanced ops) and Broadcast Modules (velcro-on, limits operations).
Legal Classes (FAA Part 89)
1. Standard Remote ID Drone
- Definition: The drone was produced with Remote ID built-in.
- Integration: The Flight Controller (ArduPilot) communicates directly with the Remote ID transmitter.
- Capability: Allows for Beyond Visual Line of Sight (BVLOS) operations (with appropriate waivers).
- Requirement: The drone manufacturer must submit a Declaration of Compliance (DOC) to the FAA asserting the system meets ASTM F3411-22a.
- Tamper Resistance: The system must verify the functionality of the Remote ID subsystem before arming.
2. Remote ID Broadcast Module
- Definition: A standalone device attached to an existing drone.
- Integration: None. It has its own GPS and battery. ArduPilot is unaware of it.
- Limitations: Strictly Visual Line of Sight (VLOS) only.
- Use Case: Retrofitting older fleets or hobbyist builds.
Technical Standards
ASTM F3411-22a
This is the technical standard the FAA references. ArduPilot's AP_OpenDroneID library is designed to meet this standard.
- Message Protocol: Bluetooth 4.0/5.x or Wi-Fi (NaN/Beacon).
- Update Rate: 1 Hz.
- Latency: < 1 second.
- Barometric Altitude: Must be referenced to standard pressure (1013.25 mb).
Codebase Investigation
1. The Core Library: AP_OpenDroneID
Located in libraries/AP_OpenDroneID/AP_OpenDroneID.cpp.
- Rate Limiting: Dynamic messages (Location) are sent at 1Hz (
_mavlink_dynamic_period_ms). - State Machine:
send_static_out()cycles throughNEXT_MSG_BASIC_ID,NEXT_MSG_SYSTEM, etc.
2. Tamper Resistance
ArduPilot enforces the "Tamper Resistance" requirement via AP_Arming.
- If
DID_ENABLEis 1 andDID_OPTIONSincludes "Enforce Arming", the drone will not arm if the Remote ID module is disconnected or reports a failure. - This satisfies the FAA requirement that the drone cannot takeoff if Remote ID is not functioning.
How To: Verify Compliance
1. Check Pre-Arm status
- Error: "RemoteID: System not available" means the Operator Location hasn't been received from the GCS yet.
2. Verify Output
- Open Mission Planner > MAVLink Inspector.
- Look for
OPEN_DRONE_ID_LOCATIONmessages. - Check
statusfield:2: Airborne (Armed)3: Emergency (Crashed/Failsafe)