Fundamentos · 11 min de lectura

Qué es GND y por qué necesitas una tierra común en Arduino

Qué es GND y por qué hace falta una tierra común: tensión de referencia, fuente externa y GND de Arduino, bucles de masa, masa en estrella y toma de tierra.

La respuesta corta a qué es GND: es el punto de referencia de 0 voltios respecto al cual se miden todas las tensiones del circuito. El nombre viene del inglés "ground", y en español también se le llama tierra, masa o simplemente negativo. El pin de 5V del Arduino significa en realidad "5 voltios respecto a GND"; los 2,5 V de la salida de un sensor solo tienen sentido respecto a una masa. La mayoría de las averías misteriosas de los principiantes, como servos que tiemblan, sensores que leen disparates y placas que se reinician solas, vienen en realidad de un solo cable que falta: la tierra común.

En este artículo explicaré con una comparación sencilla por qué GND es una "referencia", mostraré cómo unir correctamente las masas al usar una fuente externa, explicaré con números de dónde salen los bucles de masa y el ruido, y te enseñaré a separar las masas del motor y del sensor con la masa en estrella. También veremos en qué se diferencia el GND del circuito de la toma de tierra de los enchufes y los casos en que las masas se mantienen separadas a propósito. Tienes lo básico sobre alimentación en cómo alimentar un Arduino.

¿Qué es GND? ¿Por qué la tensión se mide entre dos puntos?

La tensión no es una propiedad de un solo punto, sino la diferencia de potencial entre dos puntos. Piénsalo como la altura: cuando dices que una mesa mide "80 cm de alto", sin darte cuenta tomas el suelo como referencia. Si esa misma mesa está en el 10.º piso de un edificio, su altura sobre el nivel del mar supera los 30 metros. En electrónica, GND es ese "suelo". Cuando apoyas la punta negra del multímetro en GND y la roja en un punto, lees la tensión de ese punto respecto a GND. Si pones la punta negra en otro sitio, el mismo punto muestra un valor totalmente distinto. Por eso, cuando decimos "5 V" en un circuito, siempre queremos decir "respecto al GND de este circuito".

TérminoSignificadoDónde lo verás
GND / 0VPunto de referencia del circuitoArduino, ESP32, Pico y todos los módulos
Negativo (-)Borne de retorno de la fuente, normalmente unido a GNDPilas, adaptadores, fuentes de laboratorio
VCC / VIN / 5V / 3V3Alimentación positiva respecto a GNDPines de alimentación de módulos y placas
COMTerminal común; a menudo GND, pero en los relés es el contacto comúnRelés, pulsadores, instrumentos
AGND / DGNDMasas analógica y digital separadas, unidas en un puntoADC, audio y medición de precisión
ChasisMasa unida a la caja metálicaEquipos con caja, vehículos
Toma de tierra (PE)El cable verde-amarillo del enchufe, para seguridadInstalación eléctrica de 230 V

¿Por qué hace falta una tierra común?

Cuando el Arduino envía una señal a un servo o módulo, en realidad dice "mi pin está a 5 V respecto a mi GND". El receptor lee esa señal respecto a su propio GND. Si las masas de los dos dispositivos no están unidas, no hay un suelo común; a ojos del servo, los 5 V del Arduino pueden ser 5 V, 2 V o -3 V. Hay además un problema más básico: la corriente siempre circula en un circuito cerrado. La corriente de señal sale del pin del Arduino, atraviesa la entrada del receptor y tiene que volver por GND. Sin camino de retorno la señal no llega a formarse bien, o los cables actúan como antenas y captan interferencias. En resumen: si dos dispositivos se envían señales, sus masas deben estar unidas.

Fuente externa y Arduino: unir las masas

Servomotor MG996R
Los servos potentes como el MG996R consumen más de 1 A con carga; deben alimentarse con una fuente externa de 5-6 V, no desde el pin 5V del Arduino.

El caso más habitual: un servo, motor o tira de LEDs se alimenta con un adaptador aparte porque consume más corriente de la que el Arduino puede dar. En la conexión correcta solo se unen las masas y los positivos quedan separados. Así la corriente de la carga sale de la fuente externa y vuelve a ella, mientras el Arduino solo aporta la señal. La tabla muestra la conexión de un servo MG996R alimentado con un adaptador externo de 5 V; la misma lógica vale para un MOSFET que controla una tira de LEDs de 12 V o para una placa controladora de motores.

