Skip to Content

NodeMCU ESP8266 versus Arduino UNO Board Comparison

NodeMCU ESP8266 versus Arduino UNO Board Comparison

Este artículo le dará toda la información necesaria sobre el pinout y la diferencia entre las placas NodeMCU ESP8266 y Arduino UNO.

He incluido un diagrama de pines de especificaciones detalladas de NodeMCU ESP8266 y Arduino UNO.

Después de este artículo, usted aprenderá cómo utilizar Arduino UNO y ESP8266 bordo con Arduino IDE y la diferencia técnica entre las dos placas.

Suministros

Componentes de hardware

Arduino Uno Rev3Amazon
NodeMCU ESP8266Amazon

Software

Arduino IDEArduino IDE

Makerguides.com participa en el Programa de Asociados de Amazon Services LLC, un programa de publicidad de afiliados diseñado para proporcionar un medio para que los sitios ganen honorarios de publicidad mediante la publicidad y los enlaces a productos en Amazon.com.

¿Cuál es la diferencia entre NodeMCU y ESP8266?

El NodeMCU ESP8266 es un microcontrolador de 32 bits de bajo consumo con un procesador RISC Tensilica de 32 bits incorporado que funciona a 160 MHz de reloj y tiene un módulo WiFi incorporado.

El Arduino UNO es la placa más popular entre los principiantes. Arduino UNO se basa en el microcontrolador ATmega328P de 8 bits que funciona a 16 MHz de velocidad de reloj.

El microcontrolador Arduino UNO funciona con una lógica de 5V, y todos los pines son tolerantes a 5V.

Viene con 2KB de RAM, 32KB de memoria flash para almacenar programas y 1 KB de EEPROM para almacenar parámetros.

Especificación de NodeMCU ESP8266 y Arduino UNO

FunciónDescripción (NodeMCU ESP8266)Descripción (Arduino UNO)
MicrocontroladorTensilica 32-bit Xtensa LX106ATmega328P
Memoria Flash4 MB32 KB (0,5 KB se utilizan para el cargador de arranque)
SRAM128 KB2 KB
EEPROMNo disponible512 bytes (Software)1 KB
Velocidad del reloj80 MHz o 160 MHz16 MHz
Tensión de funcionamiento3.3V DC5V DC
Tensión de entrada7-12 DC6V-20V DC
Consumo actual15 µA - 400 mA45 mA - 80 mA
Corriente continua por pin de E/S12 mA40 mA
Pines digitales IO1714
Pines de entrada analógica16
UARTs21
SPI21
I2C11
PWM46
WiFiNo
BluetoothNoNo

Comparación de pines de NodeMCU ESP8266 y Arduino UNO

Puede consultar el esquema de NodeMCU ESP8266 para obtener más detalles sobre los componentes presentes en la placa ESP8266.

El diagrama de pines del ESP8266 se muestra a continuación.

Diagrama de pines del ESP8266
Diagrama de pines del ESP8266

También puede consultar el diagrama esquemático de Arduino Uno para conocer los detalles de los componentes presentes en la placa Arduino UNO.

A continuación se muestra el diagrama de pines de Arduino UNO.

Diagrama de pines de Arduino UNO
Diagrama de pines de Arduino UNO

Fuente de alimentación

Puede suministrar una tensión regulada de 5V DC para alimentar el ESP8266. Los circuitos reguladores de voltaje internos convertirán estos 5V a 3.3V DC porque el NodeMCU ESP8266 trabaja en la lógica de 3.3V. 

El pin VIN puede alimentar directamente el NodeMCU ESP8266 y sus periféricos con una fuente de tensión regulada de 5V.

Los pines de 3,3 V son la salida de un regulador de tensión integrado.

Estos pines pueden utilizarse para alimentar componentes externos.

