04 / 05
04
Dec 2024 – Feb 2025

ChemX

Physical chemistry simulator controlled from a browser.

ArduinoElectronicsC/C++Web InterfaceIoT
View on GitHub
The Problem

Chemistry education in school is almost entirely symbolic: equations on a board, molecular diagrams in a textbook. The reactions happen in a flask during a lab session, and then they're over. There's no way to interact with the process, slow it down, reverse it, or ask "what happens if I change this variable."

I wanted to build something you could actually touch and control.

What I Built

ChemX is a physical simulator where chemical reactions happen in hardware. LEDs represent atomic bonds forming and breaking. An electromagnet simulates molecular attraction and repulsion. A web interface lets you select a reaction, adjust variables, and watch it play out on the physical rig in real time. Actual hardware responding, not a simulation on a screen.

It was my first hardware project. I didn't have a framework for thinking about constraint-based building at the time, but this is where I learned it: components don't work the way documentation says they do, and the interesting problems are always at the boundary between the physical and the digital.

How it works
01
Hardware rig

Arduino Uno driving a custom PCB with LED arrays and an electromagnet module. Each reaction is encoded as a timed sequence of hardware events.

02
Web interface

Browser-based control panel served from the Arduino. Select reaction type, trigger it, watch the rig respond in real time.

03
Reactions

Acid-base neutralisation, oxidation-reduction, and precipitation reactions, each with distinct LED patterns and electromagnet states.

04
Constraint design

The Arduino's 2KB of RAM meant every byte mattered. Taught me to optimise before I knew what optimisation was.

More projects
Impact
1st
Hardware project ever built
✓
School science exhibition
2mo
Built in two months alongside school
→
Led directly to the LiFi network project
vassu-v/ChemX_001
shoryavardhaans2@gmail.com →