2 Arduinos via Hardware Serial: supply voltage warning?


I want to connect two Arduinos via the hardware serial. [tx -> rx; rx -> tx; common ground; common battery power (regulated to 5 V)]

Now, I recently heard I have to ensure that the first Arduino does not put a voltage on the hardware serial before the second Arduino has got supply voltage and vice versa.

The reason is that the Datasheet sais about the "absolute maximum ratings": "Voltage on any Pin except RESET with respect to Ground: -0.5V to VCC+0.5V" So if the supply voltage is 0 V, you can only put up to 0,5 V on that pin.

The solution would be to put two 10 kOhm resistors in between. I could do that, no problem, but I'm curious because I cannot find anything about that in tutorials, in a forum or in google. They all just wire both Boards together.

Can anyone tell me anything about this warning?


“common ground; common battery power”

That would take care of it right there. The 10K resistors will limit current flow to 0.5mA and may degrade your signal integrity, any inherent capacitance will be slow to charge/discharge and you will see that as increased rise & fall times on signal edges.

Otherwise, yes, try not to apply 5V to an IO pin on a device whose own VCC has not been turned on yet to avoid damaging anything.

Well let me share the whole plan with you:

The second “Arduino” is a EL Sequencer (which got the Atmega328 like the Arduino).
And the battery source is 12 V which is split to power the Inverter.
…see the schematics / attachment.

Still, the source to power the two ATmega328 processors is the same: the 12 V (and regulated down to 5 V) Battery.
So this should still work?

There have been postings talking about what can happen when applying active signals to unpowered chips. It is basically a case of current seeking a path to ground and as AVR chips typically have clamping diodes on all I/O pins it exposes a path to either ground or Vcc. It's the common ground connect that exposes this kind of multiple board hook-up problem potential.

However there is in the case of serial connections between multiple arduinos, a easy and inexpensive fool proof interface method. That is to have a optoisolator chip between the receive pin and the external signal path for each board. Then the arduino serial output pins would be just driving the equivalent of a 20ma led circuit and the receiving arduinos would not see any active voltage if they were powered down.

So, the so called "Opto-isolator Breakout" [http://www.sparkfun.;com/products/9118] of sparkfun would help avoidngi tp gtoa amximnm of 5V to supplly the ATmega328) and all of a duddnburnes the blue smoke out of it..?

Just about every chip I have worked with is a lot tougher than you would think. Just put a 220 ohm or so resistor in series with the I/O interconnects. 10k would not leave much room for stray capacitance.

Fraction: of sparkfun would help avoidngi tp gtoa amximnm of 5V to supplly the ATmega328) and all of a duddnburnes the blue smoke out of it..?

oh my god... i will not reply in the middle of a long friday night again. I can't even tell what my own scentence means. :sweat_smile:

Anyway, I'll try the communication with resistors from 10k to 220 Ohm - if the greatest doesn't work i'll take a smaller one. I'd appreciate any further opinion. Thanks!