CableDónde va¿Por qué?
Servo rojo (+)Adaptador externo +5 VLa corriente del motor no pasa por el Arduino
Servo marrón (-)GND del adaptador externoCamino de retorno de la corriente del motor
Servo naranja (señal)Arduino D9Señal PWM de posición
Cable puenteEntre el GND del adaptador y el GND del ArduinoReferencia común para la señal
+5 V del adaptador al 5V del ArduinoNo se conectaLas dos fuentes podrían empujarse corriente
C++ (Arduino IDE)
1// Harici 5 V ile servo, ortak GND / servo on an external 5 V supply, common GND
2#include <Servo.h>
3
4const int SERVO_PIN = 9;   // turuncu sinyal kablosu / orange signal wire
5Servo servo;
6
7void setup() {
8  servo.attach(SERVO_PIN);
9}
10
11void loop() {
12  for (int a = 0; a <= 180; a += 2) {   // 0 -> 180 derece / degrees
13    servo.write(a);
14    delay(15);
15  }
16  for (int a = 180; a >= 0; a -= 2) {   // 180 -> 0 derece / degrees
17    servo.write(a);
18    delay(15);
19  }
20}
Si olvidas el cable puente, lo más probable es que el servo no se mueva o tiemble al azar, porque la señal PWM no tiene camino de retorno. Lo contrario también es peligroso: unir los positivos de dos fuentes hace que una empuje corriente hacia la otra aunque sus tensiones difieran solo unos cientos de milivoltios, y los reguladores se calientan. La regla es sencilla: las masas se unen, los positivos quedan separados. Tienes el consumo de los servos y cómo alimentarlos bien en la guía del servomotor.

Averías reales: "el servo no funciona", "el sensor da valores locos"

SíntomaCausa relacionada con la masaSolución
El servo no gira o tiemblaEl GND de la fuente externa no está unido al ArduinoUne las dos masas con un cable corto
El Arduino se reinicia al arrancar el motorLa corriente del motor vuelve por el GND del Arduino y la tensión caeLleva el GND del motor directo a la fuente, masa en estrella
El sensor analógico salta con el motor en marchaCaída de tensión por la corriente del motor en un GND compartidoSepara el GND del sensor del camino del motor
Caracteres basura en la comunicación serieLas masas de las dos placas no están unidasConecta GND además de TX y RX
La tira de LEDs nunca se enciende con el MOSFETEl negativo de la fuente de 12 V no va al GND del ArduinoUne el source del MOSFET y las dos masas
La lectura cambia al tocarlaEntrada al aire o conexión de GND flojaAñade pull-up/pull-down y revisa el cable de GND

Que el Arduino se reinicie al arrancar un motor es la avería más desconcertante de la tabla, porque el cableado parece "correcto". Para un diagnóstico detallado puedes seguir también los pasos de el Arduino se reinicia solo; con un ESP32, el mismo problema suele aparecer como un mensaje de brownout.

Bucles de masa y ruido: el cable de GND también es una resistencia

Como los esquemas dibujan GND con una sola línea, suponemos que vale exactamente 0 V en todas partes. En realidad, las pistas de la protoboard, los cables puente y las soldaduras tienen algo de resistencia. La ley de Ohm es implacable: V = I × R. Si la corriente de retorno de un motor de 2 A pasa por un cable de GND con una resistencia total de 0,1 Ω, aparece una diferencia de 0,2 V entre sus extremos. Si un sensor analógico comparte ese cable, su "0 V" queda ahora 0,2 V más arriba. En el ADC de 10 bits del Arduino Uno eso supone un error de unas 41 unidades (0,2 / 5 × 1023). Si el motor se controla con PWM, ese desfase sube y baja cientos de veces por segundo y ves que las lecturas saltan.

Un bucle de masa aparece cuando entre dos dispositivos hay más de un camino de GND. Por ejemplo, si el Arduino está conectado por USB al ordenador y además a una fuente con toma de tierra mediante otro cable, la corriente de masa puede circular por dos caminos y ese anillo cerrado actúa como una antena que capta los campos magnéticos cercanos. El resultado es el zumbido de los circuitos de audio o una ondulación de 50 Hz en las medidas. La solución no es cortar el GND, sino dejar un solo camino y evitar que las corrientes grandes compartan cable con señales sensibles.

