2017.04.ESP32 Intro

Download as pdf or txt
Download as pdf or txt
You are on page 1of 18
At a glance
Powered by AI
The ESP32 is a low cost microcontroller that integrates WiFi and Bluetooth capabilities. It can be used for IoT applications, wearables, and projects similar to Arduino.

Common development environments for programming the ESP32 include Arduino, ESP-IDF, MicroPython, and PlatformIO. Arduino is the easiest to get started with but has limited functionality, while ESP-IDF allows for more advanced C/C++ programming and debugging.

Alternatives to the ESP32 include the ESP8266, which is cheaper but less powerful and has unreliable WiFi, and the Arduino UNO WiFi, which is more expensive, larger, and lacks a battery plug.

Introduction Hands-On Supplementary material

ESP 32 Introduction Workshop


How to IoT

Joren Six

April 2017
Introduction Hands-On Supplementary material

Overview
Introduction
What is the ESP32?
Why is it useful?
Are there alternatives?
How to program the ESP32?
Hands-On
Helpful Knowledge
Getting started
Blink
Hello WiFi
Sending data - UDP or TCP?
Packing data - OSC Protocol
Sending sensor data
Mesh networking
Supplementary material
Introduction Hands-On Supplementary material

Intro - What is the ESP32?

ESP32 is a low cost, low


power microcontroller series.
Designed and supported by
Espressif systems.
I Integrated WiFi
I Dual core Tensilica
Xtensa LX6
I Bluetooth Smart
Tranciever
Fig: ESP? ESP? ESP? ESP? I Sucessor to the ESP8266
I Relatively new, about
one year old
Introduction Hands-On Supplementary material

Intro - What is the ESP32?


It is a microcontroller series.

I ESP32-CoreBoard or
ESP32-DevKitC by
Espressif systems
I ESP32-WROOM-32
I Olimex ESP32-EVB
I Sparkfun ESP32
Thing
I Many more
Introduction Hands-On Supplementary material

Intro - What is the ESP32 Thing?

It is an ESP32 implementation by Sparkfun.

I Integrated Lithium-Ion
battery charger - charge
using micro USB
I Breadboard compatible
I Large amount of IO
exposed
I Close to the Dev board
Introduction Hands-On Supplementary material

Intro - What is the ESP32 Thing?


Introduction Hands-On Supplementary material

Intro - Why is it useful?

I IoT use-cases: sending


sensor data to the
internet
I Wearables: small,
battery powered and
wireless
I Arduino like applications

Fig: ESP32-Thing by Sparkfun


Introduction Hands-On Supplementary material

Intro - Are there alternatives?

I ESP8266
I Less powerful
I Cheaper
I WiFi connection
unreliable
I No bluetooth
I Arduino UNO WiFi
I Less powerful
I More expensive
I Larger
I No battery plug
Fig: ESP 8266 I Many others
Introduction Hands-On Supplementary material

Intro - How to program the ESP32?


ESP-IDF
Arduino I C/C++ toolchain
I Easy to get started I Hard to setup
I Large community
I IDE of your choise
I Supported sensors!
I Libraries I JTAG Debugging
I Very limited ’IDE’ I (Free)RTOS
I No debugging I Full functionality
I Limited functionality Micropython
I Python 3.x
I REPL
I Limited functionality
PlatformIO
Fig: Arduino logo
I Aduino like
I IDE based on Atom
Introduction Hands-On Supplementary material

Hands-On - Helpful Knowledge

I Experience with Arduino environment or cross compiling


for microcontrollers
I Reading Serial communication
I Basic knowledge of git
Introduction Hands-On Supplementary material

Hands-On - Getting started

http://0110.be/posts/ESP32
Introduction Hands-On Supplementary material

Hands-On - Blink

Fig: Blinky blink


Introduction Hands-On Supplementary material

Hands-On - Hello WiFi

Fig: WiFi connection


Introduction Hands-On Supplementary material

Hands-On - Hello WiFi - UDP or TCP?

TCP over IP
UDP over IP
I Order guaranteed I Order not guaranteed
I Data checked and I Data can disappear
potentially resend
I Low latency
I High latency
I Good for real-time data
I Ideal when you need
(audio/video)
guarantees
I Think in packets
I Think in streams
Introduction Hands-On Supplementary material

Hands-On - Hello WiFi - OSC Protocol

OSC Protocol
I A simple standardized way to pack data
I Universal support and libraries
I Originally developed to connect music instruments
Introduction Hands-On Supplementary material

Hands-On - Sending sensor data


Introduction Hands-On Supplementary material

Hands-On - Mesh networking


Introduction Hands-On Supplementary material

Supplementary material

You might also like