Even though HATs are not intended to be stacked, you can stack up to 62 HATs and not have an address collision, for up to 992 PWM outputs! You'll still need to provide power and write code for all those outputs but they can all share the same SDA/SCL pins no problem.

You will need to have installed stacking headers & right angle 3x4 connections for it to physically connect.

Extra Parts

If you want to stack HATs on top of this one, make sure you pick up a HAT-stacking header and solder them instead of the plain 2x20 header that comes in the kit

You'll also need a set of right-angle 3x4 headers, since you will have to have the servo connections stick out instead of up

Addressing the HATs

Each HAT in the stack must be assigned a unique address. This is done with the address jumpers on the middle right of the board. The I2C base address for each board is 0x40. The binary address that you program with the address jumpers is added to the base I2C address.

To program the address offset, use a drop of solder to bridge the corresponding address jumper for each binary '1' in the address.

This photo is from the Arduino Shield version of this driver but its the same setup

Board 0: Address = 0x40 Offset = binary 00000 (no jumpers required)
Board 1: Address = 0x41 Offset = binary 00001 (bridge A0 as in the photo above)
Board 2: Address = 0x42 Offset = binary 00010 (bridge A1)
Board 3: Address = 0x43 Offset = binary 00011 (bridge A0 & A1)
Board 4: Address = 0x44 Offset = binary 00100 (bridge A2)


This guide was first published on Jan 02, 2015. It was last updated on Dec 09, 2023.

This page (Stacking HATs) was last updated on Jan 02, 2015.

Text editor powered by tinymce.