Skip to content

About

An open, browser-based collection of interactive physics experiments for students, educators, and first-time contributors.

Resources

Stars

3 stars

Watchers

0 watching

Forks

Repository files navigation

Dinglo Open Physics Lab

Physics you can see, change, and test

Five browser-based experiments that turn equations into motion, measurements, and intuition. Adjust real parameters, make a prediction, and watch each model respond.

Launch the live physics lab No build step required Source-available license

HTML5 CSS3 JavaScript GitHub Pages

Experiments · Learning design · Run locally · Project map · License

Important

This is a source-available collaboration project. You may use the official simulations and fork the repository to prepare a pull request. Selling, redistributing, rehosting, or reusing the projects elsewhere is not permitted. Read the license summary before making a local copy.


Experiment gallery

Each lab pairs an interactive model with live measurements, graphs, and controls. Start with a familiar equation, then push it until your intuition catches up.

Photoelectric Effect Simulator with a light source, metal plate, circuit, graphs, and adjustable controls

EXPERIMENT 01

Photoelectric Effect

Kmax = hf - φ

See how light transfers energy to electrons and produces a measurable photocurrent.

Adjust
wavelength · intensity · work function · stopping voltage

Launch simulator →

Simple Pendulum Simulator with an animated pendulum, measurement panel, and adjustable controls

EXPERIMENT 02

Simple Pendulum

T ≈ 2π√(L/g)

Measure oscillation in real time and compare it with the small-angle model.

Adjust
length · gravity · mass · initial angle

Launch simulator →

Simple Harmonic Motion Simulator with a mass-spring oscillator, energy display, and motion traces

EXPERIMENT 03

Simple Harmonic Motion

x(t) = A cos(ωt + φ)

Follow displacement, velocity, acceleration, and energy through a complete oscillation.

Adjust
amplitude · mass · stiffness · phase · playback speed

Launch simulator →

Blackbody Spectrum Simulator showing the spectral radiance graph, temperature controls, and live measurements

EXPERIMENT 04

Blackbody Spectrum

λmaxT = b

Explore the relationship between temperature, emitted spectrum, and the visible-light region.

Adjust
temperature · spectrum scale

Launch simulator →

Ohm's Law Circuit Simulator showing a live series circuit, controls, and electrical measurements

EXPERIMENT 05 · NEW

Ohm's Law Circuit

V = IR

Build intuition for voltage, resistance, current, and electrical power in a complete series circuit.

Adjust
source voltage · independent current · circuit switch · experiment presets

Launch simulator →

Lab index

Experiment Core ideas Live lab
Photoelectric Effect Photon energy, work function, stopping potential, photocurrent Open
Simple Pendulum Period, gravity, length, angular motion, energy Open
Simple Harmonic Motion Amplitude, angular frequency, phase, spring force, energy conservation Open
Blackbody Spectrum Temperature, spectrum, Wien's law, visible light Open
Ohm's Law Circuit Voltage, resistance, current, power, series circuits Open

Built for active learning

Adjustable controls Live response Graphs and measurements
Change the model Watch the response Compare the physics
Work with meaningful physical parameters instead of fixed animations. See motion, charge flow, energy, and measurements update together. Connect each live result to equations, traces, and idealized models.

Every simulator uses plain HTML, CSS, and JavaScript. There is no framework to learn and no build pipeline between an idea and the browser.

What the Ohm's Law lab includes

  • A Dinglo-native dark instrument interface aligned with the other physics labs
  • A scientifically structured circuit with a DC source, switch, resistor, series ammeter, and parallel voltmeter
  • Independent voltage and current controls with live resistance calculated from R = V ÷ I
  • Animated charge flow whose speed responds to current
  • Live V, R, I, and P measurements plus conductance, power, and one-second energy
  • A fixed-scale voltage–current graph with the calculated-resistance response and current operating point
  • Four experiment presets and an eight-row observation notebook with CSV export
  • Responsive controls, keyboard focus states, semantic labels, and reduced-motion support

Why contribute?

This repository is designed for focused, useful pull requests. A contribution can be as small as one corrected label or as ambitious as a complete experiment.

Focus Valuable contributions
Interface Improve mobile layout, keyboard access, screen-reader labels, or control clarity.
Physics Correct an equation, unit, explanation, graph label, or numerical method.
Learning Add presets, guided challenges, classroom questions, or clearer feedback.
Performance Improve animation smoothness, rendering efficiency, or numerical stability.
Reach Translate simulator text or propose a new browser-based experiment.

If something feels confusing, open an issue. If you can improve it, fork the repository and send a focused pull request.


Project map

open-physics-lab/
├── index.html                 # Photoelectric Effect page
├── styles.css                 # Photoelectric Effect styles
├── script.js                  # Photoelectric Effect simulation
├── simple-pendulum/
│   ├── index.html
│   ├── styles.css
│   └── script.js
├── simple-harmonic-motion/
│   ├── index.html
│   ├── styles.css
│   └── script.js
├── blackbody-spectrum/
│   ├── index.html
│   ├── styles.css
│   └── script.js
├── ohms-law/
│   ├── index.html             # Circuit structure and controls
│   ├── styles.css             # Responsive lab interface
│   └── script.js              # Physics, graph, and notebook logic
└── assets/                    # README screenshots

The small, predictable structure lets contributors work on markup, styling, or simulation logic without searching through a large framework.


Contributing

  1. Check the existing issues or open one that describes the change.
  2. Create a focused branch in your GitHub fork.
  3. Make and test the change locally.
  4. Keep simulator HTML, CSS, and JavaScript in separate files.
  5. Submit a pull request explaining what changed, why it helps, and how you tested it.

By submitting a contribution, you confirm that it is your original work, or that you have the right to submit it, and accept the contribution terms in the license. You retain copyright ownership of your original contribution. Accepted contributions receive attribution through Git history and may be integrated into this repository and its official GitHub Pages deployment.


License

Dinglo Restricted Collaboration License v1.0
Source-available for viewing, learning, evaluation, and contribution preparation. It is not an open-source license.

Copyright in each original contribution remains with the contributor who created it. The combined project may not be sold, commercially used, redistributed, mirrored, rehosted, sublicensed, or copied into another project without the required copyright owners' written permission.

GitHub-hosted viewing and forking rights supplied by GitHub's Terms of Service continue to apply. This repository grants a narrow additional permission to make a fork or temporary local copy solely to evaluate the project and prepare a pull request for this canonical repository.

Read the complete license before copying or modifying the project.


Official project locations

Destination Link
Source repository github.com/kegodev/open-physics-lab
Photoelectric Effect Open the live lab
Simple Pendulum Open the live lab
Simple Harmonic Motion Open the live lab
Blackbody Spectrum Open the live lab
Ohm's Law Circuit Open the live lab

Change a parameter. Make a prediction. Run the experiment.

The word “Open” in the project name describes public access and collaboration; it does not mean the work is licensed as open-source software.

About

An open, browser-based collection of interactive physics experiments for students, educators, and first-time contributors.

Resources

Stars

3 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages