Logotipo de sheen.bot

Ideas y reflexiones

Por qué se rompen los sensores de 3,3 V en placas Arduino de 5 V y cómo conectarlos de forma segura

18 sept 2026·Sheen Robotics
Por qué se rompen los sensores de 3,3 V en placas Arduino de 5 V y cómo conectarlos de forma segura

Alimentar un sensor a 3,3 V no basta si los pines del Arduino siguen enviando 5 V por las líneas de señal. Te explicamos por qué se queman los chips y cómo protegerlos.

Un sensor de 3,3 V no se estropea en un Arduino Uno por su pin de alimentación, sino por sus pines de comunicación. Aunque alimentes el sensor desde la toma de 3,3 V del Arduino, los pines digitales estándar (y los pines I2C/SPI por hardware) siguen emitiendo señales lógicas en nivel ALTO (HIGH) a 5 V. Esta sobretensión impacta directamente contra un silicio diseñado para soportar un máximo aproximado de 3,6 V, quemando los diodos de protección internos en cuestión de segundos o degradando lentamente el chip a lo largo de varias sesiones de clase.

Entender por qué ocurre esto —y cómo solucionarlo con un par de resistencias de pocos céntimos o un adaptador de niveles dedicado— salva sensores, evita problemas fantasma durante las clases y previene el desperdicio del presupuesto escolar de robótica.

La trampa: líneas de alimentación frente a niveles lógicos

Los clásicos Arduino Uno y Nano (basados en el ATmega328P) son microcontroladores de 5 V. Su tensión de alimentación es de 5 V y sus pines de salida digital alternan entre 0 V (LOW) y 5 V (HIGH). Al leer entradas, un Arduino considera que cualquier valor por encima de aproximadamente 3,0 V es un nivel HIGH válido.

Los sensores modernos —como los barómetros digitales (BMP280/BME280), acelerómetros (variantes del MPU6050), sensores de distancia por tiempo de vuelo (VL53L0X) y módulos de tarjetas SD— se fabrican en nodos de silicio más reducidos, diseñados estrictamente para funcionar a 3,3 V o 1,8 V. Su tensión de entrada máxima absoluta suele ser de VCC + 0.3V (unos 3,6 V).

Los errores de cableado suelen producirse de dos maneras:

  • Alimentación directa a 5 V: el alumno conecta el pin VCC del sensor a la toma de 5 V del Arduino. Sin un regulador interno de baja caída (LDO), el núcleo principal del sensor se sobrecalienta de inmediato.
  • El punto ciego de los niveles lógicos: el alumno conecta correctamente el pin VCC a la toma de 3,3 V del Arduino, pero conecta SDA, SCL, SCK o MOSI directamente a los pines del Arduino. La placa envía pulsos lógicos de 5 V directos a entradas que no toleran más de 3,6 V.

Qué ocurre físicamente dentro del chip

La mayoría de los circuitos integrados incluyen diodos de protección contra descargas electrostáticas (ESD) conectados entre los pines de entrada y la línea de alimentación interna (VCC). Cuando un Arduino fuerza 5 V en un pin de entrada mientras el sensor está alimentado a 3,3 V, la tensión de ese pin supera a VCC en 1,7 V.

Esto polariza en directa el diodo de fijación ESD superior. El diodo empieza a desviar corriente desde el pin de 5 V del Arduino directamente hacia la línea de alimentación de 3,3 V del sensor. Como el pin del microcontrolador puede suministrar hasta 20-40 mA, este exceso de corriente provoca rápidamente un fallo térmico en el microscópico diodo ESD. Una vez que el diodo entra en cortocircuito o se quema y queda en circuito abierto, la tensión de 5 V perfora el fino óxido de puerta de los transistores MOSFET internos, destruyendo de forma permanente el bus periférico.

Solución 1: El divisor de tensión resistivo (unidireccional)

Para líneas de comunicación que solo fluyen en una dirección —desde el Arduino de 5 V (emisor) hacia el sensor de 3,3 V (receptor)—, un par de resistencias estándar es la solución más sencilla y económica.

Esto funciona de forma fiable para:

  • Líneas del bus SPI: MOSI, SCK y CS (Chip Select).
  • UART: el pin TX del Arduino conectado al pin RX del sensor.

Se construye un divisor de tensión utilizando una resistencia de 1 kΩ y otra de 2 kΩ (o equivalentes de 2,2 kΩ / 4,7 kΩ):

  1. Conecta el pin de salida del Arduino a un extremo de la resistencia de 1 kΩ ($R_1$).
  2. Conecta el otro extremo de $R_1$ al pin de entrada del sensor.
  3. Conecta una resistencia de 2 kΩ ($R_2$) desde esa unión (el pin del sensor) a masa (GND).

