Skip to content
@OpenPhysics

OpenPhysics

OpenPhysics logo

OpenPhysics

Open tools for exploring, teaching, and doing physics.

OpenPhysics builds approachable software for physics education, simulation, visualization, and laboratory work. Our projects span browser-based learning environments, Jupyter-native visualizations, and interfaces for experimental hardware.

Projects

Project What it does
Pyro Write and run VPython in the browser with live 3D visualization.
vscene2d Build VPython-style 2D physics scenes directly in Jupyter.
pycd48 Control a CD48 coincidence counter from Python over USB serial.
tscd48 Use a CD48 coincidence counter in the browser through the Web Serial API.
PASCO BLE Examples Read PASCO Wireless sensors from web pages over Web Bluetooth.
Tektronix Oscilloscope Capture waveforms from a Tektronix TBS1072B-EDU oscilloscope in the browser over WebUSB.
FeelTech Function Generator Control a FeelTech FY3200S function generator from the browser over Web Serial.
pascoTS The pasco-ble TypeScript library for PASCO Wireless sensors over Web Bluetooth.
relay Reusable automation and CI/CD infrastructure for OpenPhysics projects.

Our approach

  • Open by default — source code, documentation, and workflows are available for inspection, reuse, and improvement.
  • Built for learning — tools should help students focus on physical ideas, not fight their software.
  • Useful at the bench — educational software can still be dependable, testable, and practical for real experiments.
  • Works where learners work — in the browser, in Python, and in Jupyter.

Get involved

Explore a project above, try it in a class or lab, and share what you discover. Bug reports, documentation improvements, teaching examples, and code contributions are welcome. Each repository's README and contribution guide contain project-specific setup details.

Browse all repositories

Popular repositories Loading

  1. feelTechFunctionGenerator feelTechFunctionGenerator Public

    Control a FeelTech FY3200S function generator from the browser over Web Serial.

    TypeScript 1

  2. pycd48 pycd48 Public

    Python library for controlling the CD48 Coincidence Counter via USB serial. Supports Linux, macOS, and Windows.

    Python

  3. jscd48-tmp jscd48-tmp Public

    JavaScript library for controlling the CD48 Coincidence Counter via the Web Serial API. Published to npm.

    JavaScript

  4. tscd48-tmp tscd48-tmp Public

    TypeScript library for controlling the CD48 Coincidence Counter via the Web Serial API. Published to npm.

    TypeScript

  5. pascoTS pascoTS Public

    TypeScript/JavaScript library for connecting to PASCO Wireless sensors in web browsers using Web Bluetooth.

    TypeScript

  6. pasco-BLE-examples pasco-BLE-examples Public

    Examples of HTML pages connecting to PASCO Wireless sensors using Web Bluetooth.

Repositories

Showing 10 of 11 repositories

People

This organization has no public members. You must be a member to see who’s a part of this organization.

Top languages

Loading…

Most used topics

Loading…