I want to transmit data from multiple sensors to an Arduino and distance would be approximately 120 meters.

What protocol or configuration should I use?

Actually I am trying to read values from 5 temperature sensors located in 5 different spots of warehouse. I want to read them and trigger some relay based on the values.

I thought about I2C but I have read somewhere that its not built for long distances. Also thought about RS-485, but I don't know if that supports bus (connect all sensors to same line).

Which solution do you suggest?

  • 1
    You want to transmit ~120m over wire. If wireless is adequate, see SX1278 ICs and LoRaLib (50m in dense forest, 200m in urban terrain, more with LOS). If you stick with wired, use CAT5 cable or better, it’s well insulated against EMI and cheap. CAT5E/CAT6 is better, costs a bit more. You could use coax RG6, which is just wonderful. – user2497 Dec 9 '17 at 13:08

While thinking about RS-485, did you read about it? It is a bus. It is designed for long distances.

| improve this answer | |
  • So if i use rs485(via max485) will i have to use microcontroller on every side between bus and sensors ? Or its enough to connect the sensor (analog sensor) to max485 directly ? – Safa Seed Dec 7 '17 at 20:48
  • You will need some kind of controller to react to the bus. RS-485 is a digital bus specification, you cannot just put analog signals on it... Each node will have to have an address assigned to it and respond to the bus master's requests. – jose can u c Dec 7 '17 at 20:51
  • Thanks for your answer jose. One last question: will i need that kind of controllers if the sensors be digital? – Safa Seed Dec 7 '17 at 20:57
  • Since this is arduino.stackexchange -- An Arduino will make an excellent bus access controller. And you will need one even if the sensor is digital. Something has to have the smarts to handle bus access. – jose can u c Dec 7 '17 at 21:01

I2C is not built for long distances (max. some meters) But you can make it via RS485, But you will need to add termination resistors to each end.

| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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