Masa en estrella: separar la masa del motor y la del sensor

Módulo de alimentación para protoboard MB102
Los módulos de alimentación como el MB102 dan 5 V o 3,3 V a los dos raíles laterales; los GND de ambos raíles están unidos en el módulo y sirven como buen punto estrella.

La masa en estrella consiste en que todos los cables de GND se junten en un único punto central en lugar de encadenarse unos con otros. La gran corriente del motor vuelve al negativo de la fuente por su propio cable grueso, mientras que las masas del Arduino, los sensores y los circuitos de señal llegan al mismo punto central por cables finos separados. Así la caída de tensión de la corriente del motor se queda en el cable del motor y no desplaza la referencia de los sensores. En la práctica, sigue estos pasos:

  1. Elige el negativo de la fuente o una regleta de tornillo como punto estrella.
  2. Lleva el GND del controlador del motor (L298N, MOSFET, bobina del relé) directo a ese punto con un cable corto y grueso.
  3. Conecta el GND del Arduino al mismo punto con un cable aparte; no lo hagas pasar por el GND del controlador.
  4. Conecta el GND de los sensores analógicos al pin GND del Arduino para que sensor y ADC compartan la misma referencia.
  5. Pon un condensador cerámico de 100 nF en los bornes del motor y uno electrolítico de 100-470 µF en la entrada de alimentación del controlador.
  6. Separa todo lo posible los cables del motor de los de señal y trenza entre sí los cables de cada motor.
Las pistas finas de una protoboard no están pensadas para más de unos cientos de miliamperios y tienen una resistencia de contacto alta. No hagas pasar corrientes de motor por la protoboard; conecta los cables de motor y de alimentación a regletas de tornillo o directamente a la placa controladora, y usa la protoboard solo para señales. Por qué ayudan aquí los condensadores lo tienes en qué es un condensador.

Medir el ruido: una prueba sencilla de GND con Arduino

En lugar de adivinar lo buena que es tu masa, puedes medirla. Monta un divisor de tensión con dos resistencias de 10 kΩ entre 5V y GND y conecta el punto medio a A0; ese punto debería quedarse fijo en 2,5 V. El código siguiente toma 200 lecturas seguidas de A0 e imprime la diferencia entre la mayor y la menor como ruido pico a pico en milivoltios. Mide primero con el motor apagado, luego con el motor en marcha; después reorganiza los cables de GND en estrella y vuelve a medir.

C++ (Arduino IDE)
1// Basit GND gürültü ölçer / simple ground noise meter
2const int SENSOR_PIN = A0;   // ölçülen sinyal / signal under test
3const int SAMPLES = 200;     // yaklaşık 22 ms'lik örnek / about 22 ms of samples
4const float VREF = 5.0;      // Uno ADC referansı / Uno ADC reference
5
6void setup() {
7  Serial.begin(115200);
8}
9
10void loop() {
11  int minV = 1023, maxV = 0;
12  long sum = 0;
13  for (int i = 0; i < SAMPLES; i++) {
14    int v = analogRead(SENSOR_PIN);
15    if (v < minV) minV = v;
16    if (v > maxV) maxV = v;
17    sum += v;
18  }
19  float avgVolt = sum / (float)SAMPLES * VREF / 1023.0;
20  float ripplemV = (maxV - minV) * VREF / 1023.0 * 1000.0;   // tepe-tepe / peak-to-peak
21
22  Serial.print("ortalama / average: ");
23  Serial.print(avgVolt, 3);
24  Serial.print(" V   tepe-tepe / peak-to-peak: ");
25  Serial.print(ripplemV, 0);
26  Serial.println(" mV");
27  delay(500);
28}

En un circuito bien montado, el ruido pico a pico ronda 1-2 unidades del ADC, es decir, 5-10 mV. Si sube por encima de 50 mV con el motor en marcha, algún cable comparte el camino de GND con el motor. 200 mV o más suelen indicar una conexión de GND floja, corriente de motor pasando por la protoboard o una fuente externa que nunca se unió. Esta prueba sencilla demuestra en minutos que, en la mayoría de los casos de "el sensor da valores locos", el problema no es el sensor sino la masa.

