I have an application that uses 2 arduino uno's. The 1st one is connected to some temperature sensors. It writes data to a software serial interface, using DI/DO pins 3 (receive) and 4 (transmit) .
The 2nd arduino receives data from the 1st arduino, also using a software serial interface, also using DI/DO pins 3 (receive) and 4 (transmit). The DC ground pins of the 2 arduino's are also connected. The 2nd arduino has an Adafruit Data Logger shield. It receives data from the first arduino a couple of times a day, adds a timestamp and writes a record to the flash drive. Two separate wall worts are used to power the system - one for each of the arduino's.
The system has been working fine for several months. I needed to do some hardware maintenance on the system, so I disconnected the wall wort for the 1st arduino.
To my surprise, the 1st arduino continued to run. It didn't even get reset when its power was unplugged. I repeated the power disconnect, but this time reversing the order: with the 1st arduino powered up I unplugged the power to the 2nd arduino. And again to my surprise, the whole system (both arduino's) remained powered up and running.
The obvious implication is that the "unpowered" arduino is getting powered through the DI/DO pins. No data is being transmitted over the serial interface during this time.
How can this be? Is this normal? Is this dangerous to the electronic load of the arduino? Is there a problem with this?