2

I have multiple arduinos that are each powered by a 12v battery through a 5v regulator. All arduinos share a common ground. Can I simply connect the digital output from one arduino into the digital input of another? I'm worried the (small) voltage differences between each regulator could cause a problem.

  • Can you tell more? Add the extra information to your question. How many is multiple? 3 or 3000? Please explain the distances and what else is going on. Do you use SoftwareSerial for the communication? Are there powerful motor or other things nearby? Is the digital signal in a wire next to other wires with current peaks? You could add a protection resistor of 1k at the input, but you can also try wireless or with a optocoupler. – Jot Aug 31 '18 at 7:10
  • 1
    Small differences in power supply will have no effect. Very long distances could have an effect though. How far apart are the Arduinos? – Majenko Aug 31 '18 at 8:32
  • According to the datasheet, the input voltage on an input pin should be between -0.5V to VCC+0.5V. You you have 0.5V of margin. For added safety you could add a 1-10k resistor in between the two. – Gerben Aug 31 '18 at 13:15
1

It's ok if the distance between the two devices are not too big. (couple meters)

Since the valid logic level (voltage) ranges are pretty wide a small difference won't affect the operation of the devices. Arduino uses TTL (5V) logic so let's see the level diagrams:

TTL levels

If you see the output level ranges (on the right) are more strict than on the input side (on left) so the logic value remains valid even if a small voltage drop or noise occurs on the wire.

Make sure you won't connect two outputs directly since it can damage the microcontrollers. Connecting two inputs are totally safe.

EDIT: If you want to cover longer distances you need to use a balanced line e.g. differential I/O-s, RS-485 or CAN. These are not default Arduino features so you'll need additional electronic to use them.

  • 1
    Well "totally ok" is a stretch. Not all 0V is equal and if the common 0V is noisy, long or current carrying you could have false level shifts. An RS485 link would be better with its high CM range. This probably will work but universally ? No – Naib Aug 31 '18 at 12:57

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.