¿Cuándo se mantienen separadas las masas a propósito?

La única excepción a "une todas las masas" es el aislamiento. Un optoacoplador o un relé transmite la señal con luz o con un campo magnético y no deja conexión eléctrica entre sus dos lados. En ese caso las masas de ambos lados se mantienen separadas a propósito: una es el lado del Arduino y la otra el lado de red o del motor ruidoso. En los módulos de relé con puente JD-VCC, al quitar el puente y alimentar la bobina con otra fuente, el GND de esa fuente no se une al Arduino; ese es todo el sentido del aislamiento. Para más detalles consulta qué es un optoacoplador y qué es un módulo de relé. Sin aislamiento, dos circuitos que intercambian señales necesitan un GND común.

¿La toma de tierra es lo mismo que el GND del circuito?

No. El cable verde-amarillo de los enchufes es la toma de tierra de protección y va de verdad a un electrodo enterrado. Su función es la seguridad: si la fase toca la carcasa de un aparato metálico, la corriente se va por ese camino y el fusible o el diferencial corta el circuito. El GND de un circuito con Arduino es solo la referencia propia de ese circuito y, en un proyecto alimentado con pilas o adaptador, no tiene ninguna conexión con la tierra. En algunos adaptadores y ordenadores el GND del circuito puede estar unido a la toma de tierra, y esa es una de las causas de los bucles de masa. En proyectos de hobby, nunca intentes unir tú mismo el GND del circuito al neutro o a la tierra de la red.

La tensión de red puede matar. En los proyectos conectados a la red mediante un relé u optoacoplador, el GND del lado de baja tensión nunca se une al lado de red y se deja al menos unos milímetros de distancia de aislamiento entre ambos. Si no estás seguro, deja la parte de red a un electricista.

GND común con módulos de 5 V en el ESP32 y la Pico

El ESP32 y la Raspberry Pi Pico funcionan a 3,3 V; para conectar un módulo de 5 V pones un conversor de nivel en medio. El conversor tiene pines GND en su lado bajo (LV) y alto (HV), y hay que conectar los dos; solo puede traducir las señales de ambos lados respecto a una referencia común. Lo mismo ocurre si el ESP32 se alimenta por USB y una tira de LEDs de 12 V con otro adaptador: el source del MOSFET, el negativo del adaptador y el GND del ESP32 deben unirse en un punto. Cómo funcionan los conversores lo tienes en conversor de nivel lógico.

Lista de comprobación de GND

  • ¿Están unidas las masas de los dos dispositivos que intercambian señales?
  • Con fuentes externas, ¿solo están unidas las masas y separados los positivos?
  • ¿Vuelven a la fuente las corrientes del motor, del relé y de la tira de LEDs sin pasar por el pin GND del Arduino?
  • ¿Están los sensores analógicos en un camino de GND que no lleva corriente de motor?
  • ¿Son los cables de GND más gruesos que los de señal y lo más cortos posible?
  • Donde se usa un optoacoplador o un relé con JD-VCC para aislar, ¿están de verdad separados los dos lados?
  • Si dudas, ¿has comprobado la conexión entre puntos de GND con el multímetro en modo continuidad (pitido)?

GND es el cable más silencioso pero más importante del circuito: si está bien hecho nadie lo nota, y si se olvida todo falla. Si no sabes medir continuidad con el multímetro, cómo usar un multímetro te lo pone fácil. En la app BlueGrays encontrarás proyectos que necesitan fuente externa, como servomotores, un coche robot con L298N, un robot que esquiva obstáculos, una lámpara de 230 V con relé y riego inteligente, cada uno con esquema y código paso a paso, para seguir en el esquema cada conexión de GND.

Preguntas frecuentes

¿Qué es GND y para qué sirve?

GND (ground, tierra o masa) es el punto de referencia de 0 voltios respecto al cual se miden todas las tensiones de un circuito. También es el camino por el que la corriente vuelve a la fuente. Cuando se dice que un pin del Arduino está a 5V o 3,3V, siempre es respecto a GND.

