Skip to main content

Introducing the EFZ-ESP32S3

ยท 4 min read
Huu Nghia
Embedded Firmware Engineer

The board is here. We built the one this course always needed โ€” an ESP32-S3 with every peripheral a Zephyr lesson touches already on it, flashed and debugged over a single USB-C cable. Meet the EFZ-ESP32S3.

EFZ-ESP32S3 โ€” front and back

Why we built our own boardโ€‹

You can learn a lot on a dev kit. But a dev kit is a bare chip on a breakout โ€” the moment a lesson needs a sensor, a microphone, an SD card, or a screen, you're on a breadboard with jumper wires, and half the time you spend debugging is debugging the wiring, not the firmware.

We wanted the opposite: a board where the hardware is never the variable. Where "read the sensor" means read the sensor, not "wire up the sensor, hope the pull-ups are right, then read it." So we designed one.

What's on itโ€‹

The EFZ-ESP32S3 is a bare ESP32-S3 (dual-core Xtensa LX7, Wi-Fi + Bluetooth LE) with 8 MB of external flash โ€” and the parts every lesson in the course actually uses, soldered on and already described in the devicetree:

  • ๐ŸŒก๏ธ SHT30 temperature + humidity sensor (IยฒC)
  • ๐ŸŽ›๏ธ MPU-6500 6-axis IMU with an interrupt line (IยฒC)
  • ๐ŸŒˆ A WS2812 RGB LED, plus two plain LEDs and three buttons
  • ๐Ÿ“ˆ An NTC thermistor on the ADC
  • ๐ŸŽ™๏ธ An INMP441 microphone and a MAX98357A speaker amp (IยฒS audio)
  • ๐Ÿ’พ A microSD slot (4-bit SDIO, FAT)
  • ๐Ÿ–ฅ๏ธ A TFT display connector on the back
  • ๐Ÿ”Œ Broken-out IยฒC / UART / SPI headers for your own wiring

Everything is powered, flashed, and debugged over one USB-C cable โ€” the ESP32-S3's native USB Serial/JTAG is the console, so there's no separate programmer to buy.

The part we're proudest ofโ€‹

It's not a feature on the silkscreen. It's that every example in the course runs on this board, and we verified every one of them on it โ€” the real console output, the real errors, the real fixes on the lesson pages are from this hardware, not from a simulator or a hand-wave. The board has upstream-style Zephyr board support (hardware model v2), so west build -b efz_esp32s3/esp32s3/procpu just works, from your first Blinky to a signed, field-updatable image.

That's the whole point of EmbeddedFun: real code, real hardware, real results. The EFZ-ESP32S3 is what makes the "real hardware" part true.

Who it's forโ€‹

  • Engineers learning Zephyr who want to follow the course on the exact board it was written for โ€” no wiring, no guesswork.
  • Teachers and workshops who need a kit where every student's hardware is identical.
  • Tinkerers who want a capable ESP32-S3 board with sensors, audio, storage, and a screen, ready to hack on.

Board resourcesโ€‹

Everything you need to build on it, or build your own board from it:

It's hereโ€‹

The boards have arrived, and every lesson on this site has been run on one.

Want one? Watch the GitHub repo and keep an eye on the Build Diary โ€” details on how to get your hands on an EFZ-ESP32S3 will be posted here first.

In the meantime, everything the board does, you can read end to end in Zephyr Training โ€” and it all runs, verified, on the board you see above.