La tensión en la unión se calcula de la siguiente manera:

V_out = V_in × [ R2 / (R1 + R2) ] = 5V × [ 2000 / 3000 ] = 3.33V

Para la línea de retorno (MISO en SPI o de TX del sensor a RX del Arduino), no hace falta divisor. El nivel HIGH de 3,3 V que genera el sensor supera con holgura el umbral de 3,0 V del ATmega328P para un nivel lógico ALTO. Puedes conectar la salida del sensor directamente a la entrada del Arduino.

Nota: No utilices un divisor resistivo en líneas I2C (SDA y SCL). El protocolo I2C es bidireccional y de drenador abierto (open-drain); un divisor pasivo estándar altera el comportamiento de las resistencias pull-up e impide que el sensor tire de la línea a nivel LOW.

Solución 2: Adaptadores de nivel lógico bidireccionales (I2C y buses rápidos)

Para dispositivos I2C o comunicaciones bidireccionales, se necesita un circuito adaptador de nivel activo, habitualmente basado en un pequeño MOSFET de canal N (como el BSS138) y dos resistencias pull-up.

Estos módulos se comercializan ampliamente como pequeñas placas adaptadoras (breakout boards) de 4 u 8 canales por unos R15 a R35. Su conexión requiere cuatro tomas de referencia:

  • HV (High Voltage): Conectar al pin de 5 V del Arduino.
  • LV (Low Voltage): Conectar al pin de 3,3 V del Arduino (o a tu fuente de alimentación dedicada de 3,3 V).
  • GND: Debe conectarse a la masa común del sistema.
  • Líneas de señal: Conectar los pines de 5 V (por ejemplo, A4/A5 o SDA/SCL) a HV1/HV2, y conectar las líneas correspondientes del sensor de 3,3 V a LV1/LV2.

Cuando el lado de 5 V está inactivo, el MOSFET permanece apagado y las resistencias pull-up mantienen ambos lados en sus respectivas tensiones de alimentación (5 V en el lado alto y 3,3 V en el lado bajo). Cuando cualquiera de los dos lados tira de la línea hacia masa (0 V), el MOSFET conduce y lleva de forma segura el lado opuesto a 0 V sin exponer jamás el lado de 3,3 V a 5 V.

Comparativa de métodos de conexión segura

MétodoCoste por canalProtocolos compatiblesPros y contras en el aula
Conexión directaR0Ninguno (5 V a 3,3 V)Garantiza daños en los circuitos integrados exclusivos de 3,3 V con el tiempo. No utilizar nunca.
Divisor resistivo< R1.00SPI (MOSI, SCK, CS), UART (TX→RX)Extremadamente barato; fácil de montar en protoboard; no se puede usar para I2C.
Módulo adaptador MOSFET~R20.00 (4 canales)I2C, SPI, UART, GPIOSeguro para todos los buses; admite señales bidireccionales; añade una pequeña placa al circuito.
Placas compatibles con 5 VVariableI2C, SPILa placa incluye regulador y transistores FET integrados; la opción más fácil para principiantes, algo más cara.

Tres reglas para los laboratorios en el aula

Si gestionas un laboratorio escolar de robótica o enseñas computación física, incorpora estos tres hábitos a las fichas de trabajo del alumnado:

  1. Comprueba primero la parte trasera de la placa: muchas placas de sensores educativos ya incorporan un diminuto regulador de 5 pines (marcado como 662K o similar) y dos transistores de adaptación de nivel. Si la placa acepta una alimentación de 3,3 V–5 V e indica explícitamente tolerancia lógica a 5 V, se puede conectar directamente. Si solo indica pines de 3,3 V, trátala como desprotegida.
  2. Mantén una masa común: si utilizas una fuente de alimentación de laboratorio independiente de 3,3 V o un regulador secundario, conecta su terminal 0 V/GND directamente al GND del Arduino. Los niveles lógicos son tensiones que se miden respecto a masa; sin una referencia común, las comunicaciones fallarán debido a tensiones flotantes.
  3. Valora dar el salto a microcontroladores nativos de 3,3 V: la solución a largo plazo para la adaptación de niveles es prescindir de la lógica de 5 V siempre que sea posible. Las placas educativas modernas —como la Raspberry Pi Pico (RP2040) y las plataformas ESP32 disponibles en nuestra hardware store— funcionan de forma nativa con lógica de 3,3 V. Usar controladores nativos de 3,3 V elimina por completo el riesgo de quemar sensores.
#electrónica#arduino#sensores#educación robótica#diseño de circuitos

Más de Ideas y reflexiones