Skip to content

Latest commit

 

History

History
33 lines (22 loc) · 3.46 KB

nodemcu_intro.md

File metadata and controls

33 lines (22 loc) · 3.46 KB

The NodeMCU v3 board

There are many ways to address a GPIO pin or a peripheral. You can go by what's pinted on the board, or you can go by the GPIO number: nodemcu schematic

Please note: Everything on this board is operating on 3.3V. Connecting 5 Volts to any of the pins will kill it instantly! (okay, except the Vin, and VU pins, which are the input of the 3.3V LDO and the USB connector's VBUS respectively)

What's on the board:

  • An ESP12E module featuring the ESP8266 processor, the crystal and the flash memory
  • A CH340 USB-to-UART adapter
  • A 3.3V LDO, which is used to power the processor from the USB port

The board you got with the kit is a breakout board for an microcontroller system that was intended to be used in Internet-of-Things applications. It can be used in many ways including with Python, Lua, JavaScript and even old-school AT commands as well. It has its own comunity, so plenty more than what the eye can see.

However, the implementation you see here is done with Arduino because:

  • It has a lot of libraries available
  • The community support is brilliant
  • ...is perhaps the most future-proof
  • The same code can be recycled to be used in a different system
  • Even the most basic microcontroller will have a C-compiler

IMPORTANT: The 3.3V voltage is generated by an on-board voltage regulator. This integrated circuit will get hot (50-60 °C or 120-140 °F) when you operate power-hungry devices (GPS, motors, etc.) from the '3V' pins. The NodeMCU might do a brown-out reset too.

A brief history

This section gives you an idea about why things are the way things are with this device.

These days with embedded systems like smartphones and other gadgets tend to require large-scale integration to keep the size, the cost and the power consumption down. A lot of manufacturers (like ARM, Imagination Technologies, Realtek, and many others) develop processors and specific hardware for the purpose of being manufactured by others.
These companies deal with 'Intellectual Property cores' (IP cores), that others can use in their System-on-Chip (SoC) applications. A notable example perhaps would be the Raspberry Pi, which is based around Broadcom's SoC, which uses an ARM core.

So, the ESP8266 was developed in China by Expressif Systems, which uses a Cadence Xtensa IP core. It's relatively cheap to buy, but it's fast and doesn't consume a lot of power. As a bonus, you could program it without the need for an expensive debugger system or JTAG hardware, which makes it very appealing for hobbyists.

By 2014 or so, this processor was developed to a whole family of products, with an enthusiastic user community, and this is the very reason it got chosen for the IoT kit as well.