Letting [Euler] Help Out With PCB Fabrication


Since [Alessio] has been etching his own PCBs, he’s hit upon the most tedious part of the process, and the reason homebrew SMD boards are so awesome: drilling your own boards is a pain. While [Alessio]’s CNC mill takes care of most of the work, aligning the pre-drilled boards and correcting for any scaling issues from the mask is a bit difficult. With the help of a transform matrix, though, drilling PCBs has never been easier.

While the Gcode running the mill may be accurate, the actual manufactured PCBs might not be. If the extents on [Alessio]’s board aren’t exactly aligned with the axes of the CNC mill, the drill holes end up where they’re supposed to be. To solve this problem, [Alessio] wrote a PCB drilling transformational matrix calculator. The basic idea is by drilling just a few holes, [Alessio] is able to calculate any offset required in the Gcode with the help of a little bit of linear algebra.

20 thoughts on “Letting [Euler] Help Out With PCB Fabrication

  1. why not use the word ´manufacturing´ instead of ´fabrication´?. I´m not a native English speaker but ´fabrication´ always makes me think of the word´s 3rd meaning: “3. To concoct in order to deceive: fabricated an excuse.”

  2. This is a great first step, but it can be improved. The commercial PCB manufacturing industry uses fiducial markers to deal with issues similar to this. Fiducials are more for positioning of fine-pitched components, but they would allow for similar compensation on a project like this. It does take some more hardware and software, however.

    First, a camera has to pass over the each expected fiducial location and determine an offset, optionally repeating the process until the alignment is corrected. Using this as a starting point, it’s possible to calculate transform matrices between the fiducials in much the same way as he is doing with the existing holes.

    The benefit is that this automates the entire procedure.

  3. “If the extents on [Alessio]‘s board aren’t exactly aligned with the axes of the CNC mill, the drill holes end up where they’re supposed to be.”

    If the holes end up where they’re supposed to be, what’s the problem? :-)

    1. Uh, pretty sure that was the whole point…maybe a better way of putting it would be.. With [Alessio]’s use of a transformation matrix even if the board is not aligned perfectly with the axes of the CNC mill the holes still end up where they are supposed to be.

      1. That’s supposedly the statement of the problem that the matrix transform fixes! Brian left out one key word: don’t. As in “If the extents on [Alessio]‘s board aren’t exactly aligned with the axes of the CNC mill, the drill holes DON’T end up where they’re supposed to be.”

      1. I’m using grecode and it is indeed very nice, never had problems with it. The advantage (in my opinion) I’d point is that you can use any two points and choosing the corners is obvious, easy and fast. Two points are sufficient to calculate a matrix with constant scaling. Does your program also do trapezoid correction?

  4. need video, always need video !!!
    Finding a great project as an instructable is such a huge disappointment.
    I wouldn’t go as far as to say “only feature projects with video”, but really…?!!
    I can watch videos of CNC all day and with such a pretty board I was really hoping…

    1. Good for you, but when you have 1000s of holes to drill and better things to spend time on, it becomes tedious. But hey if you have a life goal of being a master pcb mini hole driller, go knock yourself out. Too bad your obsessive skill can be replaced and surpassed by a machine though…

Leave a Reply

Please be kind and respectful to help make the comments section excellent. (Comment Policy)

This site uses Akismet to reduce spam. Learn how your comment data is processed.