MINIATURE BIOREACTOR

A benchtop bioreactor that does something most benchtop bioreactors can't: hold a 3D cell scaffold and physically stretch it. It was built to grow skeletal-muscle tissue — C2C12 myoblasts on silk scaffolds — under the cyclic mechanical loading that muscle actually needs to differentiate, while perfusing fresh media past every sample and swapping spent media on a schedule. Every part that touches cells unscrews: swap it, reprint it, or reconfigure the whole array for a different experiment.

The brief
Before any CAD, the design was pinned to seven hard requirements. Six are mechanical and material; the seventh is software and user experience:
- Modular — every component removable and swappable; nothing single-purpose.
- Perfusion — media reaches every scaffold with no stagnant dead zones.
- Media exchange — spent-for-fresh swaps, continuous or cyclic, unattended.
- Mechanical stimulation — repeatable linear actuation on any scaffold in the array, through a connection that isn't permanent.
- Separable — the reactor goes into the incubator; the electronics stay outside it.
- Sterilizable — every material survives an autoclave or a chemical wipe-down.
- Programmable — retunable by someone who doesn't write code.
Modular by design
The system is built up from one atomic part. The Scaffold Well is a small threaded cylinder that holds a single scaffold on a centering base plate, with four lumen cutouts so media flows through it in any orientation. The threads are the quiet win here: rather than tapping every part by hand, the M6 threads were printed directly, with the clearance dialed in empirically to 0.3 mm per side after comparing CAD to real prints. They thread and unthread smoothly, with no backlash or loosening.


The perfusion channel
Scaffold Wells thread into a Well Base Tube — a rectangular perfusion channel with three chambers, raised inlets and outlets, and mounting holes — and Base Tubes tile side by side into an array as large as the experiment needs. Media enters one chamber, passes through the well's lumens feeding the scaffold, and exits to the next chamber; every corner is smoothed to avoid turbulence and dead zones. Press-fit silicone tubing seats against a small indentation so it can't overshoot and block the bore. A leak test on the assembled channel showed no leakage.


Applying the load
Cells need linear stretch, but almost every affordable actuator makes rotary motion. Three mechanisms convert one to the other — crankshaft, scotch-yoke, and lead screw. Crankshaft and scotch-yoke are simple, but their stroke is capped by a fixed offset; the lead screw has no such limit and gives finer control, at the cost of needing a stronger, precisely driven motor.
Precision and adjustable amplitude mattered most, so the design uses a single NEMA-17 stepper turning an 8 mm lead screw (2 mm pitch — one turn moves the platform 8 mm). One motor drives a shared actuation platform that presses every actuated sample at once, riding on two guide rods with linear bearings for stability. Combining all modules onto one platform was the economical call — the alternative was one precisely controlled motor per module.

Keeping it fed
Media exchange runs on a custom peristaltic pump built around another NEMA-17. A PETG cover routes two silicone tubes past ball-bearing rollers — two always clamped — so fresh media is pushed in at one end of the array and spent media leaves the other. Inlets use simple pipe fittings; outlets use 3-way valves for sampling or diverting flow.

Making the scaffolds
The scaffolds themselves were fabricated from silk: cocoons boiled and degummed, the fibroin dissolved and dialyzed to a ~6.9% solution, cast into a flexible 3D-printed mold, frozen, freeze-dried, and autoclaved. The result is a batch of small porous cylinders (7 mm × 8 mm) that seat into the Scaffold Wells. A practical note logged for next time: wet the scaffolds before demolding — dry ones tended to crack on the way out.

Running the experiment
Everything is controlled by an Arduino UNO with a CNC shield stacked on top — no external libraries, about 84 lines of C. Operating it needs no programming: a handful of named variables at the top of the file set the stroke amplitude, pump volume, and cycle count, and push-buttons start and stop a run. That was enough to lay out the intended study — a 2×2 factorial of media type (regular vs. differentiation) against loading (actuated vs. static), each with an empty control.

What shipped
A working, leak-tested, fully modular perfusion bioreactor: single-motor lead-screw actuation across a tiled array, a custom dual-channel peristaltic pump, all cell-contact parts printed in biocompatible resin (the rest in PETG on a sterilizable MakerBeam frame), and a controller a non-programmer can retune. The open questions were logged honestly too — a stronger motor for simultaneous dual-channel pumping, and the biological validation the course didn't run.
This is the kind of instrument we build for research labs: the thing your protocol needs that no catalog sells — designed, built, and documented thoroughly enough to hand to the next student.
The build, in detail
Tap any image to enlarge.
Get a free build-readiness review →