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 …
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.