Analysis updated 2026-05-18
Automate simple liquid handling tasks like mixing colors or serial dilution using a repurposed 3D printer.
Prototype a low cost lab automation robot before investing in commercial equipment.
Use an AI agent to propose experiment plans from camera and log data for a human to approve.
Learn how to convert a 3D printer's G-code motion system into a liquid handling robot.
| omkarkovvali/picolab_v2 | adam-s/car-diagnosis | bobholamovic/dudulearnstocode-template | |
|---|---|---|---|
| Stars | 8 | 8 | 8 |
| Language | Python | Python | Python |
| Last pushed | — | — | 2022-01-16 |
| Maintenance | — | — | Dormant |
| Setup difficulty | hard | moderate | moderate |
| Complexity | 5/5 | 3/5 | 3/5 |
| Audience | developer | researcher | developer |
Figures from each repo's GitHub metadata at analysis time.
Requires physical 3D printer hardware modified with a syringe mount.
Picolab is a prototype lab automation robot built by repurposing a cheap consumer 3D printer. Ender-style 3D printers have an XYZ motion system that moves a print head to precise coordinates. Picolab mounts a syringe onto that motion system and uses the printer's extruder axis, which normally pushes plastic filament, to push and pull the syringe plunger. The result is a machine that can pick up liquid from one tube, move to another position, and deposit it, all under software control. The hardware target cost is low, and the README describes it as an intentionally scrappy early step toward a fully automated lab. The software wraps around the printer's existing control language, called G-code. A Python backend generates G-code commands for movements and sends them over USB to the printer's firmware. A React web dashboard lets the operator jog the machine to each tube position to calibrate its workspace, preview generated movement sequences before they run, set up transfers between named targets, and trigger an emergency stop if something goes wrong. The backend is built with FastAPI and all hardware commands require explicit operator approval before executing. An AI agent is also included. It connects to OpenAI's API and can receive the current machine state, calibration data, recent logs, and an optional camera snapshot, then propose a plan of actions for the operator to review. The intent is to eventually close the loop: a model proposes an experiment, the robot runs it, the camera verifies the result, and the output informs the next proposal. That full loop is the long-term vision, currently the robot needs a human to approve each step. Demonstrated capabilities so far are simple: mixing colored liquids to synthesize a new color, and serial dilution where each tube contains half the concentration of the previous one. The README notes that the next improvements needed are better mechanical repeatability, more accurate volume calibration, and tighter camera-based verification. The project is self-described as experimental hardware. The README includes safety notes warning against exposing the API to a network, advising conservative Z-height settings, and stating the system is not suitable for sterile or safety-critical work.
An experimental lab robot that turns a cheap 3D printer into a machine for moving liquid between tubes, with an optional AI agent proposing steps.
Mainly Python. The stack also includes Python, FastAPI, React.
Setup difficulty is rated hard, with roughly 1day+ to a first successful run.
Mainly developer.
This repo across BitVibe Labs
Verify against the repo before relying on details.