Banner Img

Salvaged Circuitry

PCB Business Card

I had a very simple business card for years, but I was just plain tired of it. It was too bland and looked like all of the other business cards that I had amassed over the years. I was catching up on the Amp Hour podcast and in one of the episodes Dave Jones mentioned something that really caught my attention: bring your projects to social events. I thought about it for a bit and could not think of any good way of bringing large partially completed projects or populated boards to an event without looking like a complete king of the nerds. Of course, the next logical sequence of questions were: Would it even fit in my pocket? What dimensions make it too big for a pocket? I could reduce z-height! What about cargo pants? They have bigger pockets. Well I could bring a jacket, but wouldn't it be odd to keep reaching for something in a jacket pocket?

After exploring that line of thinking, I abandoned the idea and continued on with my projects. I decided that I would just bring photos along to hardware meetups instead. That all changed when I discovered the "elegant PCB artwork ruler" and "RF & MW Elegant PCB ruler" designed by Makis Katsouris. I believe I originally found them through ebay, but Makis' website, SV1AFN.com, details all aspects of the rulers along with some really top notch RF projects. Oh boy, I used "notch" as a way to describe RF projects. Please don't hurt me :D.

Taking inspiration from these elegant rulers along with the Adafruit/Digi-Key rulers, I decided to make a PCB ruler into a business card. I am very partial to the Nvidia PCB rulers too. I wanted to mainly focus my business card on footprints, common measurements and useful reference materials to help folks who are interested in making their own PCBs. Of course, I could fill the card with references to all the types of op amp-configurations, diode types, and trace current capacity calculations, but I wanted to make something that would put a physical size to the part a layout designer decided to implement. This way, the designer would have something tangible in front of them to gauge the actual size of a package on a board and give them a better idea of how much clearance a package would need in relation to other components on a pcb.

Sometimes the best way to start a project is to check if someone else already did this exact same thing. Going in, I knew that it was unlikely that I would find a business card design to my exact tastes but that was ok because I knew that I would end up designing it myself. Looking at other open available designs gave me further motivation and validation that this was indeed a good idea. Just look at the Business card made by Tim Jacobs. What a fantastic idea of integrating a simple MIDI device into a business card. Very neat. And thus my hour of searching for PCB business cards on Hackaday and Github was very fruitful.

Design Decisions

I settled on this very useful and concise business card made by Brian D. Carlton to use as a template. After all, I'm a KiCAD user and even if I decided to start over, the Edgecut dimensions should be the right size :D. I really liked the simplicity of Brian's heavily layout-based business card, so I took the same principle and applied it to my card. Cheers Brian on the great business card!

One of the first changes I made to the card was add components. I really liked where Brian's business card was going but there was too much empty space for my tastes and I could use that space to fit in something even more useful. I decided to keep a good chunk of the IC packages and transistors, but I wanted to expand on the passive footprints, diodes and SOT packages. Here's an early iteration of my board. It's not pretty, but it's getting somewhere.

I decided to expand the scope of my card to include footprints of common devices from older equipment, notably the TO-5 CAN10 package and crystal package. I added a simple font size scale and trace width scale. These would be useful for squeezing the most out of a compact layout. I added common test pad sizes for those boards which will go into production and need to be put on a test jig or bed of nails. I added some fiducials for good practice and attached a 2.4ghz antenna, which are now even more common from the IOT craze. In addition, I decided not to include hole sizing because wire strippers with included AWG sizes are pretty commonplace. One of the biggest departures of my business card from other designs are the included rulers. I designed each of the three rulers as a custom array of lines so I could mix 1/16 and 1/32 of an inch on the one ruler, tenth of an inch and 5 hundredth (50 thousandths) on another and millimeters and half millimeters on another ruler. None of these types of rulers are available with the included kicad footprint library rulers. I didn't even know the KiCad library contained ruler footprints until I checked out Jan Böhmer's PCB ruler. A ruler is the last thing you'd think would be in a footprint library.

The QR code was generated from a generic qr code generator website and then inverted and translated over to a kicad mod file using the Wayne & Layne img2mod Image Converter for Kicad web tool. Hats off to you guys! Really, this is an excellent tool and it saved me a lot of running around. Seriously, you guys are awesome. One thing to note, inverted QR codes are not always read by every barcode scanner application. I have found that lightening QR is one of the few barcode scanning apps on the android app store that works well with the inverted PCB bar code. Apple devices with a qr code scanner built in seem to pick it up just fine.

A big time sink with projects like this is ironically, layout. But not in terms of connecting everything together. Anyone can throw a footprint somewhere on a copper layer, but if you are trying to make a legible reference card, equivalent spacing becomes paramount. Ideally, you don't want the silkscreen next to some footprints easier to read than others, and you don't want the footprints to come too close and cause user confusion. The silkscreen text label on each footprint can't be too close or someone will get confused and think that two titles are one word!

