The NodeMCU board is based on an ESP8266-12 but features a built-in serial over USB interface and other amenities like 2 buttons and 2 LEDs. The board is compact and fits on a breadboard. The board can be programmed using the Wiring / Arduino framework as the other ESP8266 boards.
- It features more available GPIOs, of which
- 9 digital GPIOs operating at 3,3V
- One analog GPIO, limited to 1.8 V.
The NodeMCU uses the CH340 serial to USB programmer, which requires the installation of a specific driver. NodeMCU is a Wi-Fi SOC (System On a Chip) produced by Espressif Systems. It is based ESP8266 -12E WiFi module. It is an highly integrated chip designed to provide full internet connectivity in a small package. ESP8266 is a low-cost, WiFi Module chip that can be configured to connect to the Internet for Internet of Things(IoT) and similar Technology Projects. It can be programmed directly through USB port using LUA programming or Arduino IDE. By simple programming we can establish a WiFi connection and define input/output pins according to your needs exactly like arduino, turning into a web server and a lot more. NodeMCU is the WiFi equivalent of ethernet module. It combines the features of WiFi access point and station + microcontroller. These features make the NodeMCU extremely powerful tool for WiFi networking. It can be used as access point or station, host a web server or connect to internet to fetch or upload data.
- Programmable WiFi module.
- Arduino-like hardware Input-Output.
- Can be programmed with the simple and powerful Lua programming language or Arduino IDE.
- USB-TTL included, plug & play.
- 10 GPIOs D0-D10, PWM functionality, IIC and SPI communication, 1-Wire and ADC A0 etc. all in one board.
- Event-driven API for network applications.
- PCB antenna.
- Low cost
- Wi-Fi Networking enabled
Software and Drivers:
The IDE (Integrated Development Environment) is a specific release of Arduino-Compatible IDE with ESP8266 Support developed by Ivan Grokhotkov. The IDE is runs on Windows, Mac OS X and Linux.
Arduino-like hardware IO:
Advanced API for hardware IO, which can reduce the unnecessary work for configuring and manipulating hardware. Code like Arduino, but interactively in Lua script.
NodeJS style network API:
Event-driven API for network applications. Highly speed up evey IOT application developing process.
Lowest cost WI-FI:
Less than Rs.140 WI-FI MCU ESP8266 integrated and easy to prototyping development kit. NodeMCU provides the best platform for IOT application development at the lowest price.
Advantages of NodeMCU:
- The ESP8266 is a low-cost Wi-Fi enabled microchip with full TCP/IP stack and microcontroller capability.
- NodeMCU includes CPU core, faster Wi-Fi, more GPIOs, and supports Bluetooth 4.2, and low power Bluetooth.
- Additionally, the ESP32 comes with touch sensitive pins, and built-in Hall Effect sensor and temperature sensor.
- Very cheap as compared to Arduino Uno.
Disadvantages of NodeMCU:
- Need to learn a new language and IDE
- Reduced pin out
- Rare documentation
Arduino is a development board with sets of digital and analog input/output (I/O) pins that converts the codes into physical affects. In this platform, Arduino can serve as a node by connecting sensors to it. Arduino is an open source that allows anyone interested to contribute. It have large libraries and sample projects developed worldwide it is one of the most used microcontroller board. Arduino has an Atmel AVR microcontroller (ATmega328P), and other necessary side units for programming and connecting to other boards. There is at least 5V power-supply and 16 MHz crystal oscillator. Arduino’s microcontroller is pre-programmed with a boot loader so it does not need an external chip programmer.
- Arduino IDE (Integrated Development Environment)
- Arduino bootloader
- Arduino libraries
- AVRDude (Software that programs the microcontroller on Arduino), and Compiler (AVR-GCC).
Arduino software is consists of IDE and libraries. IDE is a cross-platform application written in Java. It originated from the IDE for the languages processing. The libraries are written in C and C++, and compiled with AVR-GCC and ACR Libc.
- Arduino libraries helps everyone program easily.
- Everyone can process, received analog and digital signals.
- Also can design interactive robots or systems by using the sensor signals.
- Can have their system respond in motion, voice or light.
- Arduino has various designs of boards for various solutions.
Pros – Arduino:
- Low power architectures.
- Easy to get started with great online support, rapid prototyping makes easy.
- Easy interfacing with sensors and data collection.
- Can send data wirelessly using Bluetooth, RF etc to the server via a computer.
- A lot of GPIOs with PWM capabilities.
- Everyone can use IDE, python, ruby, embedded C etc for programming it.
- It’s completely an Open-source.
- Memory limitations (ATmega328P has 32KB of Flash memory for the boot-loader + uploaded sketch, and only 2KB SRAM for runtime data.)
- Costlier than NodeMCU
- Connectivity to the internet needs additional shields which are not cost friendly, especially in India.
- Can’t run a lot heavy algorithms, or interface say a touch-screen, etc without using additional shields.