Nodemcu
Nodemcu
[4][5] It initially
included firmware which runs on the ESP8266 Wi-Fi SoC from Espressif Systems,
and hardware which was based on the ESP-12 module. [6][7] Later, support for
the ESP32 32-bit MCU was added
NodeMCU is an open source firmware for which open source prototyping board
designs are available. The name "NodeMCU" combines "node" and "MCU"
(micro-controller unit).[8]. The term "NodeMCU" strictly speaking refers to the
firmware rather than the associated development kits.[citation needed]
Both the firmware and prototyping board designs are open source.[9]
The firmware uses the Lua scripting language. The firmware is based on the eLua
project, and built on the Espressif Non-OS SDK for ESP8266. It uses many open
source projects, such as lua-cjson [10] and SPIFFS.[11] Due to resource constraints,
users need to select the modules relevant for their project and build a firmware
tailored to their needs. Support for the 32-bit ESP32 has also been implemented.
The prototyping hardware typically used is a circuit board functioning as a dual in-
line package (DIP) which integrates a USB controller with a smaller surface-
mounted board containing the MCU and antenna. The choice of the DIP format
allows for easy prototyping on breadboards. The design was initially was based on
the ESP-12 module of the ESP8266, which is a Wi-Fi SoC integrated with
a Tensilica Xtensa LX106 core, widely used in IoT applications (see related
projects).
HISTORY
NodeMCU was created shortly after the ESP8266 came out. On December 30,
2013, Espressif Systems[6] began production of the ESP8266.[12] NodeMCU started
on 13 Oct 2014, when Hong committed the first file of nodemcu-firmware to
GitHub.[13] Two months later, the project expanded to include an open-hardware
platform when developer Huang R committed the gerber file of an ESP8266 board,
named devkit v0.9.[14] Later that month, Tuan PM ported MQTT client library
from Contiki to the ESP8266 SoC platform,[15] and committed to NodeMCU
project, then NodeMCU was able to support the MQTT IoT protocol, using Lua to
access the MQTT broker. Another important update was made on 30 Jan 2015,
when Devsaurus ported the u8glib[16] to the NodeMCU project,[17] enabling
NodeMCU to easily drive LCD, Screen, OLED, even VGA displays.
In the summer of 2015 the original creators abandoned the firmware project and a
group of independent contributors took over. By the summer of 2016 the
NodeMCU included more than 40 different modules.