Join us on Wednesday, September 25 at noon Pacific for the High-Speed PCB Design Hack Chat with Bil Herd!
Printed circuits have become so commoditized that we seldom think much about design details. EDA software makes it easy to forget about the subtleties and nuances that make themselves painfully obvious once your design comes back from the fab and doesn’t work quite the way you thought it would.
PCB design only gets more difficult the faster your circuit needs to go, and that’s where a depth of practical design experience can come in handy. Bil Herd, the legendary design engineer who worked on the Commodore C128 and Plus4/264 computers and many designs since then, knows a thing or two in this space, and he’s going to stop by the Hack Chat to talk about it. This is your chance to pick the brain of someone with a wealth of real-world experience in high-speed PCB design. Come along to find out what kind of design mistakes are waiting to make your day miserable, and which ones can be safely ignored. Spoiler alert: square corners probably don’t matter.
Our Hack Chats are live community events in the Hackaday.io Hack Chat group messaging. This week we’ll be sitting down on Wednesday, September 25 at 12:00 PM Pacific time. If time zones have got you down, we have a handy time zone converter.
Click that speech bubble to the right, and you’ll be taken directly to the Hack Chat group on Hackaday.io. You don’t have to wait until Wednesday; join whenever you want and you can see what the community is talking about. Continue reading “High-Speed PCB Design Hack Chat With Bil Herd”
Every once in a while, you’ll find some weirdness that will send your head spinning. Most of the time you’ll chalk it up to a bad solder joint, some bad code, or just your own failings. This time it’s different. This is a story of weirdness that’s due entirely to a pin that shouldn’t be there. This is a package for an integrated circuit that has a pin zero.
The story begins with [Erich] building a few development boards for the Freescale Kinetis K20 FPGA. This is a USB-enabled microcontroller, and by all accounts, a worthwhile effort. So far, so good. The problem with the prototype boards was soon apparent. On some of the boards, the external 32 kHz oscillator was not starting. Resoldering the oscillator or microcontroller sometimes solved the problem, but not always. This is troubling, because that means the issue isn’t code, and it’s not the PCB. This is going to take a deep dive and a good inspection microscope.
One of [Erich]’s friends, [Christian B] somehow found the problem. When the Freescale K40 is manufactured, the die is carefully laid in a chip carrier and coated with epoxy, putting it in a small QFN package. The problem is, there’s an extra connection sticking out of one corner of this chip. This is just an artifact of the chip carrier, but if you leave exposed metal connected to ground, something is eventually going to go wrong.
The best guess [Erich] has is that this additional connection is from the manufacturing and packaging process, with the exposed metal pad in this application being bridged to an adjacent pad. Now, if there’s one failure to [Erich]’s design, it’s that the trace comes out of the pin on the adjacent pad at 90 degrees; this isn’t a best practice, but most of the time you can get away with it. This time, though, somebody got burned.
We don’t know how [Christian] ever found this issue. When you look at a tiny QFN package, you don’t expect there to be an extra pin attached to ground that can be easily bridged with a bit of solder paste. It’s either a lot of luck or skill to find this problem, but it’s a great example of the weird things you have to look out for.
On the face of it, PCB production seems to pretty much have been reduced to practice. Hobbyists have been etching their own boards forever, and the custom PCB fabrication market is rich with vendors whose capabilities span the gamut from dead simple one-side through-hole boards to the finest pitch multilayer SMD boards imaginable.
So why on Earth would we need yet another way to make PCBs? Because as [Ben Krasnow] points out, the ability to turn almost any plastic surface into a PCB can be really handy, and is not necessarily something the fab houses handle right now. The video below shows how [Ben] came up with his method, which went down a non-obvious path that was part chemistry experiment, part materials science. The basic idea is to use electroless copper plating, a method of depositing copper onto a substrate without using electrolysis.
This allows non-conductive substrates — [Ben] used small parts printed with a Formlabs SLA printer — to be plated with enough copper to form solderable traces. The chemistry involved in this is not trivial; there are catalysts and surfactants and saturated solutions of copper sulfate to manage. And even once he dialed that in, he had to figure out how to make traces and vias with a laser cutter. It was eventually successful, but it took a lot of work. Check out the video below to see how he got there, and where he plans to go next.
You’ve got to hand it to [Ben]; when he decides to explore something, he goes all in. We appreciate his dedication, whether he’s using candles to explore magnetohydrodynamics or making plasma with a high-speed jet of water.
Continue reading “Chemistry And Lasers Turn Any Plastic Surface Into A PCB”
Recent experiments with the Arduino CapSense library led [Bryan] around the Internet looking for interesting applications. He hit upon a very cool touch scroll wheel made entirely with PCB traces, but the geometry – three interleaved zig zags is impossible to build in the decidedly ungeometric Eagle PCB package. One thing leads to another and now [Bryan] has a cap touch wheel Eagle part designed entirely in OpenSCAD.
The touch scroll wheel implementation [Bryan] found came from an ST touch controller datasheet and used oddly-shaped patterns to create a capacities sensor. Eagle is terrible for designing anything that isn’t laid out at a 45 degree angle, so he fired up OpenSCAD to draw these triangles. Importing into Eagle was another challenge, but a quick Ruby script to convert a DXF file into a set of coordinates for Eagle’s POLYGON command made everything very easy.
If OpenSCADing touch sensors isn’t your thing, there’s also an Eagle library full of them – something we found last week.