Serial.println() numbers — a single value like analogRead(A0), several space- or comma-separated values like x,y,z, or labelled pairs like temp:25.3,hum:60 — then open the Serial Monitor. They'll be drawn here as live, auto-scaling traces.serial.onValues(), send commands with serial.send(). Hook up web buttons & sliders, play sounds, draw on a canvas. Open the Serial Monitor to connect a board (the demos also work without one).English is a two-pane IDE. On the left you write what you want in plain English; on the right an LLM keeps a working translation in your chosen language — Arduino C++, MicroPython or CircuitPython for the Raspberry Pi Pico, or MicroPython for the BBC micro:bit. Click any line on either side and the matching region on the other side lights up, with a ribbon linking them; click a line in the code pane to also drop a one-line gloss of what it does right below it, with an explain button for a fuller plain-English sentence. You can Upload the result to a connected board over Web Serial and watch it with the Serial Monitor; Arduino C++ can also be Verify-compiled in the cloud first.
Buttons
main.py (MicroPython) or onto the CIRCUITPY drive as code.py (CircuitPython) and restart it. Python boards need MicroPython or CircuitPython installed once first.Serial.print() on an Arduino, print() in Python).Web Serial needs Chrome / Edge / Opera, served over http://localhost or https://. Arduino flashing is wired for ATmega328P boards (Uno, Nano, Pro Mini). The rest of the board list — Mega, Leonardo, Micro, and Little Bird's Shakey and EagLED — compiles here but has to be uploaded from the desktop Arduino IDE, because those boards use a different bootloader protocol.
localStorage.https://api.openai.com/v1 only if you're sure your environment allows browser CORS, or point it at your own proxy.serial object:
serial.onValues(fn) → fn({vals, order}) for each labelled/numeric line,
serial.onLine(fn) for the raw text, serial.send("…") to send a line to the board,
serial.connected / serial.onConnect(fn) / serial.onDisconnect(fn), and
serial.values (latest value per label). Open the Serial Monitor to connect a board. No board needed for the on-screen controls.Heads up: you can play with the IDE without signing in, but you need a free customer account to save a project or translate.