Syringe Pump Created Using 3D Printing Technology and Arduino Platform

An open-source syringe pump has been developed for use in the analytical laboratory. Most pump parts are made on a 3D printer. Other parts (lead screw, guide rods, stepper motor, bearings, electronic components) are purchased in specialized stores. The control panel is based on the Arduino UNO. Device interaction, any settings changes, and operating mode selection are carried out using the LCD Keypad Shield (no computer connection required). The program for the microcontroller is written in Arduino IDE. Assembling the syringe pump takes several hours and requires almost no soldering. Universal clamp allows installing any syringe with a diameter of 6 to 25 mm. The syringe pump can both infuse the liquid and refill the empty syringe. To evaluate the analytical characteristics, a 10-mL glass syringe (Kloehn) was used. The dispensed volume was 1 and 5 mL. The systematic error was less than 0.1%, and the random one was less than 3 μL. Project files are available at: http://www.mass-spec.ru/projects/diy/syringe_pump/eng/.

The Arduino platform was created through the efforts of enthusiasts just over 10 years ago. It lowers the barrier to entry for embedded programming and the development of electronic devices. Around the same time, the first prototype of the at-home 3D printer was assembled and tested (it printed objects from plastic using fused filament fabrication technology). Nowadays there are several platforms for the development of electronic devices (besides the Arduino there are, for example, the Netduino or the Raspberry Pi). In addition, at-home 3D printers are widespread, both due to a large number of open-source printer projects and the start of mass production. There are online repositories of 3D models for printing and projects based on the Arduino or the Raspberry Pi on the Internet. Most models and projects are open-source, therefore it is possible not only to reproduce them, but also make some changes to the source code or 3D model, when necessary.
We have developed yet another open-source project of the syringe pump, that was designed for use in the analytical laboratory. We believe that the DIY syringe pump should meet a number of requirements in order to be a good alternative to commercial devices. Firstly, it should be a standalone device. All parameters (including the volume of the syringe) should be changed autonomously without a computer or mobile device. Secondly, the syringe holder should be multi-purpose so that various volume syringes can be quickly installed or replaced. Thirdly, the flow rate should be widely varied and strictly controlled during operation. Moreover, in order to simplify the replication of the project, the control panel should be assembled using commercially available modules (in this case, it is not necessary to produce a custom circuit board). None of the previously proposed projects of syringe pumps ( The syringe is mounted on the front support 1 using the top 3, and side 4 holders. The two top syringe holders 3 were designed for syringes with outer diameters of 6-12 and 12-25 mm. To refill the syringe automatically, plunger flange should be fixed on the carriage 10. The target volume is delivered by the movement of the carriage 10 along the guide rods 5. Two endstop switches 11 are mounted on the carriage 10. Limit stops 6 allow to set the acceptable travel limits of the carriage 10 and the syringe plunger. The carriage 10 is moved by rotating the lead screw 8, which is connected coaxially to the stepper motor 18 by means of a coupling 16. Such design is used in most opensource projects. On the other hand, in most commercially available devices, the lead screw and motor are connected by a gearbox or belt drive. Step-down gearing reduces angular velocity and increases torque. Nevertheless, even a coaxial connection provides accurate fluid delivery and sufficient pressure on the syringe plunger. In our design, the carriage moves 1 mm for 1600 micro-steps (when 2 mm thread pitch is installed and 1/16 micro-stepping mode is used). The carriage applies a linear force of at least 70 N to the plunger (when moving at a speed of 20 mm/min).
Linear force can be increased by using a lead screw with a smaller pitch.
The syringe pump is controlled by the Arduino UNO 21. LCD Keypad Shield 23 is used for input/output purposes. It consists of the LCD1602 display and 6 buttons. The LCD Keypad Shield is plugged into the Arduino UNO board (no soldering is required). The stepper motor is controlled by the A4988 24 driver, which is plugged into the expansion board 25. The stepper motor operates in 1/16 microstepping mode (all three switches on the expansion board are set to ON). Active buzzer 26 is used to make a sound. All electronic components are housed in a plastic case, which consists of a base 19 and a cover 20. sending pulses to the stepper motor driver. Pulses are generated by Timer1 interrupts. It should be emphasized that not all values of the volume and flow rate selected by the user can be implemented (due to discreteness). In this case, the closest allowed value is calculated and displayed. Three operating modes of the syringe pump are implemented. In 'Infuse' mode, fluid is squeezed out of the syringe at a strictly controlled flow rate. The user can set either the fluid volume or infusion time. In 'Refill' mode, the syringe is filled with fluid. In 'Cycle' mode, the direction of the plunger movement changes automatically when the endstop switch is triggered.
Project files are distributed under the Creative Commons BY-SA 4.0 license [46] and are available at: http://www.mass-spec.ru/projects/diy/syringe_pump/ eng/. Detailed instructions are available at the same website.

CALIBRATION OF THE SYRINGE PUMP
The fluid was delivered using the DIY syringe pump developed in this work and two commercially available devices: HA 11 Plus (Harvard Apparatus) and KDS 100 (KD Scientific). The same Kloehn 4010 (Kloehn) glass syringe with a volume of 10 mL was used in all cases. The weighing was carried out using a Vibra HTR-220CE analytical balance (Shinko Denshi) with a verification scale interval of 1 mg.
The syringe was calibrated by gravimetric determination of its inner diameter. To simplify the subsequent calculations, the inner diameter of the syringe   was set to 11.284 mm (being expressed in mL the infusion volume is numerically equal to the distance traveled by the carriage and expressed in cm). The syringe was completely filled with double distilled water and installed in the syringe pump. A small volume of water (0.5-1 mL) was wasted. The carriage was then moved with a linear velocity of 0.2 mm/s over a distance of 5 cm (this corresponded to approximately 8.3 mL of the Kloehn 4010 syringe). Water was collected in a 20 mL glass vial and weighed on the analytical balance. To minimize evaporation during infusion and weighing the vial was closed with a screw cap with a small hole. The described procedure was repeated 5 times independently for each syringe pump. The inner diameter was calculated by the formula: where D in is the inner syringe diameter, cm; V is the delivered volume, mL; L is the distance moved by the plunger, cm; m is the mass of water, g; Z is the correction factor (ISO 8655-6) depending on temperature and air pressure, mL/g. The inner diameter of the Kloehn 4010 syringe, determined gravimetrically using the DIY syringe pump, HA 11 Plus and KDS 100 was 14.551 ± 0.006, 14.580 ± 0.006 and 14.576 ± 0.007 mm respectively (n = 5, P = 0.95). The average diameter determined by the DIY syringe pump was significantly different from the values obtained using commercial devices. Apparently, the observed differences were caused by the difference between the actual and nominal pitch of the lead screw installed in the DIY syringe pump. To minimize the value of the systematic error, device-specific inner diameters were used for each pump.

ANALYTICAL PERFORMANCE
OF THE SYRINGE PUMP The analytical performance of the syringe pumps was evaluated gravimetrically. The syringe diameter was set equal to the value determined at the calibration stage. The infusion volume was 1 or 5 mL. The infusion rate was 2, 7.5 or 20 mL/min (linear velocity of the carriage was 0.2, 0.74 or 2 mm/s, respectively). At a particular flow rate the target volume was delivered 8 times. The systematic error was calculated as the difference between the mean delivered volume and the desired target volume. The random error was expressed by the standard deviation.
As can be seen from Table 3, the DIY syringe pump is not inferior to commercial devices in both accuracy and reproducibility. Analytical performance is constant over the entire range of flow rates considered in this study (from 2 to 20 mL/min). The systematic error is less than 0.1%; the random error is less than 3 μL (for 10 mL syringe).
As can be seen from Table 2, the cost of all syringe pump parts is less than $ 100 (when parts are purchased in Chinese online stores, the cost is less than $ 50). Assembling the syringe pump takes several hours and requires almost no soldering. The use of widespread components and the availability of detailed instructions make it easy to reproduce this project.

* * *
The open-source syringe pump has been developed. All project files are distributed under the CC BY-SA 4.0 and are available at: http://www.massspec.ru/projects/diy/syringe_pump/eng/. The syringe pump developed in this study is not inferior to many commercially available devices in its functionality and analytical performance. Open-source code allows anyone to make changes and solve specific problems. The relatively low cost and ease of assembly make it Table 2. Part list * Parts marked with an asterisk are designed by us and printed on a 3D printer. ** The cost of 3D printed plastic parts (infill is 50%, production cost is assumed to be equal to 42 USD/kg) or the price range for commercially available parts (offered by Russian online stores). Stepper motor driver A4988 2.5-6.6 25 Control shield for A4988 3.3-6.6 26 Active buzzer 0.5-0.8