The ESP32 is a popular microcontroller from Espressif that can be used in
many embedded applications. Robotic joints, smart car chargers, beer vat
agitators and automated bread mixers are a few examples where this
system-on-a-chip excels. It is cheap to buy and has a number of vendors
providing low-cost development board kits that come with the microcontroller
and many external connection points with peripherals. There is a large software
ecosystem for the ESP32. Espressif maintains an SDK containing many C-language
sample projects providing a starting point for a huge variety of software
services and I/O needs. Third party projects provide additional sample code as
well as support for other programming languages. For example, MicroPython is a
mature project with sample code and officially supported by Espressif. The SDK
provides tools to not just build an application but also merge a flash image,
flash to the microcontroller and monitor the output. Is it possible to build
the ESP32 load and emulate on another host OS? This paper explores the QEMU
emulator and its ability to emulate the ethernet interface for the guest OS.
Additionally, we look into the concept of containerizing the entire emulator
and ESP32 load package such that a microcontroller flash image can successfully
run with a one-step deployment of a Docker container.Comment: 7 pages and 9 figure