Skip to content

Feature request: Expose input timing + profile switching via USB for external automation #36

@TheProgressiveScan

Description

@TheProgressiveScan

Hello marqs,
First of all, thank you for the continued development and support of OSSC Pro. It has become the central piece of my retro setup.
I would like to ask about the possibility of exposing input timing information and basic control over profile switching via the OSSC Pro USB port in a future firmware update, specifically to enable external automation.

Use case
Many of us use automatic SCART switches games care scart switch to route multiple consoles into OSSC Pro. These switches can reliably report which input/console is active, but they cannot detect video timing (240p vs 480i, PAL vs NTSC, etc.).
OSSC Pro already detects this information internally, and the idea would be to allow a small external controller (e.g. Raspberry Pi Pico / ESP32) to:

  1. Read current input timing from OSSC Pro (resolution, scan type, refresh rate)
  2. Based on predefined rules, issue a command to switch to a matching OSSC Pro profile (wobbling pixels already released over 70 ready to use profiles)

This would allow automatic profile selection such as:

  • PS1 240p → low-latency profile
  • PS1 480i (FMVs) → scaler profile
  • PAL vs NTSC timing → correct profile variant

Precedent:

A very similar system already exists for RetroTINK 4K, where:

  • Input timing is exposed via USB/serial
  • External scripts automatically switch profiles

Reference:
https://github.com/KnightNZ/GamescareRT4K
This approach has proven reliable and very useful in practice.

Scope (non-prescriptive)
I am not requesting a specific implementation, only asking if something like the following would be feasible long-term:

  • USB CDC / serial or HID interface
  • Read-only access to current input timing (e.g. resolution, progressive/interlaced, refresh rate)
  • Simple command to switch to a specified profile number or name

Even a minimal or experimental interface would already unlock a lot of automation potential without affecting normal users.

Why external automation?
Keeping this logic external:

  • Avoids adding complexity to OSSC Pro UI
  • Keeps automation optional
  • Allows advanced users to build custom workflows without impacting firmware stability

I fully understand if this is out of scope or not a priority. I mainly wanted to ask whether exposing such data/control via USB is technically possible or something you would consider in the future.
Thank you for your time and for your work on OSSC Pro.
Kind regards

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions