Best way to turn PlatformIO serial output into clean captions for demo videos

Hi all,

I’ve been working on a small ESP32 project using PlatformIO (sensor-based, outputs data over serial), and I’m trying to create a short demo video of it using capcut. The issue I’m running into is that the raw serial output isn’t really “video-friendly.” It includes timestamps, inconsistent spacing, and sometimes special characters, which makes it messy when I try to reuse it as on-screen captions or overlays in capcut. Right now my workflow is:

  • Run project → capture serial monitor output

  • Copy/log the data and download this

  • Manually clean it up → paste into capcut as text overlays

It works, but it’s pretty inefficient and doesn’t scale if I want to make multiple videos.

So I’m wondering:

  • Is it better to format/clean the output directly in code before printing (e.g., simplified strings for display)?

  • Or is there a common approach to exporting logs (CSV/JSON?) and transforming them into something usable for video overlays?

  • Has anyone here done something similar—turning real-time device output into presentable content?

Appreciate any suggestions or workflow ideas.

1 Like

I’d just use a regular terminal output recorder like https://github.com/asciinema/asciinema and run the “Monitor” (or “Upload and Monitor”) task from the commandline like

# upload and monitor
pio run -t upload -t monitor
# or just monitor
pio device monitor

That of course necessitates that you have added pio as a shell command.

You can log all serial data to a file with a timestamp using monitor_filters, as described in the documentation.

Have you looked into Teleplot?

Serial logs are not presentation-friendly for videos. Treat output as presentation layer instead debugging. First approach formats output directly in firmware. Remove timestamps and debug noise at source. Use simple human-readable strings for overlays. Add debug flag to preserve detailed logs. Second approach uses structured CSV or JSON logging. Export logs and transform with Python scripts. Generate clean captions or overlay text automatically. Third approach converts logs into SRT subtitles. Import subtitles directly into CapCut editing software. Best workflow depends on automation and scalability needs.