The pump is designed and tested with 3/18 inches outer diameter silicone tubes. The encoder I used is called "acz11", 20mm Height 6mm diameter shaft version. Motor is "TFK-280SA-22125" motor. Arduino circuit is just a simple RC filter suggested by the encoder pdf (use 0.1uF capacitor instead of the 0.01uF one) and a L239D H bridge. I used arduino nano and a HC-06 bluetooth module. I powered everything with a 9v battery.
Lube any part with synthetic PTFE oil that you think might need lubing.
If you are printing bolts, print in multiples and use z hop in tight clusters to prevent overheating and knocking
All prints have been compensated for the elephant foot effect. No filing needed.
If you somehow have my old reduction gear, nothing is reusable. They have been modified
Use 100% infill for the bolts. They are the weakest link. Use less infill for other parts if you so desire. Just make sure you have a thick wall (3 minimal)
I used 0.1mm layer height. Use 0.2mm layer height if you desire. In theory it could work for the 45 degree climbing bolts.
There is a pump code.txt that provides the code I used. If you read it you can see the parseCommand() function you will see the various command. for example "MA 500" will move 50ml of water toward the 'A' side. The code is written to exclusively work with the "ardudroid" APP on android. Please note the code is half finished. It lacks EEPROM function and it will not store calibrated value. This means you have the use the calibrate command "CA XX"(XX=number of turns) and standardize command "ST XXX" (XXX is 0.1ml of water you moved with the CA command, measure by your graduated cylinder to store turnPerMl constant) everytime you start it up. Feel free to finish the code for me.
Most likely you just need the pump because you have a encoded gear motor / stepper motor. If not, it is very likely you have your own dc motor. In many cases you are not going to have the same motor / encoder as I have. I have divided the .stl into 4 sections. Print the sections you needed. Also your breadboard isn't likely to fit into my breadboard holder, because chances are the breadboard clipping will be in different shape and I left no room for tolerance.
If it is wobbly, that means you didn't use a lock nut on the opposite side of the thread. But if it is too tight the motor will stall, so loosen the lock nut if needed. Print as many lock nut out as you need. Print as according to the fullview reference.stl. If more than one part is need it will be noted on the file name. Everything should be able to print in the original orientation without support (even those that have small bridge). Some parts have customized support already built in (the axles). If you have any question or I missed something (and it is very likely), ask in the comments.