Is there some sort of I2C 4-channel or 16-channel analog input board available? Also, can I basically attach any Grove I2C device to a GoPiGo I2C port?
The GoPiGo3 directly supports two simultaneous A2D channels directly, and can sample four channels two at a time.
The following is my experience - it may be incorrect:
When talking about I2C on the GoPiGo3 / RaspberryPi, there are two hardware I2C paths and a software I2C path.
- HW I2C path through the GoPiGo3 that is a 5v I2C channel. 3.3v I2C is not compatible.
- SW I2C path through the GoPiGo3 that is also 5v I2C - not for 3.3v I2C.
- HW I2C direct to the Raspberry Pi is 3.3v compatible. (If you want to use this path and one of the “through the GoPiGo3” paths for Grove I2C components, you will have to derive your own thread-safe I2C interface from the dexter_i2c lock for the RaspberryPi 3.3v I2C devices.)
Depending on your I2C sensors sampling rates, you may find that SW I2C will lock up occasionally where HW I2C may not exhibit this issue.
Depending on your sensor suite and your requirements, some sensors will not achieve the stated accuracy, so tread carefully and plan to use multi-sample averaging (which limits sensor sample rate by a factor of three to ten).
You can check out Adafruit and/or Sparkfun, as they have a number of i2c breakout boards - though you do have to watch the voltage spec. though. Especially Adafruit’s, as they typically run in the 3.3v range.