I'm using a number of MCP3208 ADCs to read from remotely-mounted analogue sensors. I'm planning on having a remote PCB which contains the power/ground rails, voltage dividers (where required), multiplexers (where required) and MCP3208s for the array of sensors, with the output signal going to my RPi. The RPi will be mounted approximately 3m away; the cable run shouldn't experience any major electrical interference. I expect sample frequency to be less than 10kHz.

What's the most robust, 'commercial' approach to this situation? Should I stay with SPI, look at adapting the SPI to a differential signal such as RS-485, or look at using a different ADC solution which uses a protocol other than I2C/SPI to begin with?

1 Answer 1


you will need to have another micro there - this the most reliable solution. Or use long range I2C IC-s as described here

You can can actually archive 120k clock speed on 250m connection - but I am not a fan of such constructions. Personally I prefer micro in the middle and proper RS-4xxlink.

  • Thanks for your comment Peter. Are you familiar with such a micro which would allow conversion to (and from at the RPi end) RS-4xx?
    – jars121
    May 3, 2017 at 21:47
  • To be honest - any with hardware SPI / I2C & UART. Cheapest STM32F0 (about 50p/100 in the UK) will do May 3, 2017 at 23:21
  • Brilliant, thanks again Peter. I'll do some research and see how I go.
    – jars121
    May 3, 2017 at 23:24

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.