Arduino Motorized SMT Solder Paste Dispenser

by zapta, published

Arduino Motorized SMT Solder Paste Dispenser by zapta Nov 9, 2015
1 Share
Download All Files

Thing Apps Enabled

Order This Printed View All Apps


Design Tools


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

25719Views 2178Downloads Found in Electronics


This is a motorized solder paste dispenser for soldering SMT boards that was inspired by this thing http://www.thingiverse.com/thing:384680. The home directory of this project is on github here https://github.com/zapta/misc/tree/master/paste_injector and it include hardware and firmware design of a compatible controller board that is Arduino compatible (it looks to the Arduino IDE as an Arduino Pro Mini).

Schematic: https://github.com/zapta/misc/raw/master/paste_injector/eagle/paste_injector_schematic.pdf

BOM: https://github.com/zapta/misc/blob/master/paste_injector/eagle/paste_injector_bom.csv

EEVBLOG discussion:

I printed successfully using both PLA and ABS and standard slicing parameters (3 layer shells, 20% infill).

Hints, in assorted order:

  • When printing the motor axis coupler, make sure to have your extruder temperature high enough for a good inter layer bonding.
  • The step motor listed in the BOM is available on eBay from many sellers. They typically come with a ULN2003 driver PCB which is not needed here.
  • When mounting the coupler on the motor, try to minimize the free play along the motor axis. I used a a sharp knife to pull out the motor axis while pushing the coupler toward the motor before tightening the coupler screws.
  • You can insert the threaded inserts using any standard solder iron that fit into their holes. Preferably you will get tapered inserts similar to the ones specified in the BOM. If not, tapper them using a file or a Dremel tool. This is especially important for the insert that goes into the plunger rod. Otherwise, the internal hole hole will get clogged and the M4 threaded rod will not fit in.
  • When inserting the threaded inserts, don't push them too hard, let the heat do most of the work. This will result in better adhesion.
  • I programed the controller board using an AVRISP MKII but you can use whatever works for you. Github has the binary image file that include the Arduino bootloader and a script that programs the AVR fuses.
  • If you want to hack the firmware of the controller, solder a 6 pin header at the pads marked with FTDI and use an adapter such as FTDI Basic to hock the controller you your computer with the Arduino IDE. If you come with interesting firmware updates (e.g. having the red LED blinks proportionally to the speed), send me pull requests on github.
  • Use thin and sticky solder paste. For example Chip Quik T5. If the solder paste doesn't stick well to the PCB, dilute it as needed with IPA.
  • Avoid air bubbles in the syringe. Air bubbles makes the rate flow control more difficult.
  • The potentiometer controls the speed of the PRESS button only. I got the best results buy setting it on low and achieving a very slow rate of flow and then touching the PCB pads at a fixed rate to achieve consistent drops. This requires some practice.
  • The potentiometer is linear but the firmware does logarithmic mapping to allow very fine control at low speeds.
  • This design is specific for the BD syringe listed in the BOM. Most likely others models of syringes will not work. It requires specific dimension and rubber plunger dimensions and was design to achieve high friction between the rubber seal and the syringe's cylinder to avoid counter rotation. If you notice excessive rotation on the plastic plunger, clean the rubber seal with IPA to increase friction.
  • The controller board has a micro USB connector and operates from a standard USB charger.
  • I got good results with blunt bend 22GA Luer Lock needle. I got mine from ebay. If you want to experiment, buy an assortment of needles and see which one works for you.
  • After attaching the bent needed, you can orient the needle in the preferred direction by loosing the two syringe holder screws and rotating the syringe.
  • I use the dispenser with two hands. Right hand holds the syringe and controls the needle while the left hand presses the PUSH button as needed.
  • I attached the PCB to the motor mount using a Scotch Exterior Mounting Tape. This is a thick, heavy duty, double side tape. You don't need to cover the entire PCB, just a few small pieces will do. Make sure you have tape under the two buttons for extra support.
  • The plunger model has a small conical piece that fits at the bottom. Just glue it there before inserting it into the rubber seal. It was separated into two pieces to allow printing without material support and it eliminates the air pocket below the rubber seal (remember, air bubbles are bad).
  • Solder paste last longer when stored in a cool place. I place my dispenser in a plastic bag and put in the fridge (not the freezer). If you don't want to place the motor and electronics in the fridge, not problem, remove the two screws of the syringe holder, and turn the syringe to screw it out of the motor mount (don't pull the plunger out, this may insert air to the solder paste chamber).
  • When storing the solder paste, it's a good practice to remove the needle and close it with a Luer Lock cap, you can buy them everywhere, including amazon and ebay.
  • If you keep using the same needle (I do), make sure to clean it after each usage. I flush it using a syringe filled with IPA.
  • The PCB design currently on github (as of Nov 2015) was 100% auto routed as part of the Autorouter Challenge discussed here http://www.eevblog.com/forum/projects/the-auto-router-challenge-will-it-work/
  • The PCB currently currently on github (as of Nov 2015) uses a 'reversed' micro USB connector. This is for no specific reason, just because I have them from a previous project. Make sure to get the connector listed in the BOM or feel free to modify the PCB for your preferred micro USB connector.
  • If you are looking for PCB manufactures for your controller board you want to check prices at http://pcbshopper.com . This is 30x40mm two layer board.
  • I glued the two washers to the syringe holder using super glue. This way they don't fall off when removing the screws. Not a big deal though.
  • The 3D models were design with Openscad. This is an open source 3D programming package. If you want to tweak any dimension, load the provided .scad file in Openscad and regenerate the .stl files.

More from Electronics

view more

All Apps

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

Treatstock is an online platform that offers decentralized manufacturing services such as 3D printing and CNC machining for clients all over the world. We offer free and instant access to comparati...

App Info Launch App

3D print your favourite design with NinjaPrototype, a professional 3D manufacture with consistent quality and speed.

App Info Launch App

Hi friend, i made it ,i have almost read all discussion on the other site, i was trying to upload firmware through icp but i get error, i realize that you use 6Mhz resonator while mine is 16 Mhz ! What am i doing now ,if i write new fuses is it going to work? I am waiting your help

I was wrong, you also use 16Mhz , i had burn crystal so i use new one and works ,i will test it and i 'll come back

Great! Notice that the board, which is based on the common Arduino Pro Mini 5V 16Mhz board, has the same connections for serial port that you can connect to your computer. This way you can see print messages from the board and even can download a program you modify in the Arduino IDE. The usb/serial adapter you need is this or similar: https://www.sparkfun.com/products/9716 (you can find clones from many vendors including ebay).

Just noticed that you didn't list the syringe that you used in the BOM. Do you remember which syringe it was?

It was this B&D 10cc. https://www.amazon.com/gp/product/B00FHLJUXA There are two main kind of syringe designs, the ones with the wide base (when you remove the black rubber), typically with two rings on the outside of the rubber seal and the ones with narrow base, typically with three rings. This design works with the wide base kind. The fit between the push rod and the rubber seal and between the rubber seal and the barrel need to be tight enough such that the push rod doesn't turn too much and is pushed in when the threaded rod turns. This eliminates the two stabilization rods that are used in this design http://www.thingiverse.com/thing:384680

Solder paste dispenser - 3D parts
by Geir

... one more thing, for needles I recommend the plastic tapered needles because of the better paste flow. They are available on ebay, you will need to experiment what size works best for you. E.g. http://i.imgur.com/fi79FAQ.png

Very compact - good design.