{"slug": "serial-consoles-in-yoe", "title": "Serial Consoles in [yoe]", "summary": "The yoe embedded build tool added serial console support that attaches to each machine's serial port, logs all console output, and exposes two commands — `yoe serial send ls` and `yoe serial log` — so agents such as Claude Code can drive real hardware instead of only QEMU. Serial ports are configured in `local.star` and identified by the USB adapter's device ID rather than `ttyUSB0` or `ttyUSB1`, so yoe finds the port after every reboot and replug. The feature pairs with yoe's existing diagnose skill, which gave agents the build log, toward an agent that builds an image, boots it on real hardware, and checks the result.", "body_md": "Embedded work usually means a serial terminal open in another window, and a\nsearch for whichever `ttyUSB` the board landed on today. The [latest video](https://youtu.be/Go0gEvf4JxI) shows `[yoe]` taking\nover that job: it attaches to each machine’s serial console, logs everything,\nand gives agents like Claude Code a simple way to work with the device at the\nconsole level. That opens the door to more hardware-in-the-loop work, where an\nagent tests on the real board instead of only in QEMU.\n\nConfigure a serial port for a machine and the `[yoe]` TUI gains a **Serial**\ntab. From the moment `yoe` starts, the tab streams console output from the\ndevice. It is output only, so you can scroll, jump to the top, or clear it\nwithout typing into the target by accident.\n\nPress `enter` to drop into an interactive terminal, much like `tio`. Run\ncommands, then press `ctrl-t q` to return to the TUI. To skip the TUI entirely,\n`yoe serial` opens the same interactive console on its own. Only one can hold\nthe port at a time; two clients on one port compete for the output, just as two\n`tio` sessions would.\n\nTwo commands give an agent what it needs to drive the device:\n\n`yoe serial send ls` sends a command over the serial port.`yoe serial log` shows the most recent console output.\nSend a command, read what comes back, and decide what to do next. `[yoe]` also\nwrites all serial output to a log file while it runs, so the agent can review\nthe full boot history, not just the last few lines.\n\nSerial ports live in `local.star`, alongside your other local settings, with\none entry per machine. `[yoe]` identifies each port by the USB adapter’s device\nID instead of `ttyUSB0` or `ttyUSB1`. As long as a machine keeps the same\nadapter, `[yoe]` finds it after every reboot and replug, with no hunting\nrequired.\n\n`[yoe]` aims to remove friction from embedded work for both people and agents.\nThe [diagnose skill](https://yoebuild.org/blog/ai-integration/) gave agents the\nbuild log; serial console support gives them the device itself. Together they\nmove toward an agent that builds an image, boots it on real hardware, and checks the result.\n\nThe full set of walkthroughs is on the\n[Videos page](https://yoebuild.org/videos/). A few ways to go further:\n\n`/new-machine` and `/new-module` AI skills", "url": "https://wpnews.pro/news/serial-consoles-in-yoe", "canonical_source": "https://yoebuild.org/blog/serial-consoles/", "published_at": "2026-10-14 00:00:00+00:00", "updated_at": "2026-10-15 05:13:41.709706+00:00", "lang": "en", "topics": ["ai-agents", "developer-tools", "ai-tools"], "entities": ["yoe", "Claude Code", "QEMU", "tio"], "also_reported_by": [], "alternates": {"html": "https://wpnews.pro/news/serial-consoles-in-yoe", "markdown": "https://wpnews.pro/news/serial-consoles-in-yoe.md", "text": "https://wpnews.pro/news/serial-consoles-in-yoe.txt", "jsonld": "https://wpnews.pro/news/serial-consoles-in-yoe.jsonld"}}