After years of seeing people showing off and trading their badge Simple Add-Ons (SAOs) at Supercon, this year I finally decided to make one myself. Now for a first attempt, it would have been enough to come up with some cool PCB art and stick a few LEDs on it. But naturally I started with a concept that was far more ambitious than necessary, and before long, had convinced myself that the only way to do the thing justice was to have an onboard microcontroller.
My first thought was to go with the venerable ATtiny85, and since I already had a considerable stock of the classic eight-pin DIP MCUs on hand, that’s what I started prototyping with. After I had something working on the breadboard, the plan was to switch over to the SOIC-8 version of the chip which would be far more appropriate for something as small as an SAO.
Unfortunately, that’s where things got tricky. I quickly found that none of the major players actually had the SMD version of the chip in stock. Both DigiKey and Mouser said they didn’t expect to get more in until early 2024, and while Arrow briefly showed around 3,000 on hand, they were all gone by the time I checked back. But that was only half the problem — even if they had them, $1.50 a piece seems a hell of a lot of money for an 8-bit MCU with 8K of flash in 2023.
The whole thing was made all the more frustrating by the pile of DIP8 ATtiny85s sitting on the bench, mocking me. Under normal circumstances, using them in an SAO wouldn’t really be a problem, but eight hand-soldered leads popping through the front artwork would screw up the look I had in mind.
While brooding over the situation my eyes happened to fall on one of the chips I had been fiddling with, it’s legs badly bent from repeated trips through the programmer. Suddenly it occurred to me that maybe there was a way to use the parts I already had…
In Case of Shortage, Bend Pins
The idea was simple enough; I’d program the ATtiny85, carefully bend its legs outward, and then push the chip down firmly onto an ESD mat to get it as flat as possible. From there, I could snip the legs off with a side cutter, but I thought limiting the interaction between the chip and metal tools was probably for the best. As such, the result is a chip that’s flat to the PCB like an SMD component, but with leads that extend much farther out than any traditional package.
Obviously, the body of a DIP chip is still much larger than its SOIC counterpart. But it’s not like I’m trying to build a smartphone here, a small bump on the back of the SAO is unlikely to bother anyone so long as it doesn’t physically collide with the badge it’s getting plugged into.
But of course, a bent chip is only half of the equation. To put this into practice on more than a one-off basis, you’d need a suitable footprint so compatible PCBs could be spun up.
A Word on Footprints
If you only ever used jellybean components in your PCB designs, you could probably go for quite some time before having to design your own footprint. But eventually, it’s going to catch up with you. As the complexity of your projects increases, you’ll inevitably run into a part that doesn’t have a digital representation in your electronic design automation (EDA) tool of choice.
With that in mind, creating custom footprints is a good thing to become familiar with ahead of time — nobody wants to have a project hung up as they struggle to get up to speed with a tool they never used before.
We’ve previously looked at automated tools that will pull footprints from online repositories and convert them into something KiCad will understand. This is a great capability to have, but it’s not infallible, and there’s always a chance you’ll run across some oddball component out there that doesn’t have a publicly available footprint; so there’s still value in learning how to do it manually.
As this is a pretty simple footprint, it’s a great example to get started with. Even if you don’t plan on smushing your old DIP8 chips into service as makeshift SMD components, I’d invite you to follow along here if you’ve never used KiCad’s footprint editor. While not presented as a step-by-step guide, it should at least help you wrap your mind around the workflow.
Running the Numbers
Under normal circumstances, the first step in making a footprint would be to consult the datasheet for the part in question. There, you’ll almost certainly find a diagram that describes in precise detail the geometry of the component. Assuming the datasheet is accurate and you don’t flub any of the figures, you should be able to make a footprint without ever having actually seen the physical part itself.
In this case though, our footprint doesn’t correspond with any proper package. With no handy diagram to follow, we’ll need to take some manual measurements before all is said and done. But it did start as a normal package, so the ATtiny85’s datasheet still provides some valuable clues.
The main thing we’re looking for here is the size and spacing of the leads. This is labeled as “e” in the diagram, which corresponds to 0.100 inches, or 2.54 mm. BSC means “Basic Spacing Between Centers”, which indicates the measurement refers to the center point of each lead and not the outside edges.
As the leads have a stepped shape, there’s two figures given for each one: “b” for the thin tip, and “b2” for the wider base. We’re after “b” in this case, which the chart says could be anywhere between 0.014 and 0.022 inches. Helpfully, it also gives us a nominal value of 0.018 inches (0.45 mm). We can also see that “L” shows the nominal length of each lead, not counting the base, to be 0.130 inches (3.3 mm).
Given the length of the leads and the width of the plastic package, we could come up with a good estimate of the “wingspan” for our flattened chip, but it was just as easy to grab the calipers and check the real-world dimensions:
So where does that leave us? First of all, we ain’t going to space with this thing, so we can round off some of those numbers. This can buy a little of wiggle room, since the parts will be hand soldered, and just makes it a bit easier to wrap your head around. Second, let’s stop mixing units and just stick with metric since that’s what the board house is going to want anyway.
The end result: a footprint that has eight pads of approximately 3 x 1.5 mm, spaced 2.54 mm from each other, with a span of around 16 mm.
Putting Your Foot Down
The KiCad Foorprint Editor tool works more or less the same as the PCB Editor, and shares many of the same tools and icons. So if you’ve already got a couple custom PCBs under your belt, wrangling the interface shouldn’t provide much of a challenge.
Once you’ve created a custom library (which can be per-project, or global for all of your projects) and named your new footprint, you’re given a blank canvas on which to drop your pads using the appropriately named “Add a Pad” tool. After placing the first pad you can edit its parameters to give it the desired dimensions, and from then on, any new pads you place will have the same size and shape. The pad number will also automatically increment, though its up to you to make sure they match the part’s actual numbering scheme.
Using the various measuring tools at your disposal, getting the pad spacing where you want it is pretty simple. The most important thing to remember here is probably to set a reasonable grid size so you don’t have pads snapping to weird positions. For this example a grid size of 0.5 mm would be fine, but for finer pitched components you’d want to drop that down.
Once the footprint looked about right, I used the Print command to run off a 1:1 duplicate on a piece of paper and checked that the ATtiny85 physically lined up with what would be copper pads on a real PCB.
Now, I’m not claiming to be the first person to come up with this idea. Indeed, our illustrious Editor in Chief Elliot Williams says this wasn’t an uncommon practice back when hobbyists started dipping their
toes irons into the world of SMD. So this is less breaking new ground, and more blowing the dust off a technique that’s been lost to time.
Was it worth the effort? As you can see from the image at the right, I did get PCBs made with this custom footprint, and I had no problem soldering these previously through-hole components as if they were supersized SMD chips. But ultimately, even the cost of the DIP8 version came out to be more than expected.
As of this writing, Digikey wants $1.66 each for the ATTINY85-20U. So while I did assemble several of the SAOs using this technique, in the end I switched over to the newer tinyAVR 2 family of chips. They don’t come in eight-pin flavors anymore, but the extra flash, UPDI programming, and lower cost more than make up for a little extra soldering.
So while it wasn’t quite the solution I was hoping for, it was certainly a successful hack and a good chance to brush up on some valuable skills. As any reader of Hackaday knows — the journey can sometimes end up being more interesting than the destination.