certification, which can take considerable time and be
rather costly.
To understand what a breakthrough this is, consider
the cost and size of a traditional Arduino approach to Wi-Fi enabled monitoring and control. First, you have to have
an Arduino board (say, an Arduino Uno) from a reputable
source which costs between $20 - $30. Then, you have to
purchase a Wi-Fi shield for around $20 - $40, bringing the
basic system cost to between $40 - $70. Then, consider
size. The Uno's dimensions are 2.1” x 2. 7”. Attach the Wi-Fi shield and the sandwich is between 1.25” to 1.75” deep
and a bit harder to package than the ESP8266 (again,
which is the size of a nickel).
Finally, when you consider the ESP8266 has a 32-bit
processor which can run at 160 MHz — 10x the speed of
the Uno's eight-bit processor — and that it has 512K
(minimum) of Flash memory program space to the Uno's
32K, the Uno Wi-Fi solution is looking a little dated.
The Hardware
Actually, the ESP8266 is a whole family of modules
which vary in the number of available I/O pins, the
amount of onboard memory, the types of interfaces
available, and in how the RF antenna is
attached/implemented. The module I will be describing
in this article (and shown in Photos 1 and 2) is referred to
as an ESP-01. This module has its RF antenna etched
directly onto the circuit board.
Information on the whole family of ESP8266 devices
is available at www.esp8266.com/wiki/doku.php?id=
esp8266-module-family.
The following attributes of the ESP8266 family were
extracted from the datasheet (see https://nurdspace.nl/
File:ESP8266_Specifications_English.pdf):
• 802.11 b / g / n
• Wi-Fi Direct (P2P), soft-AP
• Built-in TCP / IP protocol stack
• 802.11b mode + 19. 5 dBm output power
• Built-in temperature sensor
• Supports antenna diversity
• Off leakage current is less than 10 µA
• Built-in low power 32-bit CPU which can double as
an application processor
• SDIO 2.0, SPI, UART, ADC
• Standby power consumption of less than 1.0 m W
(DTIM3)
In other words, the ESP8266 family of modules
features low power consumption, high RF power output,
and is capable of supporting all of the current 802.11
standards required for Wi-Fi connectivity. In addition, it
supports many industry standard hardware interfaces and
can also function as the application processor in many
designs. Note: The ESP8266 is a 3. 3 VDC part.
Prototyping Hardware
Now that we know something about the ESP8266
module family, let's talk about what we need in terms of
hardware to try out the ESP8266 in the Arduino
environment. In addition to the ESP8266 ESP-01 module,
we need some sort of USB-to-TTL serial adapter, a 3. 3
VDC power supply capable of at least 250 mA of output
current, a couple of momentary pushbutton switches, an
LED, and a 1K and a 10K ohm resistor. Do not skimp on
the power supply for the ESP8266. It requires quite a bit
of current, and lack of sufficient current will cause the
ESP8266 to appear flakey or not work at all.
Photo 2. ESP8266 (ESP-01) pinout. The squiggly
trace is the Wi-Fi antenna. This device has
512K of Flash for program storage.
Photo 3. An ESP8266 (ESP- 12) development module
called the NodeMCU Amica with many more I/O pins
and memory ( 4 MBytes) is available. It functions just
like the prototype hardware described in this article and
is powered directly from the USB port.
October 2015 43