Solder Paste dispenser

Automated device to apply solder paste onto a PCB without using a stencil

Similar projects worth following
The easiest way to apply solder paste onto a PCB is by using a stencil. But when prototyping, the layout of the PCB changes over time. For small PCBs often the stencil is more expensive than the PCB itself. So, using stencils for every iteration of the board is not very cost effective.That is where solder paste dispensers come in.

There are two types of dispensers. Not very DIY friendly air-pressure-controlled dispensers and motor-controlled dispensers. In this project I designed a Motorized dispenser which uses a screw to to convert the rotational motion into linear motion.

Most of the parts which are needed to complete the project can be 3D printed. Parts are designed to fit with standard solder paste syringes. feel free to change them however necessary. 3D model files can be found on Thingiverse - Solder Paste Dispenser

An attiny85 microcontroller is used to dive the stepper motor through a ULN2003A Darlington transistor array. Firmware for the microcontroller -  GitHub Repository

Schematics and PCB layout - EasyEDA - Solder Paste Dispenser


Due to ATtiny85 GPIO limitations this device only contains one push button. So only the forward motion can be controlled manually, backward motion is automated. Although the RESET pin of the microcontroller can be re-purposed as an IO pin with some modification to the ATtiny85 fuses, since I didn't want to complicate the project I went with one push button.

If backward motion needs to be controlled manually it can be done by either adding an extra push button to the RESET pin or changing the existing code of this project to rotate the motor backward when "double button press" registered.

PCB Layout Greber Files

x-zip-compressed - 43.76 kB - 09/03/2018 at 08:18


Adobe Portable Document Format - 35.79 kB - 09/03/2018 at 08:18


  • 1 × 24BYJ-48 5V Stepper Motor Stepper motor, Diameter 24mm
  • 1 × ATtiny85 Microcontroller (DIP-8) Microcontroller
  • 1 × 5V DC power supply
  • 1 × ULN2003A (SOP-16) Stepper driver IC
  • 1 × M3 Screws and insert nuts Screw( L = 10mm ) , nut( Height = 3mm, outer diameter = 4.2mm )

View all 9 components

  • 1
    Building the PCB

    The PCB can be built either by ordering it from a fabrication house or simply DIY. But I think ordering is the best option because PCB manufacturing is really cheap these days. And also soldering SOP-16 package could be quite challenging. 

    Use an IC base to mount the microcontroller in case you need to update the firmware along the way. Gerber files and the schematic can be found in the files section.

  • 2
    Upload the firmware into the Attiny85 (Arduino as ISP method)

    The easiest way to upload the firmware into the Attiny85 chip is by using an Arduino as the programmer. (Assuming you already have an Arduino board ling around) 

    1. Open Arduino IDE and go to preferences then copy and paste the following link in the "Additional Boards Manager URLs:" 


    2. Go to Tools -> Boards -> Boards Manager.. Then search for attiny and install the package containing ATtiny85 board.

    3.  Open the "ArduinoISP" sketch from the example menu and upload it to an Arduino board.

    4. Connect the ATtiny85 and the Arduino board as follows.

           Arduino   ---------   ATtiny85

    •      10         ---------         1
    •       11         ---------         5
    •      12         ---------         6
    •      13         ---------         7
    •     5V         ---------        8
    •    GND      ---------         4

    5. Open the firmware SPD.ino which can be found on this GitHub repository

    6. Go to  Tools -> Programmer: and choose "Arduino as ISP"

    7. Select "Sketch" in the menu bar and select "Upload Using Programmer"

  • 3
    3D printing

    You can find the 3D models for the project on Thingiverse.  All the models can be printed without supports except button ring model. I recommend print these parts with 0.1 mm layer height and 100% infill.

    Screw and the long nut were designed with very low tolerance between them for reduce the backlash. So, they might need some light sanding. I used 600 Grit sand paper for this.

View all 3 instructions

Enjoy this project?



Donnie Agema wrote 06/30/2019 at 13:37 point

I purchased 24BYJ-48 stepper motor and recieved the 3D print parts from Ninja Prototype. The motor does not fit the 3D print parts!  The inside diameter of the 3D motor mount is 2.44mm, and the outside diameter of 24BYJ-48 stepper motor is 2.78mm.  Be aware when ordering the stepper motor to avoid this very aggravating experience.

  Are you sure? yes | no

arnaud.durand wrote 03/28/2019 at 09:53 point

I printed it and am very pleased with the result. Since I don't have the PCB yet, I prototyped the electronics on breadboard. I came across a few hitches so here are things to check for new makers:

- Add a decoupling capacitor, otherwise the ATtiny may not behave properly.

- Check that the clock of your ATtiny matches your Arduino configuration. My ATtiny was configured from factory to use a 1 Mhz internal clock while my environment was configured for 8 Mhz. This resulted in 8x longer delays.

- My stepper motor didn't have the same color codes. Even the order of pins soldered to the connector was inconsistent and it was running in reverse initially. With my version B=blue, P=brown, Y=yellow, O=black.

  Are you sure? yes | no

arnaud.durand wrote 02/21/2019 at 10:44 point

Nice project! I am planning to build one. What is the length of the M3 screws and insert nuts?

  Are you sure? yes | no

Anuradha Gunawardhana wrote 03/11/2019 at 12:29 point

M3 screw length = 10mm

M3 insert nut outer diameter = 4.2mm

M3 insert nut height = 3mm

  Are you sure? yes | no

Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates