Pi5 Servo HAT
Precision Servo Driving and Force Sensing on One Raspberry Pi HAT.
Akshat Kumar, Vinay Agarwall, Luai Abuelsamen
Pi5 Servo HAT
Precision Servo Driving and Force Sensing on One Raspberry Pi HAT.
Akshat Kumar, Vinay Agarwall, Luai Abuelsamen
Overview:
This custom HAT transforms the Raspberry Pi 5 into a powerful control hub for autonomous robots by integrating high-current servo control and high-resolution force sensing into one compact board. A major issue with the robot is its harsh nature, driving around in an attic environment with lots of shock loads. This PCB provides a reliable interface between the Pi and key hardware components. The board runs entirely off a single 24V input, handling all power regulation and I²C multiplexing internally.
Description:
TThe HAT features four dedicated servo motor channels, each powered with a regulated 7V @ 2.5A (up to 10A total), and controlled via PWM signals from the Raspberry Pi. For sensing, it includes four NAU7802 24-bit ADCs, each connected to a load cell via 4-pin connectors, enabling precise force or tension measurement. Since these ADCs share the same I²C address, a PCA9546A I²C multiplexer is used to manage communication by isolating each ADC on a separate channel.
A single 24V power input feeds two onboard buck converters: one delivering 7V for the servos, and another providing 5V @ 5A to power the Raspberry Pi via GPIO or USB-C. The design also includes essential components for reliability and signal integrity, such as I²C pull-up resistors, 100nF decoupling capacitors per ADC, and optional MOSFET switches for servo power control.
With plug-and-play connectors for servos and load cells, this HAT simplifies the development of responsive, feedback-driven robotic systems using off-the-shelf components and the Raspberry Pi ecosystem.
Features:
Servo Control: Supports four independent servos with direct 7V @ 2.5A power delivery (up to 10A total), and PWM signals sourced from the Raspberry Pi GPIO.
Load Sensing: Integrates four NAU7802 24-bit ADCs, each connected to a load cell via 4-pin connectors, for precise tension/load measurement.
I²C Multiplexing: A PCA9546A I²C multiplexer handles communication with all four ADCs, isolating each to avoid address conflicts on the bus.
Power Regulation: Accepts a single 24V input to power the entire system. Dedicated buck converters regulate:
7V for servos (10A total)
5V for Raspberry Pi (5A) via GPIO or USB-C
Electrical Design: Includes I²C pull-up resistors, decoupling capacitors for each ADC, and optional power switching for servos via MOSFETs.
Connectors: Four 3-pin headers for servos, four 4-pin headers for load cells, and a robust power input terminal.
BOM:
RPi Layout
This schematic outlines a custom Raspberry Pi 5 HAT engineered for autonomous robot control, integrating high-current servo actuation with onboard power regulation and I²C communication. The board is powered by a single 24V input, from which two buck converters generate 5V @ 5A for the Raspberry Pi and 7V @ 10A for servo motors. PWM signals from the Pi’s GPIOs drive four servos directly, while I²C communication is supported through properly pulled-up lines and addressable EEPROM for HAT identification. Diagnostic LEDs, decoupling capacitors, and MOSFETs for power control enhance the system’s robustness. This HAT serves as the control and sensing hub for force-aware, high-performance robotic systems.
GPIO Header: Connects to Raspberry Pi 5 with access to I²C, UART, and 4 PWM outputs for servos.
Servo Control: 4x PWM channels, powered by a 7V 10A buck regulator.
Power Conversion:
24V input
5V 5A (Raspberry Pi) via LMR51450
7V 10A (servos) via LM5146
EEPROM: HAT identification over I²C (CAT24C32).
I²C Pull-ups & Decoupling: Ensures clean signal and power integrity.
Diagnostic LEDs: Visual feedback for system status.
Load Cell Layout:
Power: Supplied externally with 3.3V to AVDD/LDO and DVDD — internal LDO is not used.
Input Channel: Using Channel 1 (VIN1P/VIN1N); Channel 2 is unused.
Reference: Using external reference from the load cell (REFP and REFN connected).
Decoupling: Capacitors are correctly placed on power and reference lines for stability.
Must fit within the Raspberry Pi 5 footprint, limiting layout space for components and routing.
High connector count: 2 motor, 2 power, 4 servo, 4 load cell—tight placement needed.
Single 24V input must power high-current loads: 10A for servos, 5A for the Pi—adds complexity in power regulation and heat management.
All four NAU7802 ADCs share the same I²C address—requires a PCA9546A mux and careful signal routing.
Limited to 0402 components for bring-up—adds density but increases assembly and rework difficulty.
Optional MOSFET switching for servo power adds complexity in power path control and logic level handling.
Missing resistor to ground on 0402, which caused no power to 5V out