Skip to main content

Recording

Serial Monitor Pro can record an entire session — every byte sent and received, timestamped to the millisecond — along with simultaneous microphone audio so you can narrate what you're observing.

Starting a Recording

  1. Connect to a serial port (see Serial Monitor).
  2. Click the Record (⏺) button in the monitor toolbar.
  3. Recording begins immediately. Speak into your microphone to add voice commentary.

Stopping a Recording

  1. Click the Stop (■) button.
  2. Enter a name for the session when prompted.
  3. The session is saved automatically.

Auto-Record on Connect

By default, connecting to a port automatically starts a recording, and disconnecting automatically stops and saves it — so you don't have to remember to hit Record before a debug session. Toggle this from the Auto-record on connect checkbox in the monitor toolbar, or via the serialMonitorPro.autoRecordOnConnect setting. The preference is stored at the user level and syncs across machines with VS Code Settings Sync.

Discarding a Recording

After a recording stops — whether you clicked Stop or auto-record handled the disconnect — Serial Monitor Pro shows a notification with Open and Discard buttons, and adds matching inline buttons to the Recording saved: … line in the monitor output.

  • Open opens the session in the Playback panel.
  • Discard removes the session from the Recorded Sessions sidebar immediately and shows an Undo notification. Click Undo within the notification to restore the session.

If you don't click Undo, the recording is permanently deleted the next time any of the following happens:

  • You start another recording on this monitor panel.
  • You discard or delete another session.
  • VS Code closes.

Orphan tombstones from a crash or forced shutdown are garbage-collected the next time the extension activates, so nothing is left behind on disk.

Audio Recording

Audio is captured using SoX (rec command) at 16-bit PCM, 44.1 kHz, saved as audio.wav. If SoX is not installed, a warning is displayed and recording continues without audio — the serial data is still captured.

Session Storage

Sessions are stored as directories under .serial-sessions/ in your workspace (or a custom path configured via serialMonitorPro.sessionStoragePath):

.serial-sessions/
└── session-{UUID}/
├── manifest.json ← serial events + markers + metadata
└── audio.wav ← optional audio (only if SoX was available)

manifest.json contains SerialEvent objects with:

  • timestamp — millisecond offset from the session start
  • directionrx (received) or tx (sent)
  • data — base64-encoded bytes (safe for binary data)