Labs.
Projects I built outside of class, turned into things you can play with. Everything runs right here in your browser. Nothing to install, and you can't break anything.
Ozone sensor board
During my hardware internship at AtmoSense, I redesigned the circuit board inside their ozone sensor, had it made, and tested it against real ozone.
- 41.9 × 48.3 mm
- board size
- 262×
- how much the sensor reacted to ozone
- 5 / 5
- built boards that powered on
- Summer 2026
- internship
Built during my hardware internship at AtmoSense. Some details of the design are hidden for confidentiality.
Spin the board around
- Drag to turn it.
- Scroll or pinch to zoom in.
- Tap Top view or Side view to jump to an angle.
The circuit board I designed, exported straight from the design files.
Make the sensor react
- Drag the O₃ box closer to the board.
- Watch the line climb. Closer means a bigger jump.
- Turn the generator off and watch it slowly calm down.
The generator turns on by itself in a moment.
Time runs fast because real sensors take minutes to react. How fast it rises and recovers comes from real test logs from the board. How ozone spreads with distance is a rough guess, not a measurement.
HyperBrush
Electrical lead on a student startup building a powered toothbrush. I handle the motor drive, power and firmware. The details are under NDA, so the demo is a generic motor driver.
- Electrical lead
- role
- Fall 2026
- started
- Motor · power · firmware
- what I own
HyperBrush work is under NDA, so this is a generic motor driver built from textbook values. No HyperBrush parts, circuits or measurements are shown.
Drive a DC motor
- Press Start.
- Change one thing at a time.
- Read the line under the scope. It tells you what just happened.
Motor is off. Press Start motor.
How much of each cycle the switch is on.
How hard the motor has to push.
Loses about a volt, so the motor gets less.
Gives the motor's current somewhere safe to go.
Wireless microscope
A Wi-Fi microscope camera. Open a web page on your phone and you get a live view, plus full-quality photos when you want them.
- 160×120
- live view, 5 frames a second
- 1024×768
- photo size
- 180 s
- idle before it sleeps to save battery
- 0
- apps to install
Use the microscope
- Drag the circle on the photo to move the lens.
- Watch the live view follow it.
- Press Capture for a full-quality picture.
Under the lens
Status
- Address
- m5microscope.local
- Battery
- 87%
- Sleeps in
- 180 s
Picture settings
Live view low-res so it streams fast
Your picture full quality
Behind the scenes: device log
The real microscope serves this same page over Wi-Fi. The video size, frame rate, sleep timer and the steps in the device log all match the real firmware. The thing under the lens is one of my circuit boards.
Pacman, with greedy ghosts
A maze game I wrote in Java. The ghosts follow one simple rule: always step toward you. Rebuilt here so it runs in your browser.
- 19 × 19
- maze grid
- 200 ms
- between ghost moves
- 4
- moves each ghost considers
Play it
- Tap the board or press an arrow key.
- Eat the dots, dodge the ghosts. On a phone, swipe.
- Grab a cherry and the ghosts run from you for 5 seconds.
I first wrote this as a desktop game in Java. This browser version keeps the same maze, ghost speed and ghost logic.