Skip to Content

blog post

Super Simple SMT: Stencil8

Over the years, I’ve soldered a fair number of boards.  I’ve also seen how professional factories produce their boards.  This is my technique for doing it myself, and I hope it works as well for you as it does for me.  🙂

Note: the files needed to make the fixture, custom pcb setup, and stencil are on Github – Stencil8.  This whole project is OSHW.

Required Tools Overview:

  1. PCB Fixture Block + Tooling Pins
  2. PCB w/ Tooling Holes
  3. Solder Paste Stencil
  4. Solder Paste + Squeegee
  5. Reflow Oven (or Hotplate)
  6. Isopropyl Alcohol (Rubbing alcohol.)

Process Overview:

  1. Set your tooling pins onto the appropriate grid points.
  2. Fit your PCB on the fixture.
  3. Place your solder stencil on the fixture.
  4. Use the Squeegee to apply solder paste to the stencil (and PCB).
  5. Gently remove the stencil from the figure.
  6. Use tweezers to place components on the appropriate pads.
  7. Reflow your PCB like normal using your reflow oven or hot plate.
  8. Solder your through-hole components (if any…)
  9. Test, test, test!

Key Component: Precision Tooling Fixture Block

First up, The pcb fixture block is the base of the whole technique (literally).  It is a solid chunk of aluminum  with precisely spaced 10mm grid of 2.5mm holes.  These holes accept the 2.5mm tooling pins.  These pins are what ensure that your board and stencil line up exactly.  This precision is why this technique is so easy.  It is a permanent tool, and you’ll only ever need one of these.  Get a nice one, its worth it.  You can DIY based on the drawings, or have one custom CNCed.  I would highly recommend CNC.

Key Component: Solder paste stencil

Next, the solder paste stencil.  This gorgeous digital craftwork is how you precisely control the amount and location of the solder onto your PCB.  It is a thin sheet of steel that has tiny openings etched in it with acid or lasers.  With this, you just glop on solder, and then scrape it off.  When you’re done, you have a masterfully applied set of solder for every SMT component on your board.  All you have to do is put things where they go.

Getting the solder stencil might be tricky.  I live in Shenzhen, where a stencil like this costs $20.  A google search for lasercut smt stencil shows that you can have it elsewhere, but its more expensive.  Making the stencil is very easy: you just send the Solder Paste GERBER layers to the stencil manufacturer.  In eagle these are the tCream and bCream layers respectively.  They correspond to the .GTP and .GBP GERBER files.

Key Component: PCB with Tooling Holes

You have 2 options:  put tooling holes into your PCB directly or have your board panelized w/ tooling holes on the margins.  The latter allows you to do a large number of boards in a single application, which can be very nice in some situations.  It also doesn’t affect the design of your board at all.

If you opt to put tooling holes into your PCB, you will need to make sure there is a corresponding circular pad in the solder paste layers in your CAD.  This is because the solder paste stencil will need to have an opening there to fit the alignment pin.  You can find a part for this in my EAGLE library.

If you have an excellent PCB supplier, they can send you your boards in a panelized state.  This means you will get a single sheet of PCB that has all the boards + tooling holes.  The PCB is “V-cut” so that you can easily break it apart by flexing the board.  This is really awesome for doing small batches of boards.  The document I used to communicate this to my Chinese PCB fab is located on github.

Key Tools: Solder Paste + Squeegee

In order to use this process, you need solder paste and a squeegee.  The paste comes in tubs or tubes, although tubs are the most common.  Try and mix it up a bit first before applying.  You’ll want a squeegee with a metal blade in order to get the best application.

Key Tools: Reflow Oven

If you want to get fancy, use a reflow oven like this.  This oven has temperature profiles which means it gradually heats up and cools down your PCB for optimum soldering.  It’s also a nice “set it and forget it” type of process.  If you’re forgetful like me, this means you can pop in the PCB and come back in half and hour without burning anything down.

If you don’t want to splurge, there is always the hotplate method which can be done for very cheap.  Lots of tutorials out there.

Step 1: Set your tooling pins

The crux of this technique is using your precision tooling block + precision positioning pins to accurately align the PCB and the solder paste stencil.  This helps you get very high quality solder paste deposition exactly where you want it.  When you work with multiple boards, or when you work with very small parts it can be extremely difficult to align by hand.

Setting the pins is easy.  Put the pins in the right spot, and double check it using your PCB.  Technically you only need 2, but I’ve found that 4 gives you a nice, snug fit that helps with preventing misalignment.

Step 2: Fit your PCB on the fixture

