Skip to content

Latest commit

 

History

30 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Serial Studio Extensions

Extensions for Serial Studio. Themes and plugins that extend the application without modifying its core.

Available Extensions

Themes

Extension Style Description
Solarized Dark Dark Ethan Schoonover's iconic palette with calibrated contrast
Solarized Light Light Warm cream variant of Solarized for bright environments
Aether Dark Dark GitHub-inspired deep space dark with cool blue accents
Aether Light Light Clean GitHub light mode with bold blue accents
Classic Dark The original Serial Studio look with teal and mint green
Gunmetal Dark Industrial charcoal with warm gold accents
Iron Light Polished white surface with gold highlights
Midday Light Slate-blue toolbars with amber accents
Midnight Dark Ultra-dark with muted indigo for late-night sessions
Rust Dark Warm earthy browns with gold accents

Plugins

Extension Category Description
Live Data Table Visualization Sortable table with sparklines, search, freeze/resume
Data Statistics Logger Analysis Running stats (min/max/mean/stdev) with HTML export
Threshold Alerts Monitoring Per-field alert thresholds with event log
Protocol Analyzer Debugging Frame capture with hex dumps and timing analysis
Digital Indicator Visualization Seven-segment displays with hold, tare, peak tracking
Custom Gauge Visualization Multi-needle analog gauges with auto-ranging

Installation

  1. Open Serial Studio and click Extensions in the toolbar
  2. Browse the catalog. Extensions are grouped by type
  3. Click a card to see details, then click Install

Installed extensions auto-update when a newer version is detected in the repository.

Plugin Features

All plugins in this repository share a common set of capabilities:

  • Auto-reconnect to the Serial Studio API server
  • State persistence: plugin windows and settings are saved to the project file
  • Auto-launch: plugins that were running are relaunched on next startup
  • Start Menu integration: launch plugins from the dashboard Start Menu
  • Cross-platform: separate entry points for macOS, Linux, and Windows

Contributing

Development Setup

  1. Clone this repository
  2. In Serial Studio, open Extensions > Repos > Browse and select the cloned folder
  3. Extensions appear immediately, so you can install and test right away
  4. Make changes, reload, and iterate

Creating Extensions

See the doc/ folder for detailed guides:

  1. Getting Started: extension types, info.json structure, local testing
  2. Creating Themes: color palettes, code editor XML, design tips
  3. Creating Plugins: API connection, frame data, tkinter patterns
  4. Plugin State Persistence: save/restore plugin state in project files
  5. Platform Support: platform keys, shell wrappers, native binaries

Repository Structure

manifest.json                    Extension index (references all info.json paths)
theme/<id>/                      Color themes (palette JSON + code editor XML)
plugin/<id>/                     External plugins (Python + shell wrappers)
scripts/update-digests.py        Regenerates the SHA-256 table in every info.json
doc/                             Development guides

Conventions

  • Extension IDs use lowercase-hyphenated format
  • Each extension is self-contained in its own directory
  • info.json carries all metadata; manifest.json only references paths
  • File paths in info.json are relative to the info.json location
  • Every listed file carries a SHA-256 in the sha256 table of its info.json

File Digests

Serial Studio verifies each file it installs against the digest the entry publishes, so a stale sha256 table means a refused install, not a cosmetic problem. After changing any listed file:

python3 scripts/update-digests.py           # rewrite every info.json
python3 scripts/update-digests.py --check   # what CI runs on each pull request

files stays a plain list of paths and the digests live beside it in sha256, keyed by the same path. Serial Studio 4.1.0 and earlier read files and ignore the rest, so one repository serves every version: older releases install as they always did, newer ones verify. info.json itself is listed but carries no digest -- it would have to contain a digest of its own bytes -- so Serial Studio installs the catalog document it already parsed. See Getting Started.

License

This repository is licensed under the MIT License. Copyright (c) 2025 Alex Spataru.

About

Extensions for Serial Studio, including themes, plugins, frame parsers, and project templates.

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

2 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages