Inspiration
Lab automation makes science faster, safer and easier to repeat, but at thousands to millions of dollars per robot, it's out of reach for most of the world. Under-funded labs, schools and clinics in low-resource regions still measure and pour everything by hand, often with hazardous chemicals, little safety equipment and limited safety training. Mistakes there mean injuries and wasted experiments.
Even labs that can afford automation struggle with it. Legacy systems need complex setup, rigid workflows and expert knowledge of both the chemistry and the machine. Modern AI changes that. With LLMs and agents, anyone can describe an experiment in plain language and the system plans it around the equipment it actually has, explains each step, and asks before anything moves. The barrier drops from "trained technician" to "anyone who can send a text."
Low cost plus AI also unlocks something bigger: running many experiments at once, with shared context. A chemist working by hand is lucky to run 96 reactions a day, while Merck's automated platform ran over 1,500 in under a day. Berkeley's A-Lab made 41 new compounds in 17 days, work that would have taken months or years by hand. In drug discovery, Recursion runs up to 2.2 million experiments a week, and AstraZeneca is automating its design-make-test cycle to find drug candidates in half the time. In 2024, five labs on three continents shared one AI planner and discovered 21 new state-of-the-art laser materials. Today only big pharma and national labs can work at this scale.
So we asked: what if every lab in the world could? Clinics could run tests that are now out of reach, students could learn chemistry safely by doing it, and local researchers could work on problems that well-funded labs overlook. At a few hundred dollars per bench, a network of schools, clinics and small labs could run experiments in parallel and learn from each other. We built a low-cost, open-source bench from hobby parts and ordinary beakers as a first step.
What it does
Two low-cost robot arms, a scale, a carousel and a 3D-printed powder auger make elephant's toothpaste. The arms pour peroxide and water onto the scale, stopping at a target weight, and the auger doses the yeast. Everything is combined in a flask, and the flask slides out for the eruption. The robots do the measuring and pouring, so no one stands over an open beaker of peroxide.
You can also text the bench over iMessage. It answers questions about the run, asks for approval before anything moves, and alerts you to faults like an e-stop or a jammed auger.
How we built it
- Hardware: two SO-101 arms, a load cell with an HX711, high-torque servos, and parts designed in Fusion 360 and 3D printed.
- Safety: a hardware e-stop that cuts all servo power.
- Firmware: C++ on an Arduino Mega, with a communication watchdog and auger jam detection.
- Simulation: every arm move checked for reach and collisions in MuJoCo before we printed anything.
- Software: a FastAPI backend, Claude through MCP to turn plain-text requests into plans, and a Photon agent on iMessage.
The Photon agent
The bench has its own phone number. We built the agent on Photon's Spectrum SDK, so it lives on a real iMessage line, and anyone can text it like a coworker. There's no app to install and no login. If you have a phone, you can use the bench.
Every message goes to Claude along with the backend's tools over MCP. The agent can read the live state of the run, the scale, the alerts and the event log, and it answers from that instead of guessing. You can ask "how much peroxide is in P1?" or "why did it stop?" in plain words and get a straight answer in a text or two.
Context management is what makes it feel like one conversation instead of a string of separate ones:
- Per-chat memory: each chat keeps its own history on disk, so a reply hours later still knows what you were talking about, even across restarts.
- Shared people registry: who people are lives in the backend, shared with the dashboard. The bench knows your name, whether you're an operator, and how you want to be alerted, on iMessage or anywhere else.
- Only what's new: each chat remembers the last event it was told about. When you ask "any update?" mid-run, it tells you only what changed since then instead of the whole story again.
- One record: every message in and out is written back to the backend, so the conversation shows up next to the run on the dashboard and nothing happens off the record.
- Group chats: in a group chat it only replies when someone addresses it or asks about the experiment. It still listens, so "text me if anything happens" quietly subscribes you.
It also speaks first, but only when a person is actually needed. A fault or e-stop goes out right away with a photo of the bench, warnings get batched into one message, and you get one summary when a run finishes. No alert is sent twice.
Texting also keeps people in charge. Anyone can ask for a run. The agent writes up the plan and the amounts, but nothing moves until an operator replies "yes" in the chat. Together this drops the barrier from learning a lab robot's software to sending a text: a student or a clinic worker can ask questions, start an experiment and get told when something goes wrong, all from their phone.
Challenges we ran into
Fitting everything within reach of two small arms took 13 layout revisions. Our carousel servos can't report their position, so the firmware remembers it instead. Scale reads made the servos jitter until we moved servo pulses to a hardware timer, and swapping motors mid-build meant redesigning the auger.
Accomplishments that we're proud of
A full chemistry run built for a few hundred dollars using ordinary glassware. It pours by weight in a closed loop, has safety at every layer, and you can text it.
What we learned
Precision can come from feedback rather than expensive hardware: a scale in the loop beats a precise pump. Simulating before building saved us a lot of reprints. And no single safety check is enough on its own.
What's next for Wet Lab Bench
- Measure it: run repeated pours and doses to get real accuracy numbers.
- Close the loop: add a camera that measures each result, and let the AI pick the next experiment.
- Automatic lab notebook: log every weight and step so any run can be repeated.
- Real lab work: adapt the bench to buffer recipes, crystallization and dose-response tests.
- Make many: network benches across schools and clinics so they run experiments in parallel and share what they learn.
Log in or sign up for Devpost to join the conversation.