Overview of the Pixhawk Flight Controller
- 1 Overview of the Pixhawk Flight Controller
- 2 Specifications
- 3 Pixhawk Connector Assignments
- 4 Pixhawk Top Connectors
- 5 Pixhawk PWM Connectors for Servos and ESCs and PPM-SUM in and SBUS out
- 6 Pixhawk Connector Diagram
- 7 PIXHAWK Conector Pin Assignments
- 8 Pixhawk System Features
- 9 Comparison of PX4-FMU-IO and Pixhawk
- 10 Connecting and disconnecting DF13 connectors
- 11 Pixhawk analog input pins (Virtual Pin = Firmware Mapped Pin ID)
- 12 Digital outputs (50-55)
- 32-bit ARM Cortex M4 core with FPU
- 168 Mhz/256 KB RAM/2 MB Flash
- 32-bit failsafe co-processor
- MPU6000 as main accel and gyro
- ST Micro 16-bit gyroscope
- ST Micro 14-bit accelerometer/magnetometer
- MEAS barometer
- Ideal diode controller with automatic failover
- Servo rail high-power (7 V) and high-current ready
- All peripheral outputs over-current protected, all inputs ESC protected
- 5x UART serial ports, 1 high-power capable, 2x with HW flow control
- Spektrum DSM/DSM2/DSM-X Satellite input
- Futaba S.BUS input (output not yet implemented)
- PPM sum signal
- RSSI (PWM or voltage) input
- I2C, SPI, 2x CAN, USB
- 3.3 and 6.6 ADC inputs
- Weight 38 g (1.3 oz)
- Width 50 mm (2.0”)
- Height 15.5 mm (.6”)
- Length 81.5 mm (3.2”)
Pixhawk Connector Assignments
Pixhawk Top Connectors
Pixhawk PWM Connectors for Servos and ESCs and PPM-SUM in and SBUS out
Pixhawk Connector Diagram
PIXHAWK Conector Pin Assignments
TELEM1, TELEM2 ports
|2 (blk)||TX (OUT)||+3.3V|
|3 (blk)||RX (IN)||+3.3V|
|2 (blk)||TX (OUT)||+3.3V|
|3 (blk)||RX (IN)||+3.3V|
|4 (blk)||CAN2 TX||+3.3V|
|5 (blk)||CAN2 RX||+3.3V|
SERIAL 4/5 port – due to space constraints two ports are on one connector.
|2 (blk)||TX (#4)||+3.3V|
|3 (blk)||RX (#4)||+3.3V|
|4 (blk)||TX (#5)||+3.3V|
|5 (blk)||RX (#5)||+3.3V|
|2 (blk)||ADC IN||up to +6.6V|
|2 (blk)||ADC IN||up to +3.3V|
|4 (blk)||ADC IN||up to +3.3V|
|2 (blk)||SCL||+3.3 (pullups)|
|3 (blk)||SDA||+3.3 (pullups)|
The system’s serial console runs on the port labeled SERIAL4/5. The pinout is standard serial pinout, to connect to a standard FTDI cable (3.3V, but its 5V tolerant).
Pixhawk System Features
- The Pixhawk flight controller is a further evolution of the PX4 flight controller system. Pixhawk consists of a PX4-FMU controller and a PX4-IO integrated on a single board with additional IO, Memory and other features.
- It is highly optimized to provide control and automation for APM flight navigation software with high performance and capacity. Pixhawk allows current APM and PX4 operators to seamlessly transition to this system and lowers the barriers to entry for new users.
- The NuttX real-time operating system, features high performance, flexibility, and reliability for controlling any autonomous vehicle.
- A Unix/Linux-like programming environment, Integrated multithreading and autopilot functions such as Lua scripting of missions and flight behavior provide powerful development capabilities.
- A custom PX4 driver layer ensures tight timing across all processes.
- New peripheral options will include a digital airspeed sensor, support for an external multi-color LED indicator and an external magnetometer.
- All peripherals are automatically detected and configured.
- A very powerful 32-bit processor with an additional failsafe backup controller and extensive memory.
- STM32F427 32-bit primary microcontroller: 168 MHz, 252 MIPS, Cortex M4 core with a floating point unit.
- Two megabytes of Flash program memory and 256 kilobytes of RAM.
- STM32F103 backup failsafe 32-bit co-processor provides for manual recovery and has its own power supply.
- Socket for a plug in micro SD memory card for data logging and other uses.
- Advanced sensor profile
- 3 axis 16-bit ST Micro L3GD20H gyro for determining orientation.
- 3 axis 14-bit accelerometer and magnetometer for determining outside influences and compass heading.
- Provision for external magnetometer with automatic switch-over if desired.
- MEAS MS5611 barometric pressure sensor for determining altitude.
- Built in voltage and current sensing for battery condition determination.
- Connection for an externally mountable UBLOX LEA GPS for determining absolute position.
- Extensive I/O interfaces with dedicated connectors
- Fourteen PWM servo or ESC speed control outputs.
- Five UART (serial ports), one high-power capable, 2x with HW flow control.
- Two CAN I/O ports (one with internal 3.3V transceiver, one on expansion connector)
- Spektrum DSM / DSM2 / DSM-X® Satellite reciever compatible input: Permits use of Spektrum RC Transmitters.
- Futaba S.BUS® compatible input and output.
- PPM sum signal input.
- RSSI (PWM or voltage) input.
- I2C and SPI serial ports.
- Two 3.3 volt and one 6.6 volt Analog inputs.
- Internal microUSB port and external microUSB port extension.
- Contains its own on board microcontroller and stacks with the FMU.
- Comprehensive power system with redundancy and extensive protection.
- The Pixhawk is supplied with an in line power supply with voltage and current sensor outputs.
- Ideal diode controller with redundant power supply inputs and automatic fail-over.
- Servo rail high-power (max. 10V) and high-current (10A+) ready.
- All peripheral outputs are over-current protected and all inputs ESD protected.
- The provided external safety button enables safe motor activation / deactivation.
- LED status indicators and driver for high brightness external multicolored LED to indicate flight status.
- High-power, multi-tone piezo audio indicator also informs of current flight status.
- Available high performance UBLOX GPS plus external Magnetometer in protective case.
- Weight: 38g (1.31oz), Width: 50mm (1.96″), Thickness: 15.5mm (.613″), Length: 81.5mm (3.21″)
Comparison of PX4-FMU-IO and Pixhawk
- The PX4 FMU and IO stack is very small (the size of an 8 ch RC receiver) and very densely packed, Pixhawk has more space, more serial ports and more PWM outputs.
- There are two groups of servo connectors, one main group of 8 outputs wired through the backup processor, and an auxiliary group of 6 outputs directly wired to the main processor.
- The port labeled “RC” can take normal PPM sum or Futaba S.Bus inputs and the port labeled “SB” can read RSSI our output S.Bus to servos.
- A Spektrum satellite compatible port is on top (labeled SPKT/DSM).
- The basic operation is the same, and the software is shared.
- Inside Pixhawk a FMUv2 and an IOv2 do their duties on a single board (and developers will find that the software will refer to FMUv2 and IOv2)
- The PX4 / Pixhawk system has more than 10 times the CPU performance and memory of the APM and a lot more as well.
- 14 PWM outputs (Pixhawk) vs. 12 PWM outputs (PX4)
- All Pixhawk PWM outputs on servo connectors (PX4: 8 on servo, 4 on 15 pin DF13 connector)
- 5 serial ports vs. 4 (with some double functionality, so only 3 in some configurations on old version)
- 256 KB RAM and 2 MB flash vs 192 KB RAM and 1 MB flash (old)
- Modernized sensor suite (latest generation)
- High-power buzzer driver (old: VBAT driven, not as loud)
- High-power multicolor led (old: only external BlinkM support)
- Support for panel-mounted USB extension (old: not present)
- Revised, improved power architecture
- Better protection on all input / output pins against shorts and over voltage
- Better sensing of power rails (internal and external, e.g. servo voltage)
- Support for Spektrum Satellite pairing (needed some manual wiring work in v1, but also software-supported)
- No more solid state relays on v2 (was not really used)
- Connectors easier to disconnect in case, as the surrounding plastic helps to place the fingers correctly (more on this in a separate post)
- Case prevents one-off failure operation of servo connectors
- The new unit is consirably larger, has the same height, but offers in general more handling convenience.
- External power supply similar to existing 3DR power brick (every unit comes with a free module).
- Both generations offer the same backup / override processor that allows failover to manual if the autopilot fails in fixed wing setups.
- For software developers the differences are nicely abstracted in the PX4 middleware, and can be sensed / configured at runtime.
Connecting and disconnecting DF13 connectors
Pixhawk analog input pins (Virtual Pin = Firmware Mapped Pin ID)
Virtual Pin 2 and Power connector Pin 4 and Virtual Pin 2: power management connector voltage pin, accepts up to 3.3V, usually attached to 3DR power brick with 10.1:1 scaling
Virtual Pin 3 and Power connector Pin 3: power management connector current pin, accepts up to 3.3V, usually attached to 3DR power brick with 17:1 scaling
Virtual Pin 4 and (No connector Pin): VCC 5V rail sensing. This virtual pin reads the voltage on the 5V supply rail. It is used to provide the HWSTATUS.Vcc reading that ground stations use to display 5V status
Virtual Pin 13 and ADC 3.3V connector Pin 4: This takes a max of 3.3V. May be used for sonar or other analog sensor.
Virtual Pin 14 and ADC 3.3V connector Pin 2: This takes a max of 3.3V. May be used for second sonar or other analog sensor.
Virtual Pin 15 and ADC 6.6V connector Pin 2: analog airspeed sensor port. This has 2:1 scaling builtin, so can take up to 6.6v analog inputs. Usually used for analog airspeed, but may be used for analog sonar or other analog sensors.
Virtual Pin 102: Servo power rail voltage. This is an internal measurement of the servo rail voltage made by the IO board within the Pixhawk. It has 3:1 scaling, allowing it to measure up to 9.9V.
Virtual Pin 103: RSSI (Received Signal Strength Input) input pin voltage (SBus connector output pin). This is the voltage measured by the RSSI input pin on the SBUS-out connector (the bottom pin of the 2nd last servo connector on the 14 connector servo rail). Can alternatively serve as SBus out but not yet implemented.
Digital outputs (50-55)
The Pixhawk has no dedicated digital output pins on its DF13 connectors, but you can assign up to 6 of the “AUX SERVO” connectors to be digital outputs. These are the first 6 of the 14 3-pin servo connectors on the end of the board. They are marked as AUX servo pins on the silkscreen. (1 – 6 with white background on image above).
To set the number of these pins that are available as digital outputs you set the BRD_PWM_COUNT parameter. On Pixhawk this defaults to 4, which means the first 4 AUX connectors are for servos (PWM) and the last 2 are for digital outputs. If you set BRD_PWM_COUNT to 0 then you would have 6 digital outputs and still have 8 PWM outputs on the rest of the connector.
The 6 possible pins are available for PIN variables as pin numbers 50 to 55 inclusive. So if you have BRD_PWM_COUNT at the default value of 4, then the two digital output pins will be pin numbers 54 and 55.
Questions about this page? Comments? Suggestions? Post to APM Forum! Use the platform specific to your query, and make sure to include the name of the page you are referring to.