Maximum PiicoDev devices daisychained and how to expand them?

Hey,

Sort of a silly question, but what’s the maximum amount of PiicoDev devices a Pico could handle? Is there any way to expand that number? I’m talking about the IDs on each device.

Thanks!

2 Likes

Hi Kin,

Welcome back!

If your chain runs out of addresses for the modules that you need more of a mux, is an easy to deploy solution: Adafruit PCA9546 4-Channel STEMMA QT / Qwiic I2C Multiplexer - TCA9546A Compatible | Buy in Australia | ADA5664 | Core Electronics
We have a PiicoDev driver for this IC: GitHub - CoreElectronics/CE-PiicoDev-PCA9546-MicroPython-Module

Or you could use the Pico’s second I2C bus.

Depending on the modules you are using you might hit the 3.3V rails current limit, the OLED is the biggest power draw module at around 25mA, the Pico is good for 150mA.

Keen to see what you make!
Liam

2 Likes

Most PiicoDev devices allow changing their I²C address with jumpers or software.

However, some devices have a limited number of ID options. For example, a PiicoDev sensor might allow only 2–4 unique addresses, which quickly limits how many identical sensors you can put on one bus.

2 Likes

From a Google AI search.

The typical I²C address range uses a 7-bit addressing scheme which allows for addresses from 0 to 127 (or 0x00 to 0x7F in hexadecimal), though a practical limit is imposed by reserved addresses. Addresses in the range of 0x00 to 0x07 and 0x78 to 0x7F are reserved for special purposes and are generally not available for user devices, leaving the effective range from 0x08 to 0x77.

But there are other factors too. Number of pullups, length of wire connecting them, current capacity, and amount of time to process a large number.

Cheers
Jim

3 Likes