Fuente de alimentación de ESP8266 (NodeMCU ESP8266 Vs. Arduino UNO Board_
Power supply pins

Del mismo modo, para el Arduino UNO la tensión de entrada (VIN) se utiliza para proporcionar una fuente de alimentación externa de 5V a 9V DC.

Los pines de 3,3V y 5V son la salida del regulador de voltaje de la placa.

The maximum current draw is 50mA. GND represents the grounds of NodeMCU ESP8266 and Arduino UNO.

Alimentación de Arduino UNO (NodeMCU ESP8266 Vs. Arduino UNO Board)
Power supply pins

Pin de entrada y salida de propósito general (GPIO)

NodeMCU ESP8266 tiene 17 pines GPIO que se pueden configurar como entrada o salida digital. También se puede utilizar para varias funciones como I2C, SPI, UART, PWM programáticamente.

Cada GPIO digital puede configurarse como pull-up o pull-down interno o en alta impedancia.

Cuando se configura como una entrada, también se puede establecer como disparador de flancos o disparador de niveles para generar interrupciones de la CPU.

Pin de entrada y salida de propósito general (GPIO) del ESP8266 (NodeMCU ESP8266 Vs. Arduino UNO Board)
GPIO pins

Arduino Uno tiene 14 pines de entrada/salida digital, de los cuales seis pueden ser utilizados como salidas PWM, seis pines de entrada analógica.

En el código de Arduino, puedes usar la función pinMode(pin, direction) para establecer la dirección del pin como entrada o salida, digitalRead(pin, value) para obtener el valor en el pin digital, y digitalWrite(pin, value) para escribir el valor digital en el pin.

Pin de entrada y salida de propósito general (GPIO) de Arduino UNO (NodeMCU ESP8266 Vs. Arduino UNO Board)
GPIO pins

Clavija analógica

NodeMCU ESP8266 tiene un pin analógico (A0). Arduino UNO tiene seis pines analógicos ( A0 - A5).

Se utilizan para proporcionar una entrada analógica en el rango de 0-5V.

Ambas placas tienen un ADC de 10 bits de resolución, lo que significa que obtendrá valores entre 0 y 1023.

En el código de Arduino, puede utilizar la función analogRead() para leer los valores de los pines analógicos y las funciones analogWrite() para escribir en los pines analógicos.

Pin de la interfaz de periféricos en serie (SPI)

Hay dos interfaces SPI en NodeMCU ESP8266 (SPI y HSPI). Ambas soportan operaciones de maestro y esclavo.

El reloj del modo maestro puede configurarse hasta 80 MHz, mientras que el del modo esclavo es de hasta 20 MHz. Sólo el maestro puede generar un ciclo de reloj.

HSPI_CLK - GPIO14, HSPI_MISO - GPIO12, HSPI_MOSI - GPIO13, HSPI_CS - GPIO15 Los pines GPIO se utilizan para la comunicación SPI.

Los pines SCLK-GPIO6, MISO-GPIO7, MOSI - GPIO8, CS - GPIO11 no están disponibles a bordo para el usuario.

Pin de la interfaz de periféricos en serie (SPI) del ESP8266
SPI pins

Arduino Uno tiene una interfaz de comunicación SPI. Pin número 10 (SS), 11 (MOSI), 12 (MISO), y 13 (SCK).

Pin de la interfaz de periféricos en serie (SPI) de Arduino UNO
SPI pins

Puedes consultar la biblioteca SPI para ver ejemplos de comunicación SPI.

Pin I2C

En NodeMCU ESP8266, GPIO4 y GPIO5 se pueden utilizar como SDA y SCL para la interfaz I2C.

La frecuencia del reloj es de 100 kHz como máximo. No tiene funciones alternativas.

Arduino UNO tiene una interfaz de comunicación I2C. Los pines A4 (SDA) y A5 (SCL) se utilizan para la interfaz I2C.

Puedes consultar la biblioteca de cables para ver ejemplos de comunicación I2C.

Clavija del receptor asíncrono universal (UART)

NodeMCU ESP8266 tiene dos UARTs de hardware (UART0 y UART1) con velocidades de transmisión de hasta 115200 y puede comunicarse hasta 4,5 Mbps.

  • UART0 TX - GPIO1, UART0 RX - GPIO3
  • UART1 TX - GPIO15, UART1 RX - GPIO13
  • UART2 TX - GPIO2, UART2 RX - GPIO8 (no disponible).

Arduino Uno tiene una UART para la comunicación en serie, y se puede utilizar 0 (RX) y 1 (TX) pin con una velocidad de transmisión especificada.

Puedes usar la librería serial para UART. También puedes usar la librería serial de software para establecer cualquier pin GPIO como Tx y Rx para la comunicación UART.

Interrupciones Pin

Todos los pines GPIO excepto GPIO16 soportan Interrupciones en NodeMCU ESP8266.

Los pines 2 y 3 de Arduino Uno pueden ser configurados para disparar una interrupción en un valor bajo, un borde ascendente o descendente, o un cambio de valor.

Utiliza attach interrupt para adjuntar la interrupción a los pines mencionados.

Pines de modulación de ancho de pulso (PWM)

La placa NodeMCU ESP8266 tiene cuatro canales de PWM.

La salida PWM puede implementarse mediante programación y utilizarse para accionar motores digitales y LEDs. El rango de frecuencia PWM es ajustable de 1000 μs a 10000 μs.

Los pines 3, 5, 6, 9, 10 y 11 de Arduino UNO proporcionan una salida PWM mediante el uso de pines de entrada analógica, cada uno de los cuales proporciona 10 bits de resolución, es decir, de 0 a 1023 valores diferentes.

Pines SDIO

El NodeMCU ESP8266 cuenta con una interfaz de entrada/salida digital segura (SDIO), que se utiliza para interconectar las tarjetas SD directamente.

También son compatibles con SDIO v1.1 de 4 bits y SDIO v2.0 de 4 bits.

El pin SDIO no está disponible en el Arduino UNO.

Clavijas de control

Clavija EN - El chip NodeMCU ESP8266 se activa cuando la clavija EN se pone en ALTO. Cuando se pone en LOW, el chip funciona con la mínima potencia.

Pin WA KE - Un pin wake se utiliza para despertar el chip de un sueño profundo.EN y WAKE pin no está disponible en Arduino UNO.

Pin RST - El pin RST se utiliza para reiniciar el chip ESP8266 y el MCU Arduino UNO.

ENCABEZADO DEL ICSP

Arduino Uno tiene una cabecera hembra ICSP. La programación en serie en el circuito (ICSP) es la capacidad de Arduino UNO para ser programado sin desconectarse de la circuitería.

Arduino UNO ha desarrollado sus propias cabeceras de programación en serie en el circuito.

Hay seis pines ICSP (MISO, MOSI, SCK, VCC, Tierra, Reset) disponibles en la placa Arduino Uno que se pueden conectar a un dispositivo programador a través de un cable de programación.

ICSP Header
ICSP Header

¿Cómo escribir códigos para NodeMCU ESP8266?

Hay una variedad de plataformas de desarrollo que pueden ser equipadas para programar el NodeMCU ESP8266.

Puede desarrollar el firmware para NodeMCU ESP8266 utilizando el IDE de Arduino.

Siga los pasos siguientes para configurar Arduino IDE para NodeMCU ESP8266.

Paso 1: Primera descarga Software Arduino IDE

Paso 2: Abra el IDE de Arduino y vaya a Archivo > Preferencias.

Abra el IDE de Arduino y vaya a Archivo > Preferencias

Paso 3: En las ventanas de preferencias, copie y pegue el siguiente enlace en las URLs del Administrador de Tablas Adicionales.

Ten en cuenta que si quieres añadir otro enlace, puedes poner una coma y luego pegar otro enlace. http://arduino.esp8266.com/stable/package_esp8266com_index.json

copie y pegue el siguiente enlace en las URLs del Administrador de Tableros Adicionales

Paso 4: Ahora cierre la ventana de Preferencias y vaya a Herramientas > Tablero > Administrador de Tableros

Ahora cierre la ventana de preferencias y vaya a Herramientas

Paso 5: En la ventana de Boards Manager, escriba ESP8266 en el cuadro de búsqueda. ESP266 aparecerá en el resultado de la búsqueda Ahora, seleccione la última versión de la placa y haga clic en instalar.

Ventana del Administrador de Juntas

Paso 6: Una vez completada la instalación de la placa, abra Herramientas > Placa > y seleccione NodeMCU ESP8266 1.0 (Módulo ESP-12E).

De nuevo para seleccionar el puerto, vaya a Herramientas > Puerto y seleccione el puerto COM del ESP8266.

Una vez terminada la instalación de la placa

Paso 7: En el menú Archivo, vaya a Ejemplo y luego abra el ejemplo de Blink.

En el menú Archivo, vaya a Ejemplo y luego abra el ejemplo de Blink

Paso 8: Haga clic en Verificar código y luego cárguelo en su tablero.

Haga clic en Verificar código y luego cárguelo en su tablero

¿Cómo escribir códigos para Arduino Uno?

Puedes escribir código de firmware para Arduino Uno con un conocido IDE de Arduino.

Puedes desarrollar muchísimas más aplicaciones en Arduino Uno utilizando el IDE de Arduino en C++.

Paso 1: En primer lugar, descarga el IDE de Arduino . Arduino IDE

Si no puede entender las instrucciones, vea también la imagen y siga los pasos.

Paso 2: Abre el IDE de Arduino y ve a Herramientas > Placas > Placas Arduino AVR > Selecciona Arduino Uno.

De nuevo para seleccionar el puerto, ve a Herramientas > Puerto y selecciona el puerto COM del Arduino UNO.

Abra el IDE de Arduino y vaya a Herramientas

Paso 3: En el menú Archivo, vaya a Ejemplo y luego abra el ejemplo de Blink.

En el menú Archivo, vaya a Ejemplo y luego abra el ejemplo de Blink

Paso 4: Haga clic en Verificar código y luego cárguelo en su tablero.

Haga clic en Verificar código y luego cárguelo en su tablero

¿Cuáles son las ventajas de NodeMCU?

  • El NodeMCU ESP8266 es un dispositivo de bajo consumo y bajo coste adecuado para aplicaciones integradas.
  • Viene con un módulo WiFi integrado, lo que lo hace adecuado para aplicaciones de Internet de las Cosas (IoT).
  • NodeMCU ESP8266 también es compatible con FreeRTOS, que permite al programador diseñar tareas paralelas para la placa.
  • Mejor memoria y procesamiento que el Arduino UNO.
  • El tablero ESP8266 es compatible con la placa de circuito impreso (breadboard) y también es adecuado para colocarlo en la placa de circuito impreso (PCB).
  • Fácil de programar con el IDE de Arduino y el software de código abierto.

¿Cuáles son las ventajas de Arduino Uno?

  • Arduino UNO es una placa barata y la más popular para los principiantes.
  • El hardware y el software de código abierto también ofrecen un gran apoyo a la comunidad.
  • Arduino UNO tiene más pines analógicos en comparación con el ESP8266.

¿Qué se puede hacer con NodeMCU ESP8266?

Puedes construir un proyecto embebido y de IoT a nivel de principiante usando NodeMCU ESP8266.

A continuación se exponen algunos ejemplos.

¿Es el ESP8266 mejor que el Arduino UNO?

Si se compara el rendimiento, el coste, la potencia y la funcionalidad, entonces el ESP8266 es mucho mejor que el Arduino UNO.

NodeMCU ESP8266 soporta WiFi para servidores web, y se puede configurar en modo STA o AP.

Puede actualizar el firmware del ESP8266 por aire (OTA).

Gracias a FreeRTOS, puede lograr las tareas paralelas en el ESP8266.

La única desventaja del ESP8266 es que sólo tiene un pin analógico incorporado, por lo que no se puede interconectar más de una interfaz analógica con un ESP8266 incorporado.

Conclusión

En mi opinión, sólo hay unos pocos casos de uso en los que no deberías ir con una placa basada en NodeMCU ESP8266.

Las placas basadas en NodeMCU ESP8266 tienen bajo consumo de energía, alta memoria y Wi-Fi incorporado.

Sin embargo, si usted es un principiante y quiere un ejemplo listo de todo, usted debe ir para Arduino UNO. Tiene un gran apoyo de la comunidad.

Me encantaría saber qué proyecto tienes pensado construir o has hecho ya con el Arduino.

Si tienes alguna pregunta o sugerencia, o si crees que faltan cosas en este tutorial, deja un comentario a continuación.

Tenga en cuenta que los comentarios son retenidos por la moderación para evitar el spam.

jrb

Lunes 16 de mayo de 2022

Hola, buen artículo, personalmente, habría insistido en que los principiantes deberían usar el UNO con el chip 328 montado en el zócalo únicamente porque es una gran opción para poder reemplazarlo si alguna vez se destruye algún IO... esa es una, pocas veces mencionada, gran característica especialmente para los principiantes...