ESP32 Quick-Start Guide

1. Buy Boards

There are a billion ESP32 boards on Amazon. You'll see - they are almost all identical. I would NOT recommend the (SparkFun ESP32 Thing, which is red and looks different than the rest). 

Here is a good one for $10

or You can buy a two-pack for $14 of these

or here is one for $19 w/ an OLED display

2. Download toolchain

Don't use the Arduino - it sucks. EspressIF one is very good. Complete download/install instructions are here

...[TL;DR] but if you're running Windows - just download and install this - and that's about all you need to do. 

3. Quick Start

It will install two things of importance:

1. A shortcut called "ESP-IDF Command Prompt (cmd.exe)"

2. A folder called "esp-idf"

ESP-IDF Folder

The folder has basically everything in it. The most important directory is the "examples" one. You can quickly build and run any project in here - and they all either show you high-level concepts, or drill down in to specific perihperals, protocols or whatever that the board, hardware and framework have. You'll find all Wifi, Bluetooth and everything under the rainbow here. I recommend you take one of these and COPY it to a new directory. (You could start with a "get-started" project, or even jump right to a "wifi" or "bluetooth" if you want. more interesting examples are in "protocols" and "peripherals". 

The "components" folder (from top level) has all the "drivers" you'd use to (referenced in examples) to do stuff (libraries, framework, peripherals, etc).

Command Line Interface

The shortcut is a cmd.exe link that will set up your environment and give you a command prompt. There is one command here of importance: "idf.py". You will want to cd into the root folder of your project and run it from there. This has a couple of options at are important:

idf.py menuconfig   -- Let's you set up and configure a project to build. Most of the settings you probably won't need to change - except most projects will allow you to specify tour Wifi SSID and Password in this menu.

idf.py build - Builds a project

idf.py flash - Flash your built project - After doing flash - you have press the "reset" button on the board while holding down the "program" button. (There are only two buttons). Once it starts downloading - you can release the program button.

idf.py monitor - Serial port monitor for your board. This has some nice stuff in it - if you hit "Control-T" then a key (start with "h" for help) you can build and flash right from within "montior"

 

4. Resources

API Reference

Discussion Forum (You probably want the ESP32 IDF Forum - but others may be of interest to you, too).

FreeRTOS docs/tutorial - A so-so narritive/tutorial on FreeRTOS (where a lot of the stuff is based off of) - which will describe basic framework things like memory, threading, locking, messaging, etc

Our slack: #general-esp