vardaris 1.0
vardaris.rh1.tech:443 300 8N1

CONNECT 300 · Vardaris 1.0 for macOS 26

See what the wire said.

Plug in a USB serial adapter and talk to the board on the other end. Or open a TCP port, or dial a telnet BBS. When the text on screen stops making sense, the hex view shows the bytes exactly as they arrived.

STANDBY · Mac App Store after review price $4.99 macOS 26+ Apple silicon data collected none what it does
The Vardaris window connected to a telnet BBS, cropped to the top left. The board's ANSI welcome screen is in the terminal: the word BOAR in yellow block letters, a framed banner reading the wild boar, private mail, est. 2026, and a login prompt.
telnetboar.rh1.tech:23 · 80 × 25 ANSI screen · CP437 block art

0040why it exists

Serial on the Mac is still screen /dev/cu.usbserial.

That works fine until you replug the adapter and it comes back as usbserial-1420 instead of -1410. Or until the device sends a control byte and you can't tell whether your terminal ate it.

Vardaris was written for that bench. It remembers the adapter itself, so the new path doesn't matter, and it will show you every byte that came in. What CR, LF, backspace and escape codes should do is your call, set per session.

No accounts and no telemetry. The only connections it makes are the ones you open.

0080what it does

Raw bytes first. Most terminals hide them from you.

  1. RX

    A hex view fed from the wire, not from the screen

    The hex view gets its copy of the data before text decoding, high-bit stripping or escape filtering touch it. When a device misbehaves, you are looking at exactly what it sent. Flip between text and hex whenever you like; it's the same session either way.

  2. RX

    Follows the adapter, not the path

    A session records the USB serial number alongside the /dev node. Plug the adapter into another hub port and Vardaris finds it under its new name and reconnects.

  3. TX

    Any rate the adapter can do

    The standard rates, plus custom ones like 250000 for DMX and 31250 for MIDI. Data bits, parity, stop bits, RTS/CTS, DTR/DSR or XON/XOFF, and whether DTR and RTS go high on open, for boards that reset on them.

  4. RX

    An 80 × 25 ANSI screen

    Cursor addressing, clears and colour, in the IBM PC character set BBS art is drawn in. Over telnet it answers with its terminal type and window size, so the board knows what it is drawing on.

  5. RX

    Line discipline you choose

    A carriage return can move the cursor back instead of breaking the line, which is how firmware redraws a counter in place. UTF-8, CP437, Latin-1, Latin-2 and Windows-1251, with multi-byte characters reassembled across reads. Keywords you care about can be highlighted over whatever colour the device used.

  6. TX

    Capture, macros and pacing

    Capture raw, as text or as hex, with timestamps and RX/TX labels, the way this list is written. Macros on F1 to F12. Per-character and per-line delays for firmware that polls its UART with no buffer behind it.

  7. TX

    Sit in the middle of a conversation

    Bridge the session to a second port or host. The controller and the device keep talking to each other, and you read both sides.

00C0in use

One session, two ways of looking at it.

The source in these shots is Boar, a small telnet BBS we run for testing. Its welcome screen makes a decent terminal test, with CP437 block art that changes colour every few characters.

0100sessions

Every setting in one file you can diff.

Port, framing, flow control, line states, display rules, capture and macros all save to a .vardaris file. It is plain JSON with sorted keys, so it can live in the repository next to the firmware it talks to, and a change to the baud rate shows up in review as one line.

Settings apply as you make them. Framing cannot change on an open port, so the pane says so and offers to reopen it.

bench.vardaris
{
  "endpoint" : {
    "serial" : {
      "name" : "usbserial-1410",
      "path" : "/dev/cu.usbserial-1410",
      "serialNumber" : "A10K3Q7Z"
    }
  },
  "serial" : {
    "assertsDTROnOpen" : true,
    "assertsRTSOnOpen" : true,
    "baudRate" : 115200,
    "blocksKeystrokesWhileHalted" : true,
    "dataBits" : 8,
    "ignoresBreakConditions" : true,
    "ignoresFramingErrors" : true,
    "isSoftwareFlowControlSupported" : true,
    "parity" : "none",
    "stopBits" : "one",
    "usesCTSFlowControl" : false,
    "usesDTRFlowControl" : false,
    "usesXONFlowControl" : false
  }
}

0140keyboard

The common things have a key.

In raw mode every other keystroke goes to the device as you type it.

0180requirements

system requirements

macOS 26 or later, on Apple silicon.

Vardaris is a native Swift app built on the macOS 26 interface. For serial, any USB-to-serial adapter that shows up as a /dev/cu.* device works, and so does a board with native USB serial. Vardaris brings no driver of its own, and it runs in the App Sandbox.

It's a one-time purchase: $4.99 in the US, or the local equivalent elsewhere. No subscription and no in-app purchases.

support