Local helper
One Python file. Firefox and Safari use it to reach a USB adapter on your computer.
TTY000
Loading the workbench
A TTY in the browser
Serial on a wire, logs that still have their colors, escapes that broke a CLI, a dump that finally speaks English, a typed conversation, and ten characters a second on paper. Free, MIT-licensed, and open source.
Downloads
One Python file. Firefox and Safari use it to reach a USB adapter on your computer.
python3 server.py --helper
Setup
Browsers guard serial hardware, and each one guards it differently. Pick the row that matches you — two of the three need nothing installed.
A fake board that boots, echoes, and answers AT. Every browser, every OS, including phones. Use it to learn the workbench before you plug anything in.
Chrome, Edge, and other Chromium browsers can open a real USB port after one permission prompt. Nothing to download and nothing to run.
Checking this browser…
Firefox and Safari have no Web Serial. A ~18 KB Python script on your machine owns the port instead and hands it to the browser. Instructions below.
Read the stepsThe local helper
The helper is one file with no dependencies on macOS or Linux. It listens
on 127.0.0.1:7682, talks to your USB adapter, and serves the
same workbench from your own machine. Nothing it reads leaves the machine.
One script. Read it first if you like — it is short, and it is the same file this site runs on.
Windows has no Python by default. Use the store package or the installer, and tick Add python.exe to PATH.
winget install -e --id Python.Python.3.12
No winget? Get it from python.org/downloads.
Windows is the only platform that needs a package: pyserial provides the COM port access.
py -m pip install --user pyserial
Open PowerShell in your Downloads folder and run it. Leave the window open while you work.
cd $HOME\Downloads
py server.py --helper
Go to http://127.0.0.1:7682/. Your COM ports appear under How to reach the wire.
Driver missing? Most cheap adapters need CP210x or CH340 drivers on Windows.
macOS ships it. If the command prints a version you are done — there are no packages to install.
python3 --version
Missing? macOS offers the Command Line Tools, or use brew install python.
Open Terminal in the folder you downloaded to. Leave it running while you work.
cd ~/Downloads
python3 server.py --helper
Go to http://127.0.0.1:7682/. Your adapter shows up as /dev/cu.usbserial-* or /dev/cu.usbmodem*.
Press Ctrl C in Terminal. Nothing is left running and nothing was installed.
Pick /dev/cu.* rather than /dev/tty.* — the tty device blocks waiting for carrier detect.
Almost every distribution already has it, and the helper needs no pip packages here.
python3 --version
# Debian or Ubuntu, if missing:
sudo apt install python3
Serial devices belong to the dialout group. Add yourself once, then log out and back in for it to take effect.
sudo usermod -aG dialout $USER
Arch and openSUSE use uucp instead of dialout.
cd ~/Downloads
python3 server.py --helper
Go to http://127.0.0.1:7682/. Ports appear as /dev/ttyUSB0 or /dev/ttyACM0.
Hosting tty000 for a lab? TTY000_SERIAL=1 on the server exposes that machine's UARTs to any browser. See the README.
If it will not connect
dialout yet, or you have not logged out since adding yourself. Check with groups; the change does not apply to an existing session.http://127.0.0.1. That is why you open the helper's own address in a tab instead of loading it from this site.TTY means teletypewriter. Unix kept the word for the device, the line discipline, and the serial port. Accessibility kept it for typed conversation. This site is those meanings in a browser tab. TTY000 is an independent workbench. It is not a GitHub product and is not affiliated with GitHub.
After the page loads, serial traffic, pasted logs, and RTT text stay in this tab unless you download them. Bots should read llms.txt and product.json.
View, Lab, Explain, RTT, Museum, and Demo UART work in every modern browser. Real USB on this computer: Web Serial in Chromium, or python3 server.py in helper mode. Real USB on the Debian host: enable serial and pick Host ports.
This entire website is open source under the MIT License. Use it, copy it, and change it.
Donations to CashApp $t3xus are appreciated, but not required to use or modify this site.