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)
- 13 Powering
- 14 Voltage Ratings
- 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.
Pixhawk should primarily be powered via its power port as shown in the picture above, The power port simultaneously powers Pixhawk and reads voltage and current analog measurements produced by an optional 3DR power module (or other voltage/current measurement devices such as an Attopilot). To power Pixhawk off the servo rail without a power module, connect a servo or BEC to a power (+) pin and a ground (-) pin of the main outputs. When powering Pixhawk off the servo rail, we recommend adding a Zener diode (part number 1N5339) to condition the power across the rail and prevent it from becoming too high. This method (with Zener diode) can also be used as backup power for Pixhawk when using a power module, so in the case of a failure on the power module, Pixhawk will take power from the output rail. See the voltage ratings below for more information on powering Pixhawk. Note: The Zener diode should not be used with servos with more than 5V.Digital servos can feed up to 11v into the servo rail when powered off an external 5.1v bec.Pixhawk does not supply power to the servo rail. Looking for a detailed explanation of power wiring with Pixhawk? Click here for more information about connecting ESCs and servos to Pixhawk.
The block diagram above synthesizes an overview of Pixhawk’s power and ESC wiring, Diagram acronyms: PDB = Power Distribution Board. PM = pixhawk power port. PM/Atto = optional power module from 3DR or Attopilot alternative for higher than 4S battery voltages. In this diagram, a 3DR power module (or equivalent device) power Pixhawk through its power port (primary source). One power source is enough but obviously not redundant if the power module fails to power this primary source. Therefore we have represented on the diagram a second backup power source via a 5V BEC that wires to Pixhawk’s output servo rail. If the primary source fails, Pixhawk will automatically switch to this second power source.
Advanced configuration : triple redundant power sources (power module as primary , plus two backup BECs – instead of one- to power Pixhawk’s servo rail): A simple Tie bus circuit can be used to make the secondary power source redundant ! (therefore the power module can fail, a secondary BEC can fail while the third BEC will take over). In this scheme, a simple MBR1545CT integrated circuit is used. This circuit takes two BEC on its inputs and outputs only of of the two BEC according to the highest voltage (i.e. if BEC1 outputs 5.25V and BEC2 outputs 5.45V, MBR1545CT will pass BEC2 and blocks BEC1). Here a tie bus circuit wiring diagram and example realisation with the MBR1545CT integrated circuit and a 6 pin JST connector:
- Always connect a ground reference wire with your ESC’s signal wires on pixhawk servo rail (output ports 1-8). Indeed an ESC’s signal wire should never be left floating without its ground reference (THERE IS NO SETUP WHICH WOULDN’T REQUIRE SIGNAL GROUND TO BE CONNECTED).
- It is dangerous to power the Pixhawk only from the servo rail, especially with digital servos. Servos may cause voltage spikes (as shown on illlustration below that shows the servo rail voltage on an oscilloscope when a single digital servo attached to a Pixhawk is moved rapidly ). The key thing is that the digital servo causes the voltage on the rail to rise above the critical 5.7V level. Above that level the Pixhawk power management will cut power to the FMU and the Pixhawk will reboot. If that happens when flying you will lose your aircraft.
It is up to the user to provide a clean source of power for the cases when it is powered off the servo rail. Servos by themselves are not quiet enough.
- Do not connect a BEC power source to the RC IN port (black ground, red power and white signal wires from the receiver’s PPM ouput are connected to these RC pins)
- Adding an external Zener is a recommendation specifically for systems that are using 5V servos and have the servo rail configured for back up power. Connect the recommended Zener diode with its polarity as indicated on the diagram. Use as short wires as possible or even better, use a standard 3 position JR servo connector with the diode legs directly inserted (and soldered) in the servo female pins. To complement the diode, it is also useful to add a capacitorin parallel to the diode. The capacitor will smooth out eventual voltage ripples. As advised for the diode, the capacitor should be connected with as short wires as possible. Do not oversize the capacitor.
Pixhawk can be triple-redundant on the power supply if three power sources are supplied. The three rails are: Power module input, servo rail input, USB input.
Normal Operation Maximum Ratings
Under these conditions all power sources will be used in this order to power the system.
Power module input (4.1V to 5.7V) [refers to the voltage coming into Pixhawk from the power module]
Servo rail input (4.1V to 5.7V)
USB power input (4.1V to 5.7V)
Absolute Maximum Ratings
Under these conditions the system will not draw any power (will not be operational), but will remain intact.
Power module input (0V to 20V) [refers to the voltage coming into Pixhawk from the power module]
Servo rail input (0V to 20V)
USB power input (0V to 6V)
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.