The concept of scale is also extremely important. Sure, that trace width gauge looks great from being zoomed in at 1000x, but when rendered to actual size, it's far too small and no one can read it! These are the main issues when making a tiny reference card. I found that the included 3D viewer in KiCAD is pretty fantastic for getting a decently accurate representation of the board. Normally, the viewer would not allow you to scale the results small enough to exactly match the size of a business card, but for some reason, enabling orthogonal projection allows you to scale the board down to a greater extent. This is the render on my 30in 2560x1600 lcd and the actual business card side by side. Almost spot on. Using the 3d renderer, an optic and a caliper (for referencing font size on other rulers), I was able to create a pretty legible PCB business card.

I really liked the use of soldermask pullback to highlight titles on the Digi-Key 12in rulers which gives that nice contrast-y two-tone color scheme, so I adopted it on my design. Also, a big shout out to Digi-Key for creating a dedicated Digi-Key kicad library with footprints, part numbers and links to part datasheets and Digi-Key part pages. This is extremely helpful.

While KiCAD comes with a bunch of included footprints, the footprints are designed primarily for components and feature a copper layer net and a specified soldermask pullback. The soldermask is the negative of the copper footprints and serves as a basic insulator while preventing unwanted solder bridging. The footprints are not intended for soldermask-only use. Normally, there is no reason for soldermask-only footprints, as you want each package to be a part of a copper net and not at the same potential. However, if you are making something non-critical like a ruler or business card it's not that important if a few traces share the same layer, since the PCB will never be used as an actual circuit. If you want to get crafty with PCB making and you intend to make the board ENIG (electro nickel immersion gold), having a soldermask pullback footprint is a must. It's that extra little touch that pushes your design from just-any-old-pcb to pcb artwork.

Now is a good time to mention that the original template was released under Creative commons CC0$, so in good taste, this design is continuing that legacy as well. This means there will be plenty of open source logos on the card to go around :D. Naturally, KiCAD has over a dozen iterations of the KiCAD logo and open hardware logo, but none of them were soldermask friendly.

Luckily, Michał Trybus also spoke out about this and included his version of the OSHW logo optimized for soldermask pullback on his github page. This saved me a bunch of time. Michał, you rock!

For the Kicad logo, I wanted the "Ki" text to be in the soldermask color, but the square logo outline to be exposed. The "Cad" portion be in the native soldermask color and outlined with soldermask pullback.

I was able to accomplish this combination by superimposing available kicad logo footprints that had portions of soldermask pullback but not in the exact combination I wanted. I then simply copied these footprints, edited them and lined them back up in KiCAD. The results were pretty fantastic.

KiCad Specifics

When I first started this project I was using KiCAD 4.0.6. This version, while very functional, caused me great frustration in use because the user interface was such a far shot from any other program I had used. While I have used programs with even worse interfaces that only allow for one saved undo, ahemm 1990s cadence virtuoso, this program seemed unreasonably annoying to use. In PCBnew, the layout aspect of KiCAD, the cursor had this weird memory feature where if you right clicked a part to find out additional options and then clicked away from the right click drop down, it would bring your cursor back to the original location where you right clicked and close the drop down. The same thing would happen if you left-clicked a footprint and a drop-down appeared, but in this case your cursor would bounce back, the drop-down would not close and you had to hit ESC. The interface designers obviously wanted you to get used to opening something and immediately hitting the ESC key to properly close. Then you could proceed. This is so very different from any normal window navigation it's unbelievable that this methodology was ever implemented.

Kicad 5.0 PCBnew removed this cursor issue and implemented a lot of great new features. You can now measure anywhere on the canvas, move parts exactly (by coordinate or value), position parts relative to a point and use a graphic polygon tool to draw filled graphics on any non-copper layer. The layers manager now allows for toggling of through-hole pads, tracks and the worksheet outline too. Other welcoming new features include the ability to flip boards, export as a .step for mechanical assembly, and additional render options for the toggling of 3D through-hole or 3d SMD parts. I actually used every single one of these new features as well as the invaluable new hotkeys for the 3d viewer. If you are even questioning it, now is the right time to switch to Kicad 5.0.

There are only three portions of KiCad needed for this project, PCBnew (layout editor), the footprint library and the gerber viewer. Since there is no circuit, Eeschema (the schematic view) is not needed. PCBnew is where you will spend most of your time. The biggest time saver with using any software is watching demo videos and of course learning the shortcuts. Here's a list of the most invaluable KiCad shortcuts needed for this project:

Within PCBnew:

Within 3D Viewer:

Since a good portion of this project involves the tedious use of the measure, move tool, and switching layer tool, let's focus on pcb optimization. What do I mean by PCB optimization? Well, there are a lot of Chinese board houses that offer steeply discounted rates on 100x100mm PCB boards. This image is what most of these board houses websites look like. A lot of these board houses suspiciously use the same near-identical interface for calculating cost per feature, which is rather strange.

Here's a breakdown of what all these features mean for someone just jumping into PCB design:

I originally tried out the "single pieces" production option to get an idea for how my boards would look by the default method. They came out far better than I expected. I thought I would be getting smudged, uneven silkscreen, terribly mis-aligned soldermask, and have a crap finish. To my surprise, they were quite good.

I spent $118 on 30 express production, express shipped business cards. I used Pcbway as the vendor for the blue business cards and they still managed to get me my business cards in time (ahead of schedule) even though they were enduring an unexpected monsoon. That is frankly unbelievable. I still don't know how they did it.

Correction, the cards were unbelievably good. Look at how well the ruler marks line up. They are near identical to the Adafruit rulers. I was completely blown away by the results and seriously wondered why more folks don't make PCB business cards. PCBs almost never come out this well on the first run.

At ~$3.93/card, it's understandable why this is not very commonplace. Business cards are usually made in advance by a corporate marketing department so I can't imagine they would bug an engineer to make promotional business cards for the entire company.

Besides this, traditional paper business cards are about 4-30 cents per card depending on quantity and quality. If I was not in a rush to get the PCB business cards before a conference I would have paid close to $2/card, or half my original order. Regardless, this is still quite an expenditure for business cards.

You can see there definitely is a bit of misalignment between the soldermask and pads (look at those BGAs) but It's not bad. It's still totally overkill for a business card :D

The silkscreen gets a bit thin in places and the finish is not completely perfect, but I'm pretty satisfied with how these came out. The good news is that the silkscreen only gets thin in very small areas of the board.

Look at this excerpt. The silkscreen is nice and crispy and the pads for the resistor sizes are literally perfect. The results totally blew my mind in spots. Speaking of spots, there were tiny white dots left around the board as leftovers from the silkscreen process. It's not super noticeable, but under close inspection it's there.

It's not perfect, but I'm not paying Advanced Circuits or Wurth Electronics prices for PCBs. Wurth wanted $252 before tax and shipping for 20 business cards. Crazy! I am completely stoked with how these came out and now I am completely sold that this was a good idea and worth the time and effort. Now to just optimize cost.

Panelization:

A US business card is 3.5in x 2in, or 88.9mm x 50.8mm. If you make the PCBs near perfect business card size, you will be wasting more than half of your discounted 100x100mm board area! Originally, my card was slightly wider than the US standard at 89.5mm and slightly taller at 50.84mm. I kept it wider so the 3.5in mark would show nicely on the card. In order to optimize the Business card output the height would clearly have to change.

The goal of panelization is to maximize the amount of usable circuit boards per square inch of PCB panel. This involves optimizing layout & board shape, making provisions for individual board break-outs and the creation of edge rails. Only two business cards can be made within the 100x100mm space, so optimizing came down to reducing the height and reorienting footprints.

Maximum height of each card will depend on how they are broken out from the PCB panel. A lot of PCB manufacturers fabricate individual pcbs on large panels, such as 12x18in, 18x24in or 21x29in sized panels. These panels can be sub-divided into smaller sub-panels or, depending on the job size, just patterned completely in one design.

In the case of the 100x100mm board size, I believe that a bunch of chinese PCB fabricators came to the conclusion that ~100mm sq size is an ideal size to pattern on their large standardized panels, and gives them flexibility in manufacture, as long as they handle the panelization. This is a snapshot from a recent JLCPCB manufacturing video where you can clearly see that different designs are just pattern-ized on the same PCB panel and then broken out.

There are two options for removing the individual boards from a panel - routing or V-cut. Routing involves using an endmill to route out a specific path around a circuit design. For routing to work in a panel, each individual design must be separated by 2mm, for adequate space for the endmill. The V-cut method uses a pair of pizza cutter style blades to make a groove in the fiberglass circuit board. With V-cutting, direct overlapping of the edgecut or outline layer is necessary - saving board space. V-cut or v-groove is traditionally a continuous process where a cut will extend from one side of the board to the other. Sometimes a board house will allow for interrupted V-cutting but this is not always the case and it generally frowned upon.

The benefit for v-cutting is that the spacing from cutting edge to nearest trace is less than routing. For one board house, they specify 0.4mm from edge to trace. This means I can get away with a 0.8mm gap between business cards, instead of 2mm with routing. There is a ±0.5mm tolerance for V-scoring and ±0.2mm for CNC routing from that same manufacture, but V-scoring still takes the cake.

