Embedded Systems

Arduino

  • simple examples (tutorial style)
  • use OTA?

Non-Arduino

  • hardware debugging
  • external programmer
  • manual library management
  • manual board management

Both require

  • drivers

show imwrite in raw C?

Wokwi - Online ESP32, STM32, Arduino Simulator

WARDuino - cs majors - over the air updates (on save as option, maybe) - protect from mistakes - distribute solutions as binary blobs - add some basic functionality to runtime - fast enough? - https://www.sciencedirect.com/science/article/abs/pii/S259011842400011X

interesting embedded idea: - run wasm runtime - the runtime accepts new code OTA - live reload “sketches” - compile to wasm + camera library + tensorflow lite micro + what else? - similar to toit system - espressif/esp-wdf: Espressif WASM Development Framework. - wasm3/wasm3: 🚀 A fast WebAssembly interpreter and the most universal WASM runtime - TOPLLab/WARDuino: A dynamic WebAssembly VM for embedded systems - bytecodealliance/wasm-micro-runtime: WebAssembly Micro Runtime (WAMR) - parties + Espressif (has wasm git repos) + Seeed Studio (XIAO Esp32S3 Sense) + Edge Impulse - runtimes + microvium + jerryscript + devicescript (microsoft) + micropython and circuitpython + tinygo + Uj (java) + ulisp + espruino + quickjs + Tasmota/Berry + AtomVM - alternatives + nim + rust-embedded + C + compile-to-c languages (nothing with full support)

ESP Tool

Circuit Simulator Applet

show compiling/loading with and without vscode/platformio/arduinostudio