WANIX FIELD KIT · LAB 01 · ESP8266

Wanix Flash Lab

Build a complete microcontroller application inside a Linux machine that exists inside this browser tab—then carry it across USB into the physical world. There is no application backend or remote build service: the host serves only static files, while your source, Linux VM, compiler job and firmware all stay inside your browser.

00

THE BIG IDEA

One tab. Three computers.

Wanix is the connective tissue. It gives a web page Unix-like namespaces, files, tasks, terminals and virtual machines, so existing command-line tools can become parts of a local-first web application. The web host only delivers static assets; every active step runs on this device.

1

HOST

Browser

UI, JavaScript, Web Serial and the Wanix namespace.

window + WebAssembly
files + terminal
2

GUEST

Linux

Alpine in v86 runs the real 32-bit Xtensa toolchain.

gcc → ld → elf2bin
firmware.bin
3

TARGET

ESP8266

Your selected ESP8266 development board runs the code and blinks its LED.

80 MHz · 4 or 16 MiB flash
01

COMPOSE THE COMPUTER

Wanix turns resources into one tree.

The page does not install a Linux machine in the usual sense. These binds layer remote archives, temporary browser memory and a VM device into one namespace.

WANIX NAMESPACEcomposing…
/
├── opt/xtensa-lx106   compiler archive
├── opt/esp8266         Arduino SDK + core
├── workspace            → #ramfs/new
│   ├── main.cpp        ← browser writes
│   └── build.sh        ← HTTP file bind
└── vm                   → #vm
    └── v86             ← emulator archive
A

Bind

Attach a resource at a path. It can come from HTTP, RAM, persistent browser storage or a device.

B

Namespace

A private view of the filesystem assembled for this application—not the host Mac’s filesystem.

See the actual HTML
<wanix-bind dst="." type="archive"
  src="wanix-linux.tgz">
<wanix-bind dst="workspace"
  src="#ramfs/new">
<wanix-bind dst="vm" src="#vm">
02

MAKE IT YOURS

Change what the hardware does.

This is not a configuration block bolted onto a cached application. Your choices become C++ source, and Wanix builds a new application and firmware image.

Start here Choose your board, personalize its blink, then compile a complete firmware image.

1.0 seconds · 1.00 Hz

Loading Wanix and starting Linux.

GENERATED SOURCEworkspace/main.cpp
03

CROSS THE VM BOUNDARY

Drive Linux through a Wanix terminal.

No build request is sent to a server. JavaScript writes the source into the shared namespace, opens the VM terminal as a file, sends one shell command and watches for the result to appear back in the tree.

1Compilemain.cpp → object
2Linkobject + Arduino core → ELF
3PackageELF → firmware.bin
LINUX GUEST TERMINALwaiting for builder
04

RETURN TO THE BROWSER

The output becomes another file.

The guest writes firmware.bin into the shared workspace. Wanix lets browser JavaScript read it directly: nothing is uploaded, and no application server sees the source, compiler transcript or firmware.

firmware.bin

flashable bytes

firmware.elf

linked executable

SHA-256

Build to calculate content identity
D1 MINI PRO FLASH MAP16 MiB
0x0000000x1000000x4000000xFFFFFF
new application
filesystem / unused

No artifact yet. The entire application will be written from offset zero.

05

OPEN THE MACHINE

Don’t take our word for it. Look around.

wanix-term attaches an xterm directly to the same terminal device the build controller used. This is the actual Alpine guest, with the same namespace and files—not a transcript or simulated shell.

C

A terminal is a file

The UI opens #term/…/data for reading and writing. That same file can serve automation first and an interactive human next.

TRY THESE INSIDE LINUX

pwd ls -lah /workspace sed -n '1,80p' /workspace/main.cpp find /opt -maxdepth 2 -type d xtensa-lx106-elf-g++ --version find /workspace/artifacts -type f

The shell becomes available when the Wanix VM is ready.

INTERACTIVE WANIX TERMINALsame guest · same files
06

ENTER THE PHYSICAL WORLD

A human opens the USB door.

Wanix produces the bytes; ESP Web Tools asks the browser for a serial port. The chooser and confirmation require you because a web page must not silently rewrite attached hardware.

ESP
8266
D1 mini Pro LED preview follows your selected rate
Before you flash

This lab targets a Wemos D1 mini Pro with an ESP8266 and 16 MiB flash. Installation replaces the application at offset 0x000000.