Be mindful that each pcb fabricator is different and has different capabilities, panelization methods and tolerances. Here are direct links to the tolerances and specifics of a few pcb fabricators: PCBway, JLCPCB, Seeed/Fusion, Elecrow and Advanced Circuits. Another important note: not every PCB vendor will allow panelization at the discounted 100x100mm price bracket. Worst case scenario is you get charged a panelization fee. Some folks on eevblog have had success, so it's worth a shot. Keep the same design when panelizing this 100x100mm space as it is more common for PCB vendors to charge an extra fee if they see different circuit designs within the same sub-panel. That means any change in a gerber file counts as a different design, even if it's just a silkscreen change.

My panelized business cards use a combination of routing and grooving. V-grooving is used horizontally between the business cards and routing is used on the outer edges, sides and corners. Whatever process used to break out the individual boards, it must be indicated to the PCB manufacturer. PCBway mentioned to leave note of a v-groove in the board outline layer. I simply labeled all the processes in a spare layer like "This is a v-groove line."

With the cutting annotated, you're ready to plot gerbers. In kicad, select "plot." The plot icon looks like a large poster printer. My plot settings and selected layers are in the attached photo. Important notes: make sure to check "use protel filename extensions" or gerber panelizer will not read your gerber files right. Hit plot. A popup should come up. Make sure to say yes to "do you want to use a path relative to..." so the path works for other people, if you plan on sharing your designs.

For generating drill files, hit the button on the lower right of the plot window. Make sure to check "merge PTH and NPTH holes into one file." Select generate drill file. This will create one edgecuts.gm1 file for the drill file instead of 2 drill files which is standard in kicad. In order for gerber panelizer to read your gerbers, change the .gm1 extension to .gko in the directory for your output gerbers. Gerber panelizer should now happily read your kicad gerbers.

Traditionally, tabs are necessary for routing so the individual pcbs don't break away from the sub-panel. Tabs can be solid or feature tiny holes called mousebites. The location of mousebites can vary, but they are generally located tangent or collinear to the edge of the PCB. Tabs leave behind a flush but rough patch on part of a pcb edge, which has a smaller chance of cutting the person handling the boards since it does not protrude form the board.

In order to pass off 2 businesscards as one PCB, you have to iterate the businesscard gerber files and merge them into one entity. To handle the creation of merged gerber files, I used "Gerber Panelizer" a free program which aids in panelizing and patternizing designs from pcb software such as eagle and Kicad. Shout out to tinkermind for suggesting elecrow and gerber panelizer.

Here's some guidelines for making patternized gerbers with gerber panelizer. Create a zip file of your output gerbers and output drill file. Open GerberPanelizer and drag in your gerber zip file. The Gerbers should be read and the edgecuts outline should show up. On the bottom right of window set snap to 0.5mm. This will make placement of the individual designs easier to line up. In the menu, go to panel properties > set width and height to 100mm. Go to top right directory tree and right click "instance." Select add instance. This creates your second design. Rotate the second design using the buttons on right. Your board may go outside viewing area while doing this. Go to view > scale 1:1 to get i back int view. For V-groove make sure to line up the boards to the orientation of v-groove. Finally, center the boards by hand or by coordinate system. File > export merged gerbers and you're ready to send out your design to a board house!

When merging the gerber files, make sure to line up the gerber files so the same edge is being v-cut for both boards. In this image you can see the gerbers rotated 180 degrees from one another. You would not want the bottom of one card to be routed while the bottom of the other is v-cut. The difference in edge finish would be quite apparent.

You will notice that I did not use edge rails for the finalized merged gerber files. This is simply because the chinese board manufacturers do not individually panelize the discounted designs. They just patternize them onto one board and break them out, as shown in the pcb manufacturing videos above. If I added edge rails, the pcb vendor would clearly pick up that I was trying to panelize within their panel and they may tack on extra fees.

So far, Gerber Panelizer has been very useful, as there is no other KiCAD panelizer option available. It also features automatic edge rail / tooling strip creation for designs, which is super handy. There are some major problems though. For one, gerbers from Kicad wont be read unless you change the file extension on the edgecuts layer from .gm1 to .gko. That was a huge annoyance that took me a while to solve. Also, the current Gerber Panelizer version has a problem where break tabs will not form between boards or between boards and the edge rail, making the creation of panels impossible. Luckily, Arsenijs on Hackaday.io made a fix so break tabs work again. Unfortunately, the toggling of mouse bits on the break tabs is not present in the fixed version and would require an entire decompiling of the original program and the fixed version, running a diff, applying the fix to the latest original version and repackaging the files back into a working program. Thanks a ton though to the original developer as it would have taken infinitely more time to manually redraw the gerbers into a merged file.

Potential Future Additions:

Comment Box loading