The Pixhawk 6x is an advanced flight control hardware developed by HolyBro. It is designed for drones and other unmanned vehicles, offering high processing power, multiple sensor inputs, and compatibility with various autopilot software platforms such as PX4 and ArduPilot. The Pixhawk 6x enables precise navigation, control, and automation for a wide range of aerial, ground, and marine applications.
Explore Projects Built with Pixhawk 6x
Use Cirkit Designer to design, explore, and prototype these projects online. Some projects support real-time simulation. Click "Open Project" to start designing instantly!
This circuit is designed for a multi-motor application, likely a drone or a similar vehicle, featuring eight brushless motors controlled by two 4-in-1 electronic speed controllers (ESCs). The ESCs are powered by a 3s2p 18650 battery pack and interfaced with a Pixhawk flight controller for motor management. Additionally, the system includes a Raspberry Pi 4B for advanced processing and control, which is connected to a NoIR camera module and a cooling fan, and a power module to supply and monitor the power to the Pixhawk.
This circuit features an Arduino UNO microcontroller interfaced with a NEO-6M GPS module, an MPU6050 accelerometer/gyroscope, an HC-SR04 ultrasonic sensor, an OV7725 camera module, and a FLYSKY FS-IA6 receiver. It controls four brushless motors through electronic speed controllers (ESCs), which are powered by a 12V battery. The ESCs receive control signals from the Arduino, which likely processes input from the sensors and receiver to adjust the motor speeds, suggesting this could be part of a drone or a similar remotely controlled vehicle.
This circuit is a quadcopter control system that includes a LiPo battery, four BLDC motors, four ESCs, a KK2.1.5 flight controller, and an FS-R6B receiver. The KK2.1.5 flight controller manages the ESCs and motors based on input signals from the receiver, which is powered by the LiPo battery.
This circuit is designed to control multiple brushless motors using electronic speed controllers (ESCs) managed by a Pixhawk flight controller. The system is powered by a LiPo battery, and a Raspberry Pi 4B is used for additional processing and interfacing with a camera module. The ESCs receive power from the battery and control signals from the Pixhawk, which in turn communicates with the Raspberry Pi for telemetry and control purposes.
Multirotor drones for aerial photography, mapping, and surveying
Fixed-wing UAVs for long-range missions
Autonomous ground vehicles (AGVs) for industrial or research purposes
Marine vehicles such as autonomous boats or submarines
Robotics projects requiring advanced navigation and control
Technical Specifications
The Pixhawk 6x is a compact yet powerful flight controller with the following key specifications:
General Specifications
Processor: STM32H743, 32-bit ARM Cortex-M7, 480 MHz
IMUs: Dual IMUs (ICM-42688-P and BMI055) for redundancy
Barometer: MS5611
Power Supply: 4.3V to 5.4V input voltage range
Dimensions: 38.5 mm x 55.5 mm x 15.5 mm
Weight: 15.8 g
Connectivity
UART Ports: 6
I2C Ports: 2
CAN Ports: 2 (with CAN FD support)
SPI Ports: 1
PWM Outputs: 8
USB: Micro-USB for configuration and firmware updates
SD Card Slot: Supports microSD cards for data logging
Pin Configuration and Descriptions
The Pixhawk 6x features multiple connectors for peripherals and sensors. Below is a summary of the key pin configurations:
Power Input
Pin Name
Description
Voltage Range
VDD_5V
Main power input
4.3V - 5.4V
VDD_3.3V
Internal 3.3V power output
3.3V
PWM Outputs
Pin Name
Description
Signal Type
PWM1
Motor/servo control output
PWM
PWM2
Motor/servo control output
PWM
PWM3
Motor/servo control output
PWM
PWM4
Motor/servo control output
PWM
PWM5
Motor/servo control output
PWM
PWM6
Motor/servo control output
PWM
PWM7
Motor/servo control output
PWM
PWM8
Motor/servo control output
PWM
Communication Ports
Port Name
Description
Protocol
UART1
Serial communication port 1
UART
UART2
Serial communication port 2
UART
I2C1
Sensor communication port 1
I2C
I2C2
Sensor communication port 2
I2C
CAN1
CAN bus port 1 (with CAN FD)
CAN
CAN2
CAN bus port 2 (with CAN FD)
CAN
SPI
High-speed sensor interface
SPI
Usage Instructions
The Pixhawk 6x is a versatile flight controller that can be used in a variety of unmanned vehicle applications. Below are the steps and best practices for using the Pixhawk 6x in a typical setup:
Step 1: Powering the Pixhawk 6x
Connect a compatible power module to the VDD_5V input. Ensure the input voltage is within the range of 4.3V to 5.4V.
Use a backup power source (e.g., a LiPo battery) for redundancy if required.
Step 2: Connecting Peripherals
Attach motors or servos to the PWM outputs. Ensure the correct mapping of motors for your vehicle type (e.g., quadcopter, hexacopter).
Connect sensors (e.g., GPS, magnetometer, or rangefinder) to the appropriate I2C, UART, or SPI ports.
Use the CAN ports for advanced peripherals such as UAVCAN-enabled devices.
Step 3: Configuring the Firmware
Download and install the PX4 or ArduPilot firmware using the QGroundControl or Mission Planner software.
Connect the Pixhawk 6x to your computer via the Micro-USB port.
Follow the on-screen instructions in the software to flash the firmware and calibrate the sensors.
Step 4: Testing and Deployment
Perform a pre-flight check to ensure all sensors and actuators are functioning correctly.
Test the vehicle in a controlled environment before deploying it in real-world scenarios.
Arduino UNO Integration Example
While the Pixhawk 6x is not typically used with an Arduino UNO, it can communicate with it via UART for custom applications. Below is an example of Arduino code to send data to the Pixhawk 6x:
#include <SoftwareSerial.h>
// Define RX and TX pins for communication with Pixhawk
SoftwareSerial pixhawkSerial(10, 11); // RX = pin 10, TX = pin 11
void setup() {
// Initialize serial communication
Serial.begin(9600); // For debugging
pixhawkSerial.begin(57600); // Pixhawk communication baud rate
Serial.println("Arduino-Pixhawk communication initialized.");
}
void loop() {
// Send a test message to Pixhawk
pixhawkSerial.println("Hello Pixhawk!");
// Check for incoming data from Pixhawk
if (pixhawkSerial.available()) {
String incomingData = pixhawkSerial.readString();
Serial.print("Received from Pixhawk: ");
Serial.println(incomingData);
}
delay(1000); // Wait 1 second before sending the next message
}
Best Practices
Always use shielded cables for critical connections to minimize electromagnetic interference (EMI).
Regularly update the firmware to benefit from the latest features and bug fixes.
Use vibration dampening mounts to reduce noise affecting the IMUs.
Troubleshooting and FAQs
Common Issues and Solutions
Issue: Pixhawk 6x does not power on.
Solution: Verify the power supply voltage is within the specified range (4.3V to 5.4V). Check all power connections.
Issue: Motors or servos are not responding.
Solution: Ensure the PWM outputs are correctly connected and configured in the firmware. Verify motor/servo calibration.
Issue: GPS signal is weak or unavailable.
Solution: Place the GPS module in an open area away from obstructions. Check the GPS connection to the I2C or UART port.
Issue: Communication with the computer fails.
Solution: Ensure the correct USB drivers are installed. Try a different USB cable or port.
FAQs
Q: Can the Pixhawk 6x be used with custom autopilot software?
A: Yes, the Pixhawk 6x supports custom firmware development using PX4 or ArduPilot.
Q: What is the maximum number of motors the Pixhawk 6x can control?
A: The Pixhawk 6x can control up to 8 motors using its PWM outputs.
Q: Does the Pixhawk 6x support telemetry?
A: Yes, telemetry modules can be connected via UART or CAN ports for real-time data transmission.
Q: Is the Pixhawk 6x compatible with UAVCAN peripherals?
A: Yes, the Pixhawk 6x supports UAVCAN peripherals via its CAN ports.
This concludes the documentation for the Pixhawk 6x. For further assistance, refer to the official HolyBro user manual or community forums.