Chip selection for multi-channel, triggered capacitance DAQ.


I am working on a project that requires me to measure the capacitance values of several sensors on a trigger. My current plan is to use several FDC1004s to measure the capacitance (one for each channel) with dedicated micro-controllers (ATtiny84). These will then dump the 4, 8-bit results per sample to some sort of SRAM, or EPROM(this is still unknown) . This data will then be read by another micro-controller (32P on an Arduino Uno) that will sort the data and export it as a string over the serial to the USB port. The measurements are triggered by the master micro-controller to help keep a constant timing. I have attached a drawing of what I am thinking.

My main question is this:

question) What chip can I use to “shift” the data from the dedicated controller to the master controller?

Here are a few additional comments

  • The FDC1004 are I2C chips that have a set address. This is one reason that each will be on its own controller.
  • The FDC1004 are triggered over the I2C bus, so to provide the best trigger response I will trigger the dedicated controllers on an IO port from the master controller.
  • I think I will be happy with this time delay. I am currently cycling through measurements so this will be a great improvement.
  • The FDC1004 samples at 100, 200 or 400S/s. I would like to at least be able to keep up with the 100S/s, and maybe the 200 S/s speed.
  • I am open to any suggestions as to chip selections.
  • I really like the FDC1004s as they have active shielding and I have found them to be very stable. This is the only chip I am relatively firm on using.
  • This is a design where I am more concerned with quality than saving every penny I can.

A few additional thoughts

  • I have never used the ATtiny84 before, could I tie all the clocks together? This could provide a better sample time.
  • I am not opposed to using TI micro-controllers
  • I would like to use SPI on the master micro-controller side for speed. The faster I can read the data, the faster I can trigger a new measurement.
  • I plan to have 4 TI 1004 chips, so 5 microcontrollers in all.

Any questions are welcome.

Thanks again

I have attached a picture of my current layout idea.


It seems very complicated to use all those ATtinies. Also they don't have 'real' hardware I²C. It seems to me that it would be a lot easier to use bit-banged I²C on the ATmega328P (4x). Not sure if this will be fast enough, however ...

Also, there seem to exist I²C multiplexers, although I've never used one. But this might be exactly what you're looking for.

Good luck,


Thanks for the ideas. I had not thought of bit-banging off an ATmeaga but I see how that would work. Similarly, the idea of an I2C multiplexer would allow me to select the correct FDC1004, but I would still be left cycling through all the chips. What I really want is a way to trigger the chips to take a sample ant then return those samples along with the time it was sampled.

Using the multiple controllers allows me to split the tasks up. However, I don't have any way to get the data back to the main controller.