Skip to main content

Zephyr Basic

You can build and flash a Hello World. Now learn the three systems that underpin every real Zephyr application: Kconfig (what gets compiled), devicetree (what hardware exists), and the driver model (how you talk to it).

Prerequisites​

  • Completed How to Start — working west build
  • ESP32 DK or equivalent supported board

What's in this section​

PageWhat you'll learn
How to Find the API You NeedQuick lookup: GPIO, I2C, SPI, UART, ADC, PWM, threads, timers, semaphores
Meet the ESP32-S3-DevKitCEspressif's dev kit — specs and board target
Meet the EFZ-ESP32S3The EmbeddedFun training board and its build target
Buttons & LEDsFind LEDs and buttons in the devicetree, blink LED1, read every button
Console & LoggingPrint with printk, then log with modules and levels
WS2812 RGB LEDDrive the built-in RGB LED using the Zephyr LED strip API
ThreadsRun three threads at once: two blink the LEDs, a third prints what they report

Core mental model​

prj.conf → what is compiled
.overlay → what hardware exists
application code → what the firmware does

These three files are the skeleton of every Zephyr project. Master them here, apply them forever.

info

Devicetree is the part most engineers find confusing. The Common Mistakes page was written from real debugging sessions — read it before you need it.