−50% Launch offer: a Termethos license for $49 $24.50, one-time, until December 31, 2026

Documentation

Termethos documentation

From the first connection to an AI agent testing firmware on your board.

Install

  1. Download Termethos for your system. Termethos is for Windows and Linux.
    • Windows: run Termethos.Setup.2.0.0.exe. Windows may warn you because the installer isn't code-signed. Why?
    • Linux: install the .deb with sudo apt install ./termethos_2.0.0_amd64.deb. Then add yourself to the dialout group so Termethos can open serial ports: sudo usermod -aG dialout $USER, and log out and back in. Linux setup
  2. Termethos starts in simulation mode, with a simulated device, so you can try everything without a board.
  3. To use real serial ports, buy a license, paste the key into the banner and click Activate.

Installing a new version over an old one keeps your license and settings. On Windows the app is installed in %localappdata%\Programs\termethos, and on Linux the .deb installs it in /opt/Termethos. Settings and the license are in %APPDATA%\Termethos on Windows and ~/.config/Termethos on Linux.

Connections

A connection is a saved profile for one board: the serial port, baud rate and line settings. Use the connection controls on the left of the toolbar to pick a saved connection, create a new one or edit it, and the plug button to connect or disconnect.

  • Baud rate: the standard rates are listed. Add others, such as 74880, in the advanced settings. Example
  • DTR when connecting, RTS when connecting: the state of the two lines when the port opens. Change them if your board resets or enters its bootloader when you connect.
  • Reconnecting: if the port goes away, for example when the board resets or is unplugged, Termethos reconnects when it's back.

The status bar shows the connection state, such as Connected: COM3, and the number of trace lines.

AI agents can create connections and change their settings too, once you allow it. Permissions

Logs and telemetry

Termethos works with the text your firmware already prints. Short prefixes add structure:

Print thisTermethos does
!Itext !Wtext !EtextInfo, warning or error line. Agents can filter on it.
!#textDraws a box around the text
@{index:value}Sets dashboard field 0 to 23
\x1b[2JClears the trace

Examples with screenshots

Commands

Type a command in the command line and press Enter to send it with the connection's line ending. Sent commands are kept in the history.

Quick commands

Quick commands are buttons on the side of the window, with an optional hotkey. Add them to commands in the advanced settings (the red cog on the toolbar):

advanced settings · commands
{
  "name": "Fan 50%",
  "command": "fan 50",
  "description": "Run the fan at half speed",
  "hotKey": "alt+f"
}

AI agents can list and run quick commands by name, if you allow commands for agents.

Scripts

A quick command with a script runs a JavaScript function instead of sending text. The function gets the open serial port:

CallDoes
await port.write(data)Writes a string or bytes as they are, without a line ending. Resolves once written, so a script can pace large writes.
port.set({ dtr, rts })Sets the DTR and RTS lines. Pass both, because a missing one is set on.

Reset an ESP32 or ESP8266

script
async (port) => {
  port.set({ dtr: false, rts: true });    // hold in reset
  await new Promise(r => setTimeout(r, 100));
  port.set({ dtr: false, rts: false });   // release: boot normally
}

Send a test sequence

script
async (port) => {
  for (const cmd of ["motor 1 200", "motor 2 200", "log on"]) {
    await port.write(cmd + "\r\n");
    await new Promise(r => setTimeout(r, 250));
  }
}

Send raw bytes

script
(port) => { port.write("\x02PING\x03"); }

In the settings file the script is a JSON string, on one line, as in the ESP32 reset example.

Scripts have full access to your computer. Termethos shows a script and asks before it runs the first time, and again if it changes. Only run scripts you trust, and allow scripts for AI agents only if you need them.

Export a session

The Export session button saves the trace, the dashboard field changes and the commands sent, each with its time to the millisecond:

  • Text (.log): one line per event, with time, level and text, for bug reports.
  • JSON Lines (.jsonl): one JSON object per event, with colored parts, for your own scripts and plots.
  • Copy for AI: a Markdown summary of the connection, the dashboard, the last trace lines and recent commands, to paste into any AI chat. Choose how many trace lines to include.

An export has what's still in memory: the trace keeps its last 50,000 lines by default.

AI agents

Turn on the built-in MCP server and AI coding agents can read the trace and dashboard, send commands, and create and manage connections.

Tutorials

More questions? See the FAQ, the UI tour, or open an issue.

Ready to connect your board?

Download Termethos and try it free in simulation mode. When you're ready, a one-time $24.50 license unlocks real serial ports, 50% off its usual $49 until December 31, 2026.