¿GND es lo mismo que la toma de tierra?

En electrónica, GND es la referencia propia del circuito y no tiene por qué estar unido a tierra. La toma de tierra verde-amarilla del enchufe va a un electrodo enterrado por seguridad. En un proyecto con Arduino alimentado por pilas o adaptador, GND no tiene conexión con la tierra de la red.

¿Hay que unir el GND de una fuente externa al Arduino?

Sí. Si un dispositivo alimentado con una fuente externa recibe señales del Arduino, las dos masas deben estar unidas. Solo se unen las masas; los positivos quedan separados. Si no, la señal no tiene referencia común ni camino de retorno y el servo tiembla o no funciona.

¿Qué pasa si no se conecta GND?

El dispositivo receptor no puede interpretar bien la tensión; los servos se mueven al azar, la comunicación serie muestra caracteres basura y los sensores dan lecturas inestables. En algunos casos la corriente vuelve por caminos inesperados y puede dañar los pines.

¿El negativo (-) es lo mismo que GND?

En la mayoría de circuitos con una sola fuente, el negativo se usa como GND, así que en la práctica es el mismo punto. Pero en fuentes simétricas como ±12 V, GND es el punto medio y el negativo está a -12 V. Por eso lo mejor es fijarse en el símbolo de GND del esquema.

¿Cómo se evita un bucle de masa?

Deja un solo camino de GND entre dos dispositivos, separa los cables de motor con mucha corriente de las masas de los sensores sensibles y únelo todo en un único punto estrella. Si hace falta, separa eléctricamente los dos lados con optoacopladores o módulos aislados.

Ver todos los proyectos
Uso del servomotor
#35Principiante
Premium

Uso del servomotor

El brazo de un pequeño servomotor gira por turnos a tres posiciones: al principio del todo, justo al centro y al final del todo, esperando dos segundos en cada parada. El Arduino le dice al motor en q

4.7(48)
67
Funcionamiento del servomotor con potenciómetro
#36Principiante
Premium

Funcionamiento del servomotor con potenciómetro

A medida que giras el mando del potenciómetro, el brazo del servomotor gira con él: un extremo del mando equivale a cero grados y el otro a media vuelta. El Arduino lee sin parar la posición del mando

4.6(37)
53
Coche controlado por Bluetooth con L298N
#80Avanzado
Premium

Coche controlado por Bluetooth con L298N

Convierte tu móvil en un mando y conduce tu propio coche robot. El Arduino recibe por un módulo Bluetooth las órdenes de una app de control remoto en el móvil y mueve las ruedas con un controlador de

5.0(38)
65
Robot para evitar obstáculos
#81Avanzado
Premium

Robot para evitar obstáculos

¿Qué le parece construir un vehículo inteligente que encuentre su propio camino? El Robot Evitador de Obstáculos explora constantemente su entorno gracias al sensor ultrasónico que lleva delante. Cuan

5.0(38)
49
Bombilla 220V con Pulsador (Push)
#19Avanzado
Premium

Bombilla 220V con Pulsador (Push)

Mientras mantienes pulsado el botón, una bombilla real de 220 voltios se queda encendida, y se apaga en cuanto lo sueltas. La pequeña señal del Arduino no puede encender la bombilla directamente, así

4.4(30)
38
Estación de riego inteligente
#83Avanzado
Premium

Estación de riego inteligente

Un jardinero que riega solo tus plantas para que no se sequen mientras estás de vacaciones. Un sensor de humedad mide lo mojada que está la tierra; cuando se seca, el Arduino enciende la bomba de agua

5.0(42)
57
Medir la intensidad de luz con LDR
#11Principiante

Medir la intensidad de luz con LDR

¿Quieres ver en números cuánta luz hay en tu habitación? El LDR, una pequeña pieza sensible a la luz, mide la luz ambiente y el Arduino escribe el valor en la pantalla del ordenador cada medio segundo

4.6(81)
140
Voltímetro digital con pantalla LCD
#56Intermedio
Premium

Voltímetro digital con pantalla LCD

Descubre cuánto voltaje da una pila o un adaptador con un medidor hecho por ti. Un divisor de dos resistencias baja la tensión alta a un nivel que la placa puede leer, y el Arduino calcula el valor re

4.5(27)
36