You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Developed by Team Ignition Software Department Official Model Rocketry Team of Vellore Institute of Technology, Chennai
About
Glance is a real-time telemetry visualization platform designed for rockets, drones, embedded systems, and advanced data-acquisition applications. Built with PySide6 (Qt6), it offers a modular, widget-based dashboard that adapts to diverse telemetry needs.
With multi-source connectivity, advanced signal filtering, powerful data logging, and professional UI/UX, Glance empowers engineers, researchers, and operators to gain actionable insights at a glance.
Core Capabilities
Real-time multi-channel visualization
Serial, TCP, UDP connectivity
Advanced signal filtering (Kalman, Moving Average, Low-pass, Median)
7+ customizable widget types
CSV & JSON data logging
Professional dark theme UI
Project save/load system
Raw telemetry monitoring
Features
📊 Visualization & Display
Interactive Graphs
Multi-parameter time-series plotting
Zoom, pan, and crosshair inspection
Auto-scaling with manual override
Color-coded parameter traces
Real-time legend updates
Status Displays
Large-format instant value displays with alarm states
Circular gauges with threshold zones
LED indicators with color-coded status
Statistical histograms for distribution analysis
Data Tables & GPS
Searchable log tables with highlighting
Timestamped data entries
Multi-parameter comparison
GPS mapping with satellite imagery
Real-time location tracking
Interactive map controls
Advanced Features
Crosshair cursor with value readout
Mouse-click data point selection
Widget floating and docking
Multi-tab dashboard support
Undo/Redo functionality for widget operations
Standalone raw telemetry viewer
🎛️ Signal Processing
Available Filters
Kalman Filter
Optimal estimation for noisy signals with configurable process and measurement variance. Ideal for tracking applications and sensor fusion.
Moving Average Filter
Simple smoothing over configurable window size (2-100 samples). Effective for reducing random noise.
Low-Pass Filter
Exponential smoothing with adjustable alpha (0.01-1.0). Fast response with controllable lag.
Median Filter
Outlier rejection using median of N samples. Excellent for spike removal while preserving edges.
Filter Management
Per-parameter filter chains
Enable/disable filters without restart
Real-time filter parameter adjustment
Filter state reset capability
Visual filter status indicators
Import/export filter configurations
Processing Features
Apply filters to any parameter
Chain multiple filters per parameter
Raw and filtered data logging
Zero-lag display options
Configurable buffer management
🔌 Connectivity & Data Sources
Serial Communication
RS232, RS485, USB-Serial support
Auto-detection of available ports
Configurable baudrate (300-10M)
Manual refresh of port list
Timeout configuration
Network Protocols
TCP client connections
UDP listener mode
Configurable host and port
Connection status monitoring
Automatic reconnection
Data Format Support
JSON array parsing
CSV delimited data
Raw binary bytes
Binary struct (with type definitions)
Bit-level data extraction
Custom format definitions
Little/big endian support
Configurable channel count (1-1024)
Simulation Mode
Built-in dummy data generator
No hardware required for testing
Configurable sine wave patterns
Random noise injection
💾 Data Logging & Export
Logging Features
CSV and JSON format support
Parameter-selective logging
Configurable buffer sizes (10-1000)
Auto-generated timestamped filenames
Manual buffer flush controls
Organized logs directory structure
Data Management
Raw and filtered value storage
Millisecond-precision timestamps
Elapsed time tracking
Incremental file writing
Low memory footprint
Export Options
Standard CSV for Excel/MATLAB
JSON Lines format for programming
Human-readable timestamps
Parameter metadata inclusion
Configurable write frequency
PDF Report Generation
Automated summary reports from logged data
Statistical analysis (min, max, average)
Session metadata and duration
Professional formatting with charts
Generate via Ctrl+Shift+R or Data Logging → Generate Summary Report
Performance
Buffered I/O for efficiency
Configurable flush intervals
Background writing
No dropped packets during logging
Minimal CPU overhead
🔍 Monitoring & Debugging
Raw Telemetry Monitor
Decimal, hexadecimal, ASCII, binary, and mixed display modes
Real-time packet inspection
Packet statistics (count, rate, bytes)
Pause and resume capability
Search and highlight functionality
Screenshot capture
Save to file
VS Code-like Status Bar
Segmented layout for clear information hierarchy
Live clock display
Connection status with interactive button
Packet count and data received metrics
Active parameters and widget count
UI update rate (FPS)
Data logging indicator
Quick access to Raw Telemetry viewer
Debug Tools
Connection diagnostics
Data format validation
Parameter mapping verification
Real-time packet rate monitoring
Error message display
Connection retry logic
Advanced Telemetry
Multiple display format switching
Packet numbering
Timestamp display options
Byte rate calculation
Error counting
Custom search filters
🎨 User Interface
Modern Design
Professional "Apple-like" dark theme
High-contrast elements with SF Pro typography
Custom styled widgets with glassmorphism effects
Smooth animations and transitions
Gradient accents and refined color palettes
Responsive layout with segmented controls
Dashboard Management
4-phase creation wizard
Professional Welcome Screen with system icons
Setup wizard with validation
Widget pre-configuration
Live dashboard phase
Layout Control
Drag-and-drop widget positioning
Floating and docked modes
Multi-tab support with rename
Tile evenly function
Right-click context menus
Widget resize and minimize
Customizable dashboard titles
Workflow
Project save/load system
Unsaved changes tracking
Configuration validation
Error prevention dialogs
Comprehensive keyboard shortcut support
Command pattern for undo/redo operations
⚙️ Technical Architecture
Backend Core
Threaded Acquisition: DataSimulator runs in a dedicated QThread, ensuring the UI remains responsive even at high data rates (100Hz+).
Abstraction Layer: DataReader provides a unified interface for Serial, TCP, UDP, and Dummy sources, handling low-level socket/port management and error recovery with automatic reconnection.
Binary Parsing: Uses Python's struct module for high-performance parsing of binary packets. Supports mixed data types (int8/16/32, uint8/16/32, float32/64) and binary struct definitions via parameter configuration.
Data Flow
Source: Hardware/Network sends data packet.
Acquisition: DataReader reads bytes/string.
Parsing: Data is converted to a normalized list[float].
Processing: Main thread applies active filters (Kalman/MA).
Visualization: Widgets update via optimized paint events.
Data Logging Internals
Buffered I/O: DataLogger accumulates data in memory (default 100 samples) before performing a bulk write to disk. This minimizes filesystem overhead and prevents write-latency from affecting the acquisition loop.
Formats:
CSV: Optimized for import into Excel/MATLAB with timestamp and elapsed time columns.
JSON Lines: Stream-friendly format for programmatic analysis with ISO timestamp formatting.
Report Generation: PDF reports generated using reportlab library, analyzing logged CSV/JSON data to produce statistical summaries and visualizations.
Signal Processing
Filter Chain: Filters are implemented as independent objects inheriting from SignalFilter base class.
State Management: Filters maintain their own internal state (buffers, covariance matrices) which persists across updates but can be reset dynamically.
Real-time: All filtering occurs in the main event loop, designed for low-latency (<1ms) processing per packet.
Filter Management: FilterManager handles per-parameter filter chains, enabling/disabling filters without restart, and serialization for project save/load.
Screenshots
Modern welcome screen with quick-start options
Flexible data source configuration
Parameter configuration with array index mapping
Comprehensive data logging with format selection
Real-time multi-widget dashboard layout
System Requirements
Minimum
Component
Requirement
Operating System
Windows 10/11 Linux (Ubuntu 20.04+) macOS 10.15+
Python
3.8 or higher
RAM
4 GB
Display
1280x720
Storage
500 MB free
Recommended
Component
Requirement
Operating System
Windows 11 Linux (Ubuntu 22.04+) macOS 12+
Python
3.10 or higher
RAM
8 GB or more
Display
1920x1080 or higher
Storage
1 GB+ for logging
Installation
Method 1: Download & Run (Recommended)
The easiest way to use Glance is to download the standalone executable for your system. No Python installation required.
Glance is a next-generation data visualization dashboard, built with PySide6 (Qt6), designed for seamless monitoring and analysis of real-time sensor data, system metrics, and telemetry streams. Developed by the Software Department of Team Ignition