Lecture 2 - Supported chips, install path, and first board bring-up¶
Course: Espressif guide | Phase 2 - Embedded Software
Previous: Lecture 01 | Next: Lecture 03 - What is really under the Arduino layer: ESP-IDF, FreeRTOS, and core architecture
Why this lecture matters¶
Before writing code, you need to know what platform you are actually standing on.
For arduino-esp32, that means three things:
- which ESP32 chips are supported
- which workflow you are using
- whether your first hardware bring-up is supposed to be simple or advanced
If you skip those questions, you end up copying examples for the wrong chip or the wrong build model.
Supported chips¶
According to Espressif's official arduino-esp32 README, the stable core supports these ESP32-family SoCs:
ESP32ESP32-C3ESP32-C5ESP32-C6ESP32-H2ESP32-P4ESP32-S2ESP32-S3
Important note from Espressif:
ESP32-C2andESP32-C61are supported differently- they require either:
- Arduino as an ESP-IDF component
- or rebuilding the static libraries
That distinction matters because not every chip supports the simplest Arduino flow equally.
Official references: README supported chips, Getting Started, Libraries
The two main workflow styles¶
1. Classic Arduino-style workflow¶
This is the path most people imagine first:
- install the board package
- select the board
- write a sketch
- upload
This is the best path for:
- first board bring-up
- GPIO, UART, Wi-Fi, BLE, and sensor experiments
- fast iteration
2. Arduino as an ESP-IDF component¶
Espressif documents this as the more advanced path.
This is best when you need:
- tighter control over project structure
- direct ESP-IDF integration
- advanced peripherals or middleware
- more production-like firmware organization
This distinction is one of the most important practical lessons in the Espressif ecosystem.
What “first board bring-up” should look like¶
Your first success should be deliberately boring.
Do not start with:
- Matter
- Thread
- custom partitions
- complex multitasking
- cloud stacks
Start with:
- board package installed correctly
- correct board selected
- serial upload works
- serial monitor works
- a minimal LED or serial example runs
That tells you:
- USB path is correct
- flashing works
- your chosen board profile is sane
- the development environment is not the blocker
What to verify during bring-up¶
After the first upload, verify these basics:
- boot messages appear on serial
- your code reaches
setup() - your loop runs repeatedly
- a GPIO output or serial print behaves as expected
- board-specific features like LED pin or USB CDC match the selected board profile
This sounds trivial, but it prevents many hours of confusion later.
Why chip identity matters more on Espressif than beginners expect¶
A lot of Arduino tutorials blur boards together.
That is dangerous on Espressif because:
- different chips have different radio combinations
- peripheral availability differs
- memory and flash assumptions differ
- low-power behavior differs
- some newer chips have different support maturity
So you should think in this order:
- which SoC?
- which board variant?
- which workflow model?
not just:
- which example sketch?
Best current starting point for this roadmap¶
For this roadmap, a very strong learning path is:
ESP32-C3orESP32-S3for broad community examplesESP32-C6when you want Wi-Fi + BLE + 802.15.4 relevance
That makes arduino-esp32 especially useful before:
- OpenThread
- Zigbee
- connected sensor products
- voice peripherals and local gateways
Lab¶
Make a short table with these columns:
ChipWhy I might choose itWould I start with Arduino workflow or ESP-IDF component workflow?
Fill in at least:
ESP32-C3ESP32-C6ESP32-S3
Then write one sentence about why ESP32-C2 / ESP32-C61 need extra care.
Previous: Lecture 01 | Next: Lecture 03 - What is really under the Arduino layer: ESP-IDF, FreeRTOS, and core architecture