Solder paste and flux dispenser

DIY for hobby use

Similar projects worth following

Next level DIY dispenser.

  • Github - Firmware & assembly manual (upcoming).
  • EasyEDA - Schematics / PCB / BOM (everything can be ordered in couple of clicks).

  • Interface polish & hardware rework

    Vitaly10/12/2019 at 08:35 0 comments


    Everything become better if done by professionals :). Since i have no illusions about my own skills, i usually forward art-related parts to designer. Here are screenshots of new interface:

    IMO looks nice. Current demo will be updated soon.


    After some reviews, decided to do one more iteration prior to start bare metal debug. Updated schematic & PCB

    • Fixed (i hope) USB firmware upload.
    • Remapped MCU pins for better traceability.
    • Added current sensor - important for automatic retract calibration.
    • SWD pins are grouped in line again.
    • Returned back push-button filter. Now it's safe to attach external pedal if desired.
    • Rounded PCB contour in some places.
    • Moved SMT reference holes to more convenient locations.
    • Added holes to make locks for plastic supports, if you don't wish to glue those forever.

    Will take couple of days to recheck everything, and then order new PCB, SMT stencil & components.

  • Dispencer PCB v2

    Vitaly10/07/2019 at 19:36 0 comments

    Received new PCBs. Still not final, but looks sweet:

    And with 1cc syringe (supports are not final, only for prototyping):

    Also, i got very useful advice about align SMT stencil with reference points:

    I did two 0.7 mm holes and used 22 Ga (0.65 mm) SS wire from vape to pin PCB & stencil to cork sheet. That position stencil very easy and very precise. When you make order at JLCPCB, stencil adds  ~ 8$ - very low price for comfort assembly. The only thing you need to do - select custom size and reduce default to minimal possible.

    Note, PCB still needs some care. Don't order now if you have no plans to join development :)

    • Missed BOOT1 pin control to allow USB firmware upload (without st-link). While development - not critical.
    • Not sure LCD backlight needs transistor. It takes 20ma only and should work from MCU pin directly. Though, direct power may be not good for ADC.
    • I tried to avoid that... but... seems it really worth add motor current monitor. That should help to autodetect retract size & max dispense speed.
    • Worth to add more 0.7 through holes to lock  plastic supports with 22 Ga wire pins.

    With all those changes, i probably will add 5mm to PCB  tail.

  • Firmware: interface prototyping

    Vitaly10/02/2019 at 06:26 0 comments

    It may sound strange, but in many devices the most time-consuming task is interface prototyping and polishing. Good news is, there exist embedded GUI libs with desktop support. If you design application properly, you can do almost everything on PC, without real hardware at all. That reduces development and debugging time in x10 times and more.

    I selected LittlevGL. It's not ideal, but can work on MCUs with small memory. 

    As perfectionist, i don't like compromises about quality. So, to make LVGL "useable", i had to design new storage format for bitmap fonts and create appropriate font convertor. Here is the result:

    This tool properly uses kerning, autohinting and allows create nice texts on display. See animated demo above. Now you can just take TTF or WOFF font, and convert it for embedded use without quality loss. Of cause, convertor allows merge multiple fonts, select subsets and so on. Data format is universal and not limited to LVGL only.

    Lets return to dispenser interface. As you can see on image, it has 3 "screens":

    • "Dose" in this mode, dispense button click produces fixed portion of selected volume.
    • "Flow" mode - dispenser works until you keep button pressed.
    • "Settings" - setup hardware options, needed to calculate optimal dispensing speed.

    Controls is done with 5-way tactile switch + dispense button:

    • up/down - move selector position
    • left/right (settings only) - change selected value
    • short "enter" - switch between modes (dose/flow), long "enter" - go to settings.

    Seems convenient. Next step is to ask designer draw everything "properly".

    Source code with current progress available on github: If you need more details about abstracting hardware, you can find those there.

  • Tip: needles caps

    Vitaly09/03/2019 at 14:41 0 comments

    That's a side note, not directly related to dispenser, but very useful. When we not use syringe, needle should be closed to protect content from drying. Here is a recipe, how to organize things with ease.

    First, if you need professional use, and have a lot of space, the best approach would be to keep syringes vertical, with needle in glycerine bath. But.. let's be honest... that's too much for rare hobbyist's use :). And most of us don't care to keep soldering paste in refrigerator. We just need small cap to restrict air access. 

    This can be done with heat shrink tubes. Original recipe, i was advised, suggested use one fat pipe and thermal glue to close the end. I used a bit different approach:

    • Small tube, 1.5mm with 1:3 ratio
    • Bigger tube, 3mm, with glue layer & 1:3 ratio

    First, shrink small tube to needle and cut it at needle end. Then shrink bigger one and squeeze the end. See result:

    Then add a drop of silicone oil for additional safety. You can vary approach, use 1:2 ratio tubes and so on. But principle is the same.

    Hope this helps!

  • First prototype

    Vitaly08/11/2019 at 08:23 0 comments

    Since PCB-s are very cheap, it's convenient to make draft prototype and check how it fits in hands. Here is photo with different syringes:

    This is NOT expected to work, only to test mechanics, materials, size and so on.

    Thoughts and observations:

    • Back plates of syringes should be cropped (not convenient to keep in hand). This can be done with wire cutters, and then trimmed with sandpaper or knife.
    • On install, syringe can "sharp" supports. To workaround - one part of backplate should be deleted, and another one used as "lock". See photo above.
    • RGB led is too few for convenient control. Fortunately, there are some room on the head for small IPS display (there are smaller OLED displays, but this one seems very nice for cool UI).
    • Pedal connector is not high demanded feature and occupies a lot of space. Remove to reduce board size.
    • Replace debug connector with independent pins, to  save space. It's required for developers only. End customers will use USB to upload firmware.

    That's the most notable things. Here is render of reworked PCB (source -

    Seems nice. Need to meditate some days before new order, may be new ideas appear.

  • Pusher

    Vitaly08/11/2019 at 07:45 0 comments

    There are 2 major pusher approaches - with rotating rod and rotating tube. Let's leave aside rotating tube, as it's more complicated for DIY. So, we need cylinder with M3 inside. Here are 2 choices again:

    • 3d printed cylinder, with brass insert reinforcer.
    • Full metal (tube with M3 thread inside).

    All appropriate drawing for 3d print are available on github. But for 1cc syringe detail will be too thin - metal pusher needed. Can we do it good enough without lathe? Yes. We need suitable tube and make thread inside.

    After experimenting with lot of available materials, it seems optimal use  SS tube ID 4mm OD 2mm (description says ID 2.5 mm but it's 2mm). This material is a bit not convenient for drilling, but nothing impossible. So, we need:

    • Good M3 tap (2-passes preferred). Cheap aliexpress 1$ taps were not tested.
    • 3.2 mm & 2.7 mm HSS Co drill bits (on aliexpress - search "M35" drill bits).
    • Vise and electric screwdriver.

    To make holes straight, put tube into screwdriver and push with static drill bit (use separate chuck to hold it). After some training, that's not difficult:

    • Cut 45mm tube peace.
    • Drill through 2.7mm. Use max RPM to reduce screwdriver chuck axial vibrations.
    • Drill with 3.2mm about 35-38mm to leave about 7mm for the thread.
    • Make thread.

    Here is a result:

    Small pieces of  soft adhesive tape add friction with syringe body and exclude rotation on install.

    So, even for 1cc syringe, everything can be done at home, without advanced and expensive tools.

    Next step is prototype assembly & testing to it fits in hand.

  • Attaching threaded shaft

    Vitaly08/10/2019 at 12:33 0 comments

    To push paste out of syringe, we need threaded shaft. There are 2 ways:

    • Use coupler and threaded rod
    • Use gearbox with built-in long threaded shaft

    Coupler with threaded rod

    You can take this coupler 2.3mm to 3mm. Use 2.5 mm drill bit to enlarge hole, then tap M3 thread and insert 60mm M3 rod or screw with loctite.

    Disadvantage is loosing 20mm of movement length (or increase length of device). Let's leave this for Plan B.

    Gearbox with built-in long shaft

    There are no ready mini stepper solutions with M3 shafts, but we can assemble it from two donors:

    In may sound strange, but those parts are compatible!

    See photo. Donors are on left side, result on right side. Total cost with delivery will be about 10$. Not ideal price, but acceptable, requires zero efforts and is the most compact.

    If you decide to combine other components - check gearbox sizes, those should be equal (the most popular can have 10x12mm or 12x14mm plates).

    If components go out of stock - we still have Plan B with coupler. Both solutions do not require complicated tools and can be reproduced by anyone.

  • Motor & gearbox

    Vitaly08/10/2019 at 06:33 0 comments

    Many hand made dispensers use 28BYJ-48 motors. Those are very cheap, but not enough small and not convenient to mount. We need something better:

    • More compact.
    • Precise enougth.

    Let's estimate desired gearbox ratio.

    All small 10-15mm steppers usually have 18° step (20 steps per turn). Gearbox can be:

    • Plastic. Usually up to 1:50
    • Metal. Up to 1:295 (sometime up to 1:600)

    Other data:

    • Pusher uses M3 shaft with 0.5mm pitch.
    • Inner dia of 10cc medical syringe is about 15mm (a bit more for pneumatic syringe, but not principal now
    • Volume of paste for 0603 resistor pad is ¹/₁₂ - ¹/₁₆ mm³.
    • Let's say we need to dispense one 0603 portion with precision about 10%.

    Desired portion size per single motor step is 0.006 mm³.

    Let's calculate, what stepper with plastic gearbox 1:50 can give us:

    (3.14 * 15² / 4) * 0.5 / 50 / 20 => 0.09

     0.09 mm³ is very bad. It's 1.5x more than portion size and 15x more than desired precision. What can we do?

    • Use metal gearboxes with better ratio
    • Decrease syringe dia (use 3cc or even 1cc)

    1cc syringe has dia about 5mm. Portion per step will decrease in 9x. Better, but not perfect. Let's use metal gearbox 1:295.

    Estimate for 3cc syringe (9mm inner dia):

    (3.14 * 9² / 4) * 0.5 / 295 / 20 => 0.005

    Estimate for 1cc syringe (5mm inner dia):

    (3.14 * 5² / 4) * 0.5 / 295 / 20 => 0.001

    In total:

    • 3cc syringe & 1:295 gearbox - 0.005 mm³ per step, very good for 0603 components. With some reserve for smaller pads.
    • 1cc syringe & 1:295 gearbox - 0.001 mm³ per step, should be enough for all.

    Of cause, we could use dynamic model (quick step forward and back) and cheat with paste viscosity. But that's much more complicated and result will depend on paste temperature. Also, it's not good idea to use micro stepping, because it's not precise with cheap motors and consumes more power.


    • Mini steppers with metal gearboxes are preferable over plastic ones.
    • 3cc & 1cc syringes are most optimal for soldering paste.
    • 10cc syringes still may be interesting for fluxes and glues.

    That's all with boring maths, next time I'll try to post some pictures :)

  • Buttons

    Vitaly08/07/2019 at 03:55 0 comments

    For dispenser it's important to have soft control button. Because if you need to apply big force, needle may shift out of small pad. There 2 main parameters:

    • Operational force
    • Button form

    Human skin is "soft". To be convenient, button should have big height or big square. To be sure, buttons with low operational force, available at LCSC, were tested:

    The most promising are:

    • Panasonic EVQQ2B03W (in left bottom corner, white button)
    • ALPS Electric SKHCBKA010 (left side, blue pusher)

    EVQQ2B03W looks preferable - more compact.

  • Review of existing projects

    Vitaly07/21/2019 at 23:59 0 comments

    Since it's not interesting to reinvent wheel, it worth to inspect existing projects, and decide what can be done better. Here I will comment the most interesting ones.

    28BYJ-48 based dispensers

    All projects above are opensource. But while those are very cheap and easy to do, BYJ motors are not convenient for compact design. If you have TS-80 or TS-100, you should understand what i mean.


    Though that project is not opensource, it's very nice. Author is professional engineer and shares interesting technical details.


    • It uses machined parts for pusher. May be nice for manufacturing, but not convenient for hobby DIY.


    Let's try to formalize, what would be interesting to do (and why that combination of features will be new or unique).

    1. We need "popular project" - easy to do, no machining, cheap enough.
    2. It should be small, pen-like. Instead of syringes replace, it would be more convenient to have multiple dispensers.
    3. It would be interesting to support fixed portions dispense, instead of constant flow. But that requires additional considerations about interface usability.

    Seems ok. Now we need to do some estimates about precision.

View all 10 project logs

Enjoy this project?



Jarrett wrote 10/08/2019 at 04:11 point

Can you go more into how you attached the shaft to the silicone plunger end? I like this design a lot more than all the others I've seen :)

  Are you sure? yes | no

Vitaly wrote 10/09/2019 at 00:51 point

It's not attached, only push & only forward. Plunger will move back when fill from another syringe via luer coupler. Shaft has only anti-rotation stickers (small pieces of soft adhesive tape)

  Are you sure? yes | no

John Loefler wrote 09/04/2019 at 19:58 point

Also Don't discount the smaller syringe.  It requires significantly less force (and less torque to push).  the require force to push the paste through is proportional to the Cross-sectional area of the piston.  

  Are you sure? yes | no

John Loefler wrote 09/04/2019 at 19:49 point

Little Heads up that IPS Display  inverts the colors of the Adafruit library

  Are you sure? yes | no

Andrey V wrote 09/03/2019 at 06:30 point

На митинском рынке такие продаются. Дороговато правда около 5к. Но там интереснее конструкция, цепляется прямо на шприц в котором флюс или паста продаются. Хочу себе сделать такой, да всё руки никак не доходят.

  Are you sure? yes | no

Vitaly wrote 09/03/2019 at 06:46 point

Please write english to make comments useable for all. This hardware is expected to supports 10cc pneumo syringes too. All that looks good only until you try to use it :). It really worth read all log entries, where i explain about precision and usability. If you don't need those - you can repeat any existing project, mentioned in first log entry,

  Are you sure? yes | no

