A powerful and feature-rich serial monitor extension for Visual Studio Code with advanced filtering, real-time plotting, and data visualization capabilities.
Features
Core Serial Monitoring
Real-time Serial Communication: Connect to any serial port with configurable baud rates (up to 2Mbps), data bits, stop bits, and parity settings
ANSI Color Support: Full support for ANSI escape codes with proper color rendering
Auto-scroll: Automatically follows incoming data with smart scroll position management
High Performance: Optimized rendering engine that handles thousands of lines efficiently
Advanced Filtering
Real-time Filtering: Filter lines by pattern matching as you type
Copy Options: Copy all lines, filtered lines, or visible lines to clipboard
Configurable Buffer: Adjustable maximum line count (100 to 1,000,000 lines)
Data Visualization & Plotting
Real-time Plotting: Extract numeric values from serial data and plot them in real-time
Multiple Variables: Track and plot multiple variables simultaneously
Custom Patterns: Use regex patterns to extract values from serial lines
Time-based X-axis: Extract time/uptime values for time-series plotting
Interactive Charts: Powered by Chart.js with zoom, pan, and legend support
Additional Features
Save to File: Export serial data to a file
Device Reset: Send reset pulses via DTR/RTS control lines
RTS/DTR Control: Properly configured to avoid interfering with shared pins (e.g., BOOT0/SDA)
Frozen View: Scroll up to review old data without losing your position
Line Usage Indicator: Monitor buffer usage in real-time
Requirements
Visual Studio Code 1.106.0 or higher
A serial port (USB-to-Serial adapter, built-in serial port, etc.)
Usage
Open the Command Palette (Ctrl+Shift+P or Cmd+Shift+P)
Run the command: "FancyMon: Start Serial Monitor"
Select your serial port from the dropdown
Configure baud rate and other serial settings
Click "Connect" to start monitoring
Plotting Data
Switch to the "Plot" tab
Enter a sample line from your serial output in the "Pattern Input" field
The extension will automatically extract numbers from the line
Select which numbers you want to plot
Click "Add Variable to Plot"
The extension will automatically extract matching values from incoming serial data and plot them in real-time
Filtering Lines
Type a pattern in the "Filter" input field to show only lines matching that pattern. The filter works in real-time as you type.
Extension Settings
This extension does not currently add any VS Code settings. All configuration is done through the serial monitor interface.
Known Issues
None at this time. If you encounter any issues, please report them on the extension's GitHub repository.
Release Notes
0.0.1
Initial release of FancyMon Serial Monitor with:
Serial port communication
Real-time data display with ANSI color support
Advanced filtering capabilities
Real-time data plotting and visualization
High-performance rendering for large data streams
Proper RTS/DTR control to avoid pin conflicts
Contributing
Contributions are welcome! Please feel free to submit issues or pull requests.