Connecting Grounds?

Ok, long story short, I am making a TAS bot with my Uno for the Super Nintendo.

I'm definitely much more of a programmer than I am a hardware person, so I need some help. I've found two different guides to reference in this project, one of which is a guide to creating a SNES controller out of the Arduino (essentially what I need) and the other, a bot (what I want to do) but for the original NES, which has an identical controller system other than there being less buttons.

Now, my question is regarding the grounds. In the first link, the 5V coming from the controller cable is used to power the shift registers and the registers are also grounded to the console through the controller cable. The only thing coming from the Arduino is the output pins which correspond to each button. This actually functions fine for me.

On the second link, it's essentially the same thing(ignoring the SD card) but the author mentions connecting the NES ground to the Arduino ground, which sounds totally logical to me but when I do that with my circuit the light on my SNES actually comes on(while the console is powered off) when the Arduino is powered either by USB or batteries which means the Arduino is some how forcing power back into the console, which I don't think should be happening. Everything still works like this but it worries me and I've rebuilt the circuit numerous times now thinking I had something connected wrong.

Is this because of there being two different power sources and the 5V of the Arduino is not being utilized? I figured since the Arduino is using the output pins, the ground should be connected, but maybe I'm wrong? I can power the Arduino with the console's 5V line and connect the grounds once I'm done programming, which works fine too, but I'm still curious as to what is going on here.

Your getting power from a I/O pin which happens some times. Phantom power It happens a lot with serial I have 2 USB to serial that the leds light up dim as long as the USB is hooked up there find but if the arduino is hooked to them and has power it will light the power led dimly. without the serial USB adaptor plugged in to usb. I just keep them both powered off till I use them I tested it there was not much being used.

It is known as parasitic powering, it comes through the static protection diodes. It applies to all electronics, the rule is never connect any input to a device which is not powered.
If you must however then connect it through opto isolators.

It applies to most CMOS chips, not all electronics! MOSFET gates are isolated for instance so it
doesn't apply to them, and driving the base of a BJT when the collector isn't active usually has
no ill-effect.

Hi, I hope it is ok to bump this old thread since I am facing the exact same problem and wanted to know whether my solution is correct.

This is my schematic (this is the first time ever I created such a schematic, so please be indulgent - I know the wiring is pretty hard to follow):

I explicitely added the GND and 5V lines to better illustrate my problem.

Short overview:

  • To the left we have the Arduino Pins
  • Top right is the connection to the console
  • Bottom right is a connection to an input controller (not relevant to this question, so ignore it)

As you can see, GND of the Arduino is connected to GND of the console.

When the console is powered off, but the Arduino has power I can observe the behaviour described in the original post - the console LED lights up dimly, so it seems current is forced back into the console.

After adding the Diode D1 to the 5V line of the console everything seems ok - the console LED stays dark when powered off, but the whole circuit still works when I power it on.

Are there any apparent downsides to my solution?