Hey! This thing is still a Work in Progress. Files, instructions, and other stuff might change!

SyriGo - Open Hardware Programmable Syringe Pump

by Ocram, published

SyriGo - Open Hardware Programmable Syringe Pump by Ocram Oct 11, 2016
0 Share
Download All Files

Thing Apps Enabled

Order This Printed View All Apps

Design Tools

Solidedge Eagle

Liked By

View All

Give a Shout Out

If you print this Thing and display it in public proudly give attribution by printing and displaying this tag.

Print Thing Tag

Thing Statistics

6227Views 1011Downloads Found in Machine Tools


PLEASE NOTICE: This is a work in progress and not meant for rebuilding yet!!
Update 03.11.16: The SyriCtrl Board v1.1 is fully tested and working now. You can prebuilt it, or use it for other projects. It is basically an arduino with integrated stepper driver! You can find all files (including BOM) in the download section.

Check out the regular updates on project progress in the "custom" section below.

Our Lab was purchasing a programmable syringe pump and I was amazed at the exorbitant prices of such devices (more than 2000€ for an entry-level pump).
I searched for Open Hardware solutions, but no published pump seemed to be really suitable for laboratory use. Existing pumps are often bulky, not fully contained from the enviroment (and thus hard to clean) and unpleasant to the eye or impractical to use.
I therefore tried to design my own pump, based on a Nema17 Stepper motor, controlled by a standardized Pololu(-like) shield, an ATmega8 and full USB-support via a MCP2200.

This pump features:
-Very small bench-size of only 28 x 7 cm (lab space is money!)
-Fully contained, seal-able unit including the control PCB
-Easy and fast 3D printing of all plastic parts (you can print all parts in one afernoon)
-Mechanical parts are readily available
-Total cost under 100€ (probably under 50€ if you are good)
-Control (of multiple pumps) by a PC
-Is fully programmable since it understands Gcode
-Takes any syringe between 0.8 and 3.3 cm outer diameter (and thus anything from µl Hamilton to 60 ml Braun!)
-Fully modular for later updates

All plastic parts are easily printable with almost any FDM printer without the use of support material. Mechanical parts are readily available online, as well as the electronic parts. The PCB is designed to 8 mil spacing and can be produced by etching or ordered online for under 20€.

The ATmega is programmed with an ISP programmer or via an arduino bootloader by USB serial. If you don't have an ISP programmer, you can buy an ATmega8 with a pre-installed bootloader. The MCP2200 can be used "as is" and does not need programming. It is natively supported by Windows and Linux and there are drivers easily aviable for Mac.

The pump is controlled by a serial port over a PC. Its firmware is capable of interpreting basic Gcode (like a 3D printer). On the hardware-site, the pump only features a "pause"-button and a "fast-forward" and "fast-reverse" for mounting the syringe.

The pump also features an universal syringe mount, which can take syringes with a diameter between 0.8 an 3.3 cm.

Maximum extrusion (pump) rates and accuracy depend on the used syringe and the hardware configuration.

PLEASE NOTE AGAIN: This is a work in progress and NOT meant for reproduction yet!!!
Please stay tuned for updates. Email me if you have further questions.

The following will need to be done to finish the project:
-Finalize the 3D parts design.
-Fully implement firmware Gcode capability. Fix minor bugs in firmware.
-Finalize the PCB design.
-Write a dedicated manual for the pump including building instructions.
-Program or find a Gcode host
-Add a BOM

Disclaimer: This device is intended for research or hobby use only. Not for medical use.

Print Settings

Printer Brand:





Doesn't Matter




0.2 - 0.3 mm


24 % and up


Parts are best printed with an extrusion diameter of 0.5 mm.
All parts can be printed without support. You might need to re-orientate the parts on your built platform so that:
-The Main Body lays flat on its roof
-The Shaft Mount lays on either of its side, you might need a brim here
-The Plunger is oriented with its big flat site facing down

Contact me if printing problems persist!


After printing, the 8 mm shaft might not quite fit. Drill out the holes with a 8 mm drill-bit to a tight fit.

How I Designed This

First drawings of the pump were made in March 2016. After a long pause, the main 3D design was done in August, going through three iterations quickly. The circuit design was mainly done in September, followed by firmware implementation in the first half of October.

I suspect it will take another two month until the pump is fully functional.

Contact me, if you have suggestions for the 3D design or firmware youd like to see implemented.

Custom Section

Update 21. November 2016

I redid parts of the mechanical design of the pump. It should now be easier to assemble! The built still needs proper documentation and firmware... working on it!

Update 03. November 2016

Added an Arduino test-sketch for the SyriCtrl Board v1.1. You can now test the basic functionality of your board, including stepper movement, buttons, led and serial (pretty much all there is to this board... )!

Update 30. October 2016

The new Control PCB SyriCtr. v1.1 arrived and is now tested and fully working! Eagle-files and a pdf of the board can be found here on this page.
I still need to implement the firmware though.
Cheers, Marco

Update 15. October 2016

Removed last hardware bugs, ordered new PCBs v1.1 which will arrive in two weeks and will hopefully work right away. Enough time to implement Gcode into the firmware. The following commands will be supported: N and checksum, G0, G1, G4, G90, G91, G92 and custom M-Codes compatible with 3D printing firmware: M0, M17, M18, M114, M115, M220. Contact me if you want to see something else implemented.

More from Machine Tools

view more

All Apps

3D Print your file with 3D Hubs, the world’s largest online marketplace for 3D printing services.

App Info Launch App

Auto-magically prepare your 3D models for 3D printing. A cloud based 3D models Preparing and Healing solution for 3D Printing, MakePrintable provides features for model repairing, wall thickness...

App Info Launch App

Kiri:Moto is an integrated cloud-based slicer and tool-path generator for 3D Printing, CAM / CNC and Laser cutting. *** 3D printing mode provides model slicing and GCode output using built-in...

App Info Launch App
KiriMoto Thing App

With 3D Slash, you can edit 3d models like a stonecutter. A unique interface: as fun as a building game! The perfect tool for non-designers and children to create in 3D.

App Info Launch App

Print through a distributed network of 3D printing enthusiasts from across the US, at a fraction of the cost of the competitors. We want to change the world for the better through technology, an...

App Info Launch App

Quickly Scale, Mirror or Cut your 3D Models

App Info Launch App

3D Print a wide range of designs with Treatstock. Easy to use tools to get the perfect result. The global 3D printing network that connects you with high-quality and fast working print services nea...

App Info Launch App

Hi there! I'm interested in making this for my own research and wondering if it's completely updated since the last update Nov. 2016. Thanks!

What about making the syringe cylinder-arm able to sense diameter, so it can auto-detect diameter, and therefore volume of syringe?
What about occlusion sensing? That should be possible, if you were using constant-voltage instead og constant current to drive the stepper.

I like the idea of the arm sensing the syringe, ill eventually add it as an update, once everything is running properly.
Considering the stall sensing, check out the stallGuard2 option of Trinamics TMC2130! Its a nice feature, although my number one priority is getting the basic setup running.