Valentyn Danylchuk's BreezyBox Turns an Espressif ESP32-S3 Into a "Tiny Instant-On PC"

UNIX-like project takes inspiration from BusyBox and includes a virtual filesystem, terminal, online app installer, and even a C compiler.

Gareth Halfacree
3 hours ago β€’ HW101

Software engineer Valentyn Danylchuk has released a demo of his BreezyBox shell for microcontrollers, turning an Espressif ESP32-S3 microcontroller into a fully-functional rapid-boot if somewhat resource-constrained BusyBox-inspired personal computer.

"This is a demo for how you can turn an ESP32-S3 microcontroller into a tiny instant-on PC with its own shell, editor, compiler, and online apps installer," Danylchuk explains of his creation. "Something like [a] Raspberry Pi, minus the overhead of a full server/desktop grade OS [Operating System]. I think [the Espressif] ESP32 is underrated in hobby maker community for this PC-like use case. This demo uses BreezyBox, my mini-shell ESP-IDF component."

Inspired by BusyBox, BreezyBox turns an Espressif ESP32-S3 microcontroller into a "tiny instant-on PC." (πŸ“·: Valentyn Danylchuk)

Danylchuk's BreezyBox, inspired by the self-contained BusyBox toolset, began life as a project to create a microcontroller-powered cyberdeck β€” though the software side of things soon took priority, with the hardware side currently being little more than a keyboard, display, and some LEGO bricks. Getting side-tracked has rarely been so productive, though: BreezyBox delivers a terminal capable of tracking its current working directory, a selection of UNIX-like commands for navigation and operations, Wi-Fi support with an online app installer, and even a minimal C compiler that works on-device and outputs Executable and Linkable Format (ELF) binaries.

"The BreezyBox component leaves the display and other board configuration details to the user's firmware project, providing mainly the vterm/vfs [Virtual Terminal/Virtual Filesystem] features, and some shell commands," Danylchuk notes of the software's public release. "This particular example/demo project supports only one specific dev board: Waveshare ESP32-S3-Touch-LCD-7B. But you can see how all the parts connect, and adapt it to your display/board, or just copy some code snippets from here."

All source code for the demo is available on GitHub under the permissive MIT license; the compiler is available in a separate repository.

Gareth Halfacree
Freelance journalist, technical author, hacker, tinkerer, erstwhile sysadmin. For hire: freelance@halfacree.co.uk.
Latest articles
Sponsored articles
Related articles
Latest articles
Read more
Related articles