By AWS & Espressif
Learn about Amazon FreeRTOS and the Espressif Systems’ ESP32-DevKitC. Determine how this fits into an IoT solution and look at examples of using cloud services in IoT microcontroller-based devices.
3. Who Are We?
Espressif Systems
Fabless chip manufacturer
for IoT solutions
We're Espressif Systems, a fabless chip manufacturer. We make chips for IOT solutions, specifically using WiFi and
BT/BLE to communicate with the wider Internet
4. What Do We Do?
Obviously, as a chip manufacturer, we make chips.
5. What Do We Do?
We also make modules, so people can upgrade their existing devices easily to incorporate WiFi/BT.
6. What Do We Do?
We also make reference designs for certain things we think our customers may want. For instance, this is a reference
design for a BT speaker / audio board.
7. What Do We Do?
For more general purpose experimentation, we make devboards that provide an all-in-one solution to getting your
product off the ground without having to build the hardware up from the bare chip first
8. What Do We Do?
Obviously, we also write code to support all of this. Our SDKs provide a solid foundation of a RTOS with a
comprehensive C api to make interfacing with the things the hardware provides easier
9. Where are we?
Main office in Shanghai, other offices in and outside China as well
10. History
Espressif is a company with some history. Let's see how we ended up where we are.
11. History
Back in the day, WiFi chips were still pretty big. Lots of small but critical components, usually needed specialized boards.
People had to make dedicated module containing these chips, increasing the cost and complexity of designs.
12. History
Espressif changed that by making a highly integrated WiFi chip that could automatically calibrate to work in a wide range
of circumstances. This could then be integrated on the (more cheaply made) mainboard; the calibration would be able to
accomodate variations in PCB and antenna. (Note: We do not advise using a paperclip as an antenna in your product.)
13. History
The concept of connecting sensors, actuators and
general devices to the Internet so they can interact
with the cloud to share data and perhaps be remote
controlled by the user in some way from another
smart device or by automated algorithms using the
uploaded data as a resource is anyone actually
reading this to control the same or other network-
connected devices
IoT
At that time, Internet connectivity became a thing and everyone started calling it IoT.
14. ESP8266
We had the foresight to also add some stuff to our WiFi chip that allowed it to be used as a standalone chip.
15. ESP8266
Features
Xtensa LX106 processor
64KiB IRAM, 96KiB DRAM
GPIO, UART, SPI
SPI interface to external SPI
flash
WiFi
ESP8266 features: enough for simple devices that connect to WiFi.
16. ESP32
After a while, we found out that the ESP8266 was limiting for some people. We need a dedicated IoT chip, and the
ESP32 was born
17. ESP32
Specs:
2X 240MHz Tensilica Diamond 108Mini
520KiB of RAM
WiFi: 802.11BGN 2.4GHz
BT/BTLE 4.2
Low-power coprocessor
UARTs, SPI, I2S, I2C, DAC, ADC, PWMs, RMII,
GPIO mux, ...
Temperature & Hall sensor
Features. Pretty well-packed with memory and CPU. Still cheap as chips (of the potato variety).
20. Results
Products:
Sensors, lightbulbs, audio devices, drones, water
purifies, vacuum cleaner robots, BT speakers,
washing machines, alarm systems, airco
controllers, story telling devices, ovens, LED
screens, weather stations, sensors, industrial
controllers, gateways, robots, power plugs, IoT
buttons, game consoles, event badges, toys, ...
The ESP8266 and ESP32 have been used in a fair amount of commercial products.
25. It also resulted in a slew of books detailing how to work with the ICs.
26. Results
Languages
C (ESP-IDF)
C++ (ESP-IDF, Arduino)
Javascript (MongooseOS, Duktape,
Espruino)
Python (MicroPython, Pycom, Zerynth)
Lua (NodeMCU, LuaNode, LuaRTOS)
Basic, Forth, Ruby, ...
Also, a fair amount of languages were developed; C and C++/Arduino in-house, the rest by third parties and/or as open-
source projects.
29. The ESP32
2X Tensilica CPU
@240MHz
It contains two pretty fast 32-bit processors, capable of working together in a SMP fashion
30. The ESP32
2X Tensilica CPU
@240MHz
520K RAM
It has about half a megabyte of RAM, which is a fairly large amount for a bare-metal system-on-chip device.
31. The ESP32
2X Tensilica CPU
@240MHz
520K RAM
LED/Motor PWM
It can control actuators using PWM in hardware
32. The ESP32
2X Tensilica CPU
@240MHz
520K RAM
LED/Motor PWM
I2S/PDM
It has interfaces to add HiFi sound codecs, both for sound input as well as output
33. The ESP32
2X Tensilica CPU
@240MHz
520K RAM
LED/Motor PWM
I2S/PDM
I2C/SPI/ADC
It has I2C and SPI, allowing you to add external chips, sensors and actuators. It also has an analog-to-digital converter,
allowing processing of analog signals.
34. The ESP32
2X Tensilica CPU
@240MHz
520K RAM
LED/Motor PWM
I2S/PDM
I2C/SPI/ADC
Touch sensors
It has the built-in capability to sense touch, so instead of physical buttons, you can just designate an area on your PCB
to function as a touch-sensitive button
35. The ESP32
2X Tensilica CPU
@240MHz
520K RAM
LED/Motor PWM
I2S/PDM
I2C/SPI/ADC
Touch sensor
ULP coprocessor
It has an ultra-low-power coprocessor which can stay awake when the main chip is shut down to do simple tasks like
taking sensor samples, using very little power. When the ULP decides it needs to, it can wake up the rest of the chip to
delegate e.g. talking to a server to send the accumulated data.
36. The ESP32
2X Tensilica CPU
@240MHz
520K RAM
LED/Motor PWM
I2S/PDM
I2C/SPI/ADC
Touch sensor
ULP coprocessor
...
And there's more: a remote control peripheral, LCD/camera interface, Ethernet RMII interface, dual DAC, ...
37. The ESP32
2X Tensilica CPU
@240MHz
520K RAM
LED/Motor PWM
I2S/PDM
I2C/SPI/ADC
Touch sensor
ULP coprocessor
...
BT/BTLE 4.2Finally, on the communication side, the ESP32 supports Bluetooth Classic as well as Low Energy
39. ESP32 Security
SecureBoot
Flash Encryption
AES, ECC, DSA,
...
TLS/SSL
Security features are also available so you can secure your IP with encryption and talk to the outside world in a secured
fashion.