Andrey V wrote 09/03/2019 at 07:16 point

I tried it. It works very good. And also has back movement mechanism implementation to stop paste feeding immediately. Really good product.

Also, button to control feeding is not so good solution, because when you are pressing it your hand make a small movement. It's better to use a pedal to control feeding. 

  Are you sure? yes | no

Vitaly wrote 09/03/2019 at 07:39 point

IMO that's very subjective. I tested prototype (from photos) with uncutted syringes. And have different opinion about convenience and usability. If you find those useable - no problem. But that's a past for me, not interesting.

Also, if you read last log entry, you will see prototype already has pedal connector. I know about such things.

  Are you sure? yes | no

MikeM wrote 08/10/2019 at 14:21 point

OK Vitaly - correct this alliexpres link is a plastic gear motor which I DO NOT use.

  Are you sure? yes | no

Vitaly wrote 08/10/2019 at 15:03 point

Sorry again, that mistake was not intended. Your dispenser is certainly the most interesting and beautiful of currently available. Goal of my logs is to share technical experience, not to say anything bad about other's work.

  Are you sure? yes | no

MikeM wrote 08/10/2019 at 13:46 point

Hi - my dispenser (5V DC USB Dispenser)  has all gears metal- your statement that I use plastic gears in my dispenser is incorrect - please do not make Statements which are based on your assumptions. 



  Are you sure? yes | no

Vitaly wrote 08/10/2019 at 13:58 point

Mike, sorry for that. I was confused with motor look, and recognized it as different model Removed that paragraph. Thank you for pointing out my mistake.

  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