How do I extend the number of analog pins?

Dear all,

I would like to extend the number of analog pins of my Core (I need around 20).
I am not an expert, I can expand my digital pins with MCP23017 but is there a similar system to do it?
Does anyone already tried to use some analog multiplexer?
Thank you,

1 Like

For instance you could look into multichannel ADCs that support I2C like these two


Dear @ScruffR,

thank you for your fast reply.
I have tried to look for the two components on the internet and tried to find also alternatives.
Actually I realized I have these in house: MCP3208 and MCP3008 which are both ADC that uses SPI which both should work at 3.3V.
Does anyone already tried something like this with the spark? How many of these I can connect as a slave to the spark?
Thank you for your kind reply.

I’ve not worked with one of these, but they should just do what you want.
The thing with SPI vs. I2C is that you’ll need more wires/lines to hook them to your Core.
One of these lines (Slave Select) is also the answer to you question, how many you can use.
I’m not sure if there is an actual limit, other then for electrical reasons, since all SPI devices share the data and clock lines.
As long you find a way to ensure that only one SS line is active at any time, you can hook up as many you need.

But for more insight you could look here

@d82k, these Adafruit 4-channel I2c modules may be your thing:

You can have up to 8 modules for a total of 32 single-ended ADC channels. :smile: