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.
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.
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.
|
EXPERIMENT 01
See how light transfers energy to electrons and produces a measurable photocurrent. Adjust |
|
EXPERIMENT 02
Measure oscillation in real time and compare it with the small-angle model. Adjust |
|
EXPERIMENT 03
Follow displacement, velocity, acceleration, and energy through a complete oscillation. Adjust |
|
EXPERIMENT 04
Explore the relationship between temperature, emitted spectrum, and the visible-light region. Adjust |
| 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 |
| 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.
- 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, andPmeasurements 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
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.
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.
- Check the existing issues or open one that describes the change.
- Create a focused branch in your GitHub fork.
- Make and test the change locally.
- Keep simulator HTML, CSS, and JavaScript in separate files.
- 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.
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.
| 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.