GND on ARDUINO UNO differences?

I do not see a particular reason in having more GND pins for the sake of easy connections when more devices are connected, because a common ground can be build effortless around a micro breadboard for 1 USD or even less.

I read the forum posts and did an Internet search about the reason behind having 2 (3) GND pins on the Arduino UNO board.

From what I found, the 2(3) pins have different purposes.

See:

I attempted to share one GND pin between I2C LCD and a Temp sensor (both on 5V) and the Temperature shown was lower than in the case on using two separate GND pins.

Yes, I used the internal reference - but still the same situation.

It looks like the reference values (GND) changes with the load when only one GND pin is connected to more devices.

I do not look for help with my project. This is the reason why I do not post schematics and parts and code. The project only leads me to this:

Question:

I will highly appreciate any in-depth electronics-grounded explanation about Arduino GND pins.

falexandru:
I do not see a particular reason in having more GND pins for the sake of easy connections

One reason is precisely for the sake of easy connections.

falexandru:
because a common ground can be build effortless around a micro breadboard for 1 USD or even less.

Maybe that is true. And in your case, it appears to be. However, Arduino boards were designed for more people in the world than just you. Some projects your "effortless" statement is not valid. But again, that is because Arduino isn't designed just for you.

falexandru:
the reason behind having 2 (3) GND pins on the Arduino UNO board

What do you mean by 2(3) pins? That statement dosen't make sense.

falexandru:
I will highly appreciate any in-depth electronics-grounded explanation about Arduino GND pins.

There is nothing special about "Arduino GND pins." Ground is ground. An Arduino board has multiple ground connections available for use for various reasons. Just like many Integrated Circuits and other breakout-type boards have multiple ground pins. One reason is convenience. But not for easy, but for parasitics. The loop to ground should always be as short as possible. Most PCBs, like an Arduino, use a plane for ground. This plane creates shorter loops throughout the board for current paths. Because of this plane having multiple ground connections around the board allows for external hardware on different parts of the board to have short ground loops. It also allows for hardware attached to have multiple points of contact, reducing the chance for unwanted ground loops. Multiple touch points keeps the total impedance of the plane relatively close.

In the case of Arduino boards, the best explanation is this: convenience. Not everyone wants to add additional boards to their circuit. You might be the first person to question this as if it was a mistake.

@cmiyc

You posted mostly general statements along with references to my person.

I do not want to start a flame, thus I will no longer read this thread. I will try to figure out the answer by myself.

1 Like

The reason for multiple GND connections is based on generic or general information.

If you're looking for specific reasons why there is a specific number of GND pins on an Arduino board, you probably are not going to find one. The most likely explanation is to keep the pin headers symmetric. There are 6 pins for the Analog Inputs. The Power connectors only needed 5, so a second ground was added to increase the pin count to 6.

Same thing happens on the top. 8 I/O pins for the lower byte but only 6 on the upper byte. AREF shows up there, so another GND is added. This placement has two benefits: the headers are "symmetric" and you have a nearby GND pin for your AREF reference voltage. In that case, you would want as few wires as possible to get back to the board's ground plane.

I count seven ground connections on an Arduino Uno.

  • One on the coaxial power connector.
  • One on the SPI/ISP connector.
  • Two on the USB connector (one wire, one "shield.")
  • Two on the "power" shield connector.
  • One the "digital" shield connector.

Only the USB connector grounds are "special" (presumably due to "recomended wiring practices" from the USB Foundation.) The USB "power" GND connection is connected to the main GND via a "solder jumper", and I can't tell whether it's actually connected or not (my "genuine" Uno is hiding.)

All of the other GND connections are electrically identical, and connected to the same "ground plane" of the PCB.
They're strictly for "convenience" of one form or another. (the ISP connector is a "standard" and must include GND, and the barrel connector is similar. For the Arduino connectors, I figure one for power (to shields), one to go with the analog pins, and one to go with the digital pins; but they are all connected together.

I do not see a particular reason in having more GND pins for the sake of easy connections

That apparently puts you in the minority. In fact, clones with this format were recently under discussion:

That was easy. Post #2 and he's gone!

Yes what an odd chap thinking their was anything wrong about any answers he got. Odd how he wants to know something specific about a situation he doesn't understand, but is upset when you tell him what he thinks he understands he actually doesn't.

falexandru:
I do not see a particular reason in having more GND pins for the sake of easy connections when more devices are connected, because a common ground can be build effortless around a micro breadboard for 1 USD or even less.

The arduino boards have those female "header" sockets on-board. The purpose of that - is for plugging in a wire to each socket - quickly and conveniently.

Since various devices might need to have access to GND, then more than 1 GND socket can make things convenient for the users.

The method that you suggested means more effort (and/or) more money for the user to add on this extra micro bread-board that you mentioned. It also means more space/volume required.

Rather than coming in with a "I don't see" comment....... just post something like "variations in results depending on GND pin used", or something like that. And present your findings. And ask questions about how to address the problem.

Also, keep in mind that the designers have put a massive amount of thinking in their design already. A product of very smart minds, designers, programmers, marketing people etc etc. So what you see right now with the UNO is a result of significant evolution. Successors of UNO will be a result of more evolution.

Better to just open a discussion about suggestions on how you think an UNO could be improved in terms of performance/behaviour etc, and the people can then tell you a few things that might enlighten you.

I think I confused OP in another thread.
Short answer:
All ground pins of the Arduino are connected to the same ground plane, so all grounds should be the same.
Problem is that if you connect a (thin dupond) wire between Arduino grond and breadboard ground rail, those two ground can have some potential difference between them, depending on current draw of items on the breadboard.
That small voltage (millivolts) can upset sensors with a low voltage output, like the TMP36.
Therefore it's best to give those sensors their own ground wire to the Arduino.
Leo..

Maybe he thinks it's because the electrons have to travel all the way to the other side of the board????

Just measured the average resistance of a 20cm (8") dupond wire by connecting five of them in series on a good quality breadboard.
About 0.15ohm each.
A TMP36 could easilly jump a few degrees if something else on the breadboard draws a few hundred milliamps.
Leo..

Grumpy_Mike:
Yes what an odd chap thinking their was anything wrong about any answers he got. Odd how he wants to know something specific about a situation he doesn't understand, but is upset when you tell him what he thinks he understands he actually doesn't.

The problem could be in the language we choose to answer a question, state a fact or non fact, encourage or discourage. What one reads or misreads, hears or hears improperly, guides us into what we think and say. The poor fellow was guided by misinformation and misconception and was not ready to accept a different opinion. It would have been better for him to listen to all points of view, then decide what he thought the answer should be.

Happens a lot, especially on forums. LOL

By the way. Most all high frequency electronic circuits require a ground plane. Anything much over 1 MHz. Extremely close ones at GHz frequencies

Ancient radio nerd

It would have been better for him to listen to all points of view, then decide what he thought the answer should be.

First half of that statement--yes, but you cannot pick your own answers. False != True

falexandru:
I attempted to share one GND pin between I2C LCD and a Temp sensor (both on 5V) and the Temperature shown was lower than in the case on using two separate GND pins.

What some people are saying here is ....... assume all the GND pins of the arduino are assigned to 'zero Volt'.

If you then connect a wire from a arduino GND pin to some other place..... eg. point "A" (on your bread-board or whatever), then there will be resistance to consider in that length of connecting wire.

If a significant amount of current runs through that wire (such as return current from an LCD module), then the voltage at point A will not be zero (due to Ohms law, V = I.R). So if your temperature sensor has one of its terminals connected to point A, then you need to remember that the voltage at point A is not necessarily 'zero Volt'.

So, it might be best to plug the reference terminal of the temperature sensor into one of the unused GND sockets. Either that..... or run some kind of temperature calibration procedure.... which would require extra equipment to do that.