PocketBeagle (PB) with an I2C connection to a MPU6050 breakout board. Power to the MPU6050 board is 3.3 volts from the PB.
The PB is connected to a CurieNano using uart TX and RX. This is serial port 4. The two boards have their own power supplies. There is a common ground wire between the two boards.
This configuration works well and I can send messages between the two boards. The PB has no problem “talking” to the MPU6050.
I had the power to the PB disconnected and was just using the CurieNano. I was uploading a script.
I noticed that the power LED on the MPU6050 board was on (not very bright). I measured the 3.3 volts line going into the board. It measured 1.7 volts. I also measured the 5 volts output pin on the PB. It measured 1.8 volts. As there was no power to the PB and the only other connection was the serial port, I removed the two wires. The LED went off and the voltages on the PB went to zero. Put the cable back on and voltages come back. I measured the TX and RX line from/to the CurieNano. The TX was 3.0 volts and the RX was 0.08. Removing the I2C cable had no effect.
1: Had anyone else seen this behavour? How is a voltage on a serial port on a PB with no power showing up (as a lower voltage) on the 5.0 volt and 3.3 volt output pins!!
2: Is this an issue I need to be concerned about. Could it damage the boards?
3: Is this just a design artifact of the OSD3358 when it is powered off the voltage on the RX pin is reflect via some substrate to the voltage output pins?
4: Am I missing something?
I have look for any shorts and found none. And anyway the voltage output pads on the IC are nowhere near the serial port 4 pads.
What you are describing is typical behavior for electronics and is something you need to pay attention to. According to the OSD3358 vendor, if power is not applied to the chip, voltage should not be applied to any of its pins. You should either design a circuit to prevent this, or design your system to ensure that if one board has power, both do.
Thanks for the great reply. I will change my setup so that both boards are power from the same power supply.
There are diodes inside MOS microcontrollers I/O that go from the I/O pin to the V+ power rail. Look at the diagram for a single mosfet transistor. Some diagrams will show the diode, while others don’t, but there is a diode that points from the Source (your microcontroller I/O pin) to the the Drain (the V+ of the chip). What you are seeing is the backfeed from the external serial port TX pin going through the diode from the I/O pin (source) to the V+ (drain). It typically isn’t going to be much current, but on some low power controllers it is often enough to actually run the device. Back before USB, some types of mouses that were input through the PC serial port actually used the PC’s serial TX line (and other output control lines of the serial port) to power the mouse logic circuitry, with no requirement for an separate/external power source for the mouse).
The important thing is that the amount of current from the external TX line is relatively, so not much current is going to flow through the input pin’s diode to V+. The problem happens when you have a lot of current that could flow through that input, through the diode to the V+ of the microcontroller. The diode was not specifically meant to handle the current load of driving the entire chip (and any off chip devices that may also b attached to the V+ bus the controller is on).
Thanks for the explanation. It helped a lot.