Your PCB should fit over the tooling pins and lay flat against the tooling block.  If it doesn’t fit, try using 3 or 2 pins.  Snug is good, but don’t force it.

Step 3: Place your Solder Stencil on the tooling pins

Using the same tooling pins, place your solder stencil onto the tooling block.  Since the stencil is much bigger, it can be hard to get it aligned.  I like to line up one hole first using light from above, then rotate the stencil around that pin until it slides over the rest of the pins.  It should lay flat against the PCB when you are done.

The pins should align the PCB and solder paste stencil very precisely.  You should not see any green soldermask, only the silver pads where solder paste needs to be deposited.

Step 4: Apply your solder paste

Applying the solder paste is easy and fast.  Place a dollop of solder paste onto the stencil.  Use your squeegee to apply it across the face of the stencil.  Angle the squeegee in the direction you’re moving it, and make sure to apply the paste both forwards and backwards to get every little nook and cranny filled.

Apply a dollop:

Squeegee it across:

Step 5: Gently remove the stencil from the fixture

Once you’ve applied the solder paste, carefully remove your stencil.  You should immediately clean the stencil off with isopropyl (rubbing alcohol) so that you can use it again later.  You should end up with beautifully applied solder paste like the picture above. I highly recommend leaving the PCB on the fixture.  This will give you a stable base to work on, and will prevent you from knocking the PCB onto the floor or something like that.

Step 6: Place SMT components using tweezers

This is probably the trickiest part of the process.  Use tweezers to pick and place each component onto the appropriate spot.  A magnifying glass can help tremendously with this.  Make sure you have good lighting and that you know what components go where.  If you make a mistake you can dab a bit of solder on.  Also, when the solder melts, it will self-correct to a small degree, so its okay if components are not exactly aligned.  The boards in these pictures came out just fine, and you can see that the components are skewed a bit here and there.

Step 7: Reflow your board like usual

Use whatever process is convenient for you.  I’m in love with this SMT oven here, but you may have your own preferred technique.  If it works, go for it!  Once the board has been soldered, it is a good idea to remove the flux using isopropyl alcohol and a toothbrush.  Just don’t use it on your teeth afterwards!

Step 8: Solder your through-hole components (if any)

Using your trusty handheld soldering iron, solder in any through hole parts.  If your board doesn’t have through hole parts, obviously skip this step.

Step 9: Test, test test!

Before using your board straightaway, test it!  If you have a test fixture, then use that.  If not, it is good to test for shorts between power/ground, as well as using a benchtop supply in current limiting mode set to a very low value and slowly ramp up the allowed current draw.  If there is a short, this will allow you to catch it in a non-destructive way.

You’re done!

Using this technique you can solder very small parts that would otherwise be extremely difficult.  I’ve successfully soldered 0402 components and QFN components with a 0.5mm pitch.  You can easily do TQFP and any of the larger packages like 0603, 0805, and 1206.

If you have any feedback, leave it in the comments, or email me at zach at hoektronics dot com.  Enjoy!

blog post

PCB Assembly 101

I spent the past week visiting PCB assembly factories here in Shenzhen and wrote a short article explaining how electronics are made for Haxlr8r.  I hope you like it!

blog post

MakerBot vs. Open Source – A Founder Perspective

My name is Zachary Smith aka Hoeken. I have been building 3D printers since 2007 as part of the RepRap project. I created a non-profit foundation (the RRRF) dedicated to pushing open source 3D printing forward. In 2009, I invited my friends Adam Mayer and Bre Pettis to go into business with me building 3D printers. Thus, MakerBot Industries was born. Fast forward to April, 2012 when I was forced out of the very same company. As a result, I have zero transparency into the internal workings of the company that I founded. See this article by Chris Thompson for more infomation.

I do not support any move that restricts the open nature of the MakerBot hardware, electronics, software, firmware, or other open projects. MakerBot was built on a foundation of open hardware projects such as RepRap and Arduino, as well as using many open software projects for development of our own software. I remain a staunch supporter of the open source movement, and I believe the ideals and goals of OSHW remain true.  I have never wavered from this stance, and I hope that I never do.  Future me, beware.

I have been withholding judgement until hearing official word regarding the open source nature of the latest MakerBot printer. I’m trying to contact people to find out what the real scoop is but so far nobody is talking, and my ex-partners are not returning phone calls or emails. It certainly doesn’t look good.  The best information I have found is a load of corporate double-speak bullshit that has come to characterize my interactions with MakerBot in recent memory.

If these allegations do prove true, it would be a sad day indeed for the open hardware movement. Not only would it be a loss of a large Open Hardware manufacturer, but it would also be a loss of a poster child for the movement. Many people have pointed at MakerBot and said “Yes, OSHW is viable as a business model, look at how successful MakerBot is.” If they close those doors, then it would give people who would say OSHW is not sustainable ammunition for their arguments. It would also discourage new OSHW companies from forming. That is a sad thing indeed.

For me, personally, I look at a move to closed source as the ultimate betrayal. When I was forced out, it was a normal, if unfortunate, clash of wills where one person must stay and one person must go. I swallowed my ego and left, because I knew that the company I founded would carry my ideals further into the world. Regardless of our differences, I had assumed that Bre would continue to follow the principles that we founded the company on, and the same principles that played a major part in the success of our company. Moving from an open model to a closed model is contrary to everything that I stand for, and as a co-founder of MakerBot Industries, it makes me ashamed to have my name associated with it.

Bre Pettis, please prove me wrong by clarifying exactly what license MakerBot will be releasing the design files and software under.  That is all we (the community) wants.

In closing, I would like to point out the Open Source Hardware Definition, which MakerBot has endorsed. This document spells out in very clear terms what it means to be an open hardware company. I’ll leave this here for you to ponder:

Open source hardware is hardware whose design is made publicly available so that anyone can study, modify, distribute, make, and sell the design or hardware based on that design. The hardware’s source, the design from which it is made, is available in the preferred format for making modifications to it. Ideally, open source hardware uses readily-available components and materials, standard processes, open infrastructure, unrestricted content, and open-source design tools to maximize the ability of individuals to make and use hardware. Open source hardware gives people the freedom to control their technology while sharing knowledge and encouraging commerce through the open exchange of designs.

blog post

Introducing BotQueue: Open Distributed Manufacturing

With the advent of cheap, low-cost 3D printing there are now fleets of 3D printers in operation.  In my previous life as co-founder of MakerBot Industries, I have dealt with running one of those fleets.  I can attest to the fact that it can be a pain in the butt.  You are basically forced to use software that is designed to control a single machine, and you end up with control windows everywhere.  Close one of them accidentally and you just hosed a build.  Not cool.

I believe that low cost 3D printing has the potential to revolutionize not just prototyping, but small-scale manufacturing of parts: from 10 to 1000 units.  With a small fleet of 3D printers it is possible to run them around the clock and produce enough parts to run a small business.  While this has been possible before today, there has never been software designed with this task in mind.

Thus, BotQueue was born.

BotQueue is an online platform for distributing print jobs to multiple 3D printers for production.  As the name suggests, it allows you to create a print queue which contains jobs.  Your connected bots will grab jobs and produce them.  As each job is competed, the operator is prompted to remove and verify the output.  Upon successful completion, the bot will grab the next job and start producing it.  This continues until the queue is empty.  If a bot fails, it is taken offline for repairs.

Another huge benefit of BotQueue is online access to your bots.  The main interface to control your machines is through the BotQueue website.  This means you can access your bots from anywhere in the world.  You could queue up a print while on the road, and come home to a finished object on your 3D printer.  Future support is planned for webcams, so you will even be able to check up on the printing progress remotely.

The best part of all this?  It’s 100% completely open source.  Both the web server and client software are licensed under GPLv3.  An instance of the BotQueue server is being hosted on, but you are free to run your own local server for private production, a public server for hosted printing, or whatever you want.  The code is located at

BotQueue is designed for running machines as close to 100% capacity as possible.  However, it would work just fine for everyday single-machine, sporadic use.  It would also work well for putting development machines through life testing as it tracks failures, printing time, and general usage statistics.

This is the v1.0 release of BotQueue, so it may be a little bit rough around the edges.  Currently it only supports RepRap machines running gcode-parsing firmwares such as GRBL, Sprinter, Marlin, etc.  Future support is planned for MakerBot machines.  The client has a driver-based architecture and is written in Python, so it is straightforward to add support for new machines or firmwares.

To get started, visit the apps page for information on how to download and install the BotQueue client aka Bumblebee.

Oh, and one more thing.  BotQueue has an API for most operations such as adding jobs, grabbing jobs, etc.  Want to integrate your distributed manufacturing center with your sales system?  Have at it!

blog post

Hoektronics – Coming soon.

There’s nothing to see here… yet.  This site is the future blog home for myself, Zach Hoeken.  You will find posts about projects I’m working on, boards I’ve designed, crazy things I’ve seen in China, and musings about life, open hardware, and all sorts of other stuff.