4

In one of my projects I need six PWM outputs, 12 digital I/O and around six analog inputs to be controlled by a Raspberry Pi. What are some of the best options available to increase the I/O capability of the Raspberry Pi?

For PWM, I am thinking of getting SPI-based 12 to 16 channel PWM controllers from Adafruit. For other requirements, are there any easy-to-use products available?

Currently, the only option that comes to my mind is to wire various digital decoders, ADCs, etc. to the Raspberry Pi and control them using available I/O lines. I am looking for more robust and easy solution like I²C or SPI-interface-based controllers.

Peter Mortensen
  • 1,984
  • 2
  • 14
  • 17
Punit Soni
  • 161
  • 7
  • there are plenty of I2C enabled ADC converters or digital input chips everywhere, and this is totally unrelated to Raspberry Pi. – lenik Sep 09 '13 at 23:38
  • I am looking for some examples which are known to work with raspberry pi. – Punit Soni Sep 10 '13 at 03:42
  • any 100khz i2c should work, just don't buy 400khz "hi-speed" chips, these are more expensive and, in this particular case, the speed gain would not be worth time spent debugging. – lenik Sep 10 '13 at 04:28
  • 1
    I think your idea of the PWM controller from Adafruit is a good one. For the A2D, take a look at the Nwazet Key Lime Pi. http://nwazet.com/pi-keylime – recantha Sep 10 '13 at 08:11
  • key lime pi looks great. I wish they added IO expander, PWM and ADC all in one package. – Punit Soni Sep 10 '13 at 20:46
  • The MCP23017 and the MCP23008 are very fine chips. Very easy to use and rugged. I fail to understand why one person says to avoid chips that have high speed capabilities. I have used dozens of I2c high speed devices on the RPI without issue, –  Dec 13 '13 at 04:52

2 Answers2

1

AtoD DtoA

Board for PI This board has DtoA/AtoD, I2C and comes with scripts downloadable to get you started.

PWM Board for 16 / 32 Channels

This board has PWM and has SPI interface for 16 more Digital Pins.

1

Maybe it can be a good idea to use a recommended chip (I²C, SPI, GPIO expander) from the wiringPi library because it's simpler to code specific software based on this library... And you have a complete example (wiring, code) adapted to the Raspberry Pi.

Examples:

Peter Mortensen
  • 1,984
  • 2
  • 14
  • 17