MotorLab
Tune the position and velocity loops of a physics-based DC servo. Includes live scopes, step-response metrics, relay auto-tuning, Bode stability margins and closed-loop pole maps, with encoder quantisation, friction and saturation modelled.
Thirteen hands-on web apps across mechatronics, medical imaging, assistive robotics, artificial intelligence, agentic systems, research methods, digital health, energy and everyday tools. Each one is a working simulator: tune a servo, plan a robot arm's motion, reconstruct CT and MRI scans, drive a smart wheelchair, control a prosthetic hand with EMG, watch neural networks learn, stress-test LLM agent workflows, run a meta-analysis, manage an EV battery pack, catch falls with a wearable, or sign a PDF privately. Every algorithm is written from scratch, and the apps run in your browser.
Motors, feedback control and robot kinematics: the core of every electromechanical system.
Tune the position and velocity loops of a physics-based DC servo. Includes live scopes, step-response metrics, relay auto-tuning, Bode stability margins and closed-loop pole maps, with encoder quantisation, friction and saturation modelled.
Drag a 2- or 3-link manipulator, solve inverse kinematics analytically or with damped least squares, see the configuration-space obstacles and plan collision-free, smoothly time-scaled motions around obstacles.
How scanners turn raw measurements into images: projections and k-space in, diagnostic pictures out.
Scan analytic phantoms, lower the dose to add Poisson noise, introduce metal and motion artefacts, then reconstruct with filtered back-projection or iterative SART with total-variation regularisation. Error maps and PSNR/SSIM quantify the result.
Set spin-echo, inversion-recovery and gradient-echo contrasts on a synthetic brain. Paint directly on k-space, simulate motion and spike artefacts, and recover undersampled scans with compressed sensing and partial-Fourier reconstruction.
Robots that work with people: they share control with their users and read their muscle signals.
A powered wheelchair with LIDAR plans cost-aware routes through an apartment and follows them with a dynamic-window planner. It takes voice-style commands, blends in the joystick of a user with tremor, dodges people and builds a map as it drives.
Synthesise 8-channel forearm EMG, filter it, extract time-domain features, train LDA, k-NN or neural-network classifiers and drive an animated robotic hand in real time, with confusion matrices and feature-space projections.
Two ways machines learn: gradient descent through back-propagation, and evolution through selection and mutation.
Build and train a multilayer perceptron in your browser. Watch each neuron's activation map, the decision boundary and the per-layer gradient flow, and run experiments on vanishing gradients, overfitting and feature engineering.
A population of neural-network drivers learns to race on procedurally generated circuits through a genetic algorithm. They have ray sensors, grip-limited handling and a live brain view. Test whether they generalise to new tracks, then race the champion yourself.
Engineering AI agents as reliable systems, and the statistics that decide what research evidence is worth.
Design LLM-agent pipelines as graphs: planners, parallel tool calls, reflection loops, routers and human approval. A discrete-event simulator then measures latency, token cost and reliability under retries, timeouts, fallbacks, rate limits and caching, and critical-path analysis shows where to optimise.
Run random-effects meta-analyses (DerSimonian–Laird, REML, Knapp–Hartung) with forest and contour-enhanced funnel plots, Egger's test and trim-and-fill, plan studies with exact power analysis, and simulate how publication bias and p-hacking distort a literature.
Embedded estimation and detection problems from products people rely on every day: EV batteries and fall alarms for older adults.
Drive an electric car through city, highway and sporty cycles on a 96-cell pack of equivalent-circuit Li-ion cells. Compare state-of-charge estimation by coulomb counting, voltage lookup and extended Kalman filters (including a current-sensor-bias state), then charge with CC-CV and watch passive balancing recover capacity stranded by the weakest cell.
A wearable accelerometer streams daily life and falls of an older adult. Four detectors (impact threshold, posture checks, a free-fall state machine and a learned model) drive an "Are you OK?" alert and caregiver escalation. A benchmark then shows why algorithms tuned on simulated lab falls miss real ones, trading sensitivity against false alarms per day.
Practical software for daily paperwork, built with the same care: private by design, it works offline and needs no account.
Draw your signature with a speed-sensitive pen, type it in a handwriting font, or photograph it on paper and let the app remove the background. Then open a PDF or a photo of a document and place your signature, initials on every page, name, date, text and checkmarks. Download the signed PDF with an optional signing certificate that records the time and the SHA-256 fingerprint of the original, or export the signature as a transparent PNG or SVG. Nothing is uploaded.
There are no frameworks or numeric libraries. FFTs, reconstruction algorithms, planners, classifiers, back-propagation and the genetic algorithm, the event simulator and the meta-analytic estimators are all implemented by hand in plain JavaScript, so the source reads like an annotated textbook.
Each app keeps its maths in a DOM-free *-core.js module that also runs in Node.js. Examples of what is checked:
FFT against NumPy, gradients against finite differences, meta-analysis against R's metafor, power against G*Power.
The apps are static HTML, CSS and JS with self-hosted fonts. Open index.html from disk, serve the folder, or deploy
to GitHub Pages. There is no build step, no API key and no server.