Stuck Designing Two-Layer PCBs? Give Four Layers A Try!

Many readers are certainly familiar with the process for home-etching of PCBs: it’s considered very straightforward, if a little involved, today. This was not the case in my youth, when I first acquired an interest in electronics. At that time, etching even single-sided boards was for “advanced” hobbyists. By the time I started etching my own PCBs, the advanced hobbyists were on to double-sided home-etched boards — the only type not pictured above, because I couldn’t find the one successful example I ever created. I later saw the rise of “bare bones” fabricated PCBs: professionally made fixed size boards with plated-through holes, but no soldermask or silkscreen. Eventually, this gave way to the aggregating PCB services we have now with full two-layer boards, complete with soldermask and silkscreen.

Today, the “advanced” hobbyist may be using four-layer boards, although the four-layer adoption rate is still relatively low – OSH Park produces around 90% two-layer and 10% four-layer, for instance. I think this will inevitably increase, as has been the case with all the previous technologies: the advanced eventually becomes the mainstream. Each of the previous shifts has brought easier design and construction as well as improved performance, and the same will be true as four layers becomes more commonplace.

So, let’s take a look at designing four-layer PCBs. If you’ve never considered one for any of your designs, you may be pleasantly surprised at what little extra cost is involved for all the benefits you gain. Continue reading “Stuck Designing Two-Layer PCBs? Give Four Layers A Try!”

A Keyboard For Your Thumb

Here’s an interesting problem that no one has cracked. There are no small keyboards that are completely configurable. Yes, you have some Blackberry keyboards connected to an Arduino, but you’re stuck with the key layout. You could get one of those Xbox controller chat pads, but again, you’re stuck with the keyboard layout they gave you. No, the right solution to building small and cheap keyboards is to make your own, and [David Boucher] has the best one yet.

The Thumb Keyboard uses standard through-hole 4mm tact switches on a 10×4 grid, wired up in a row/column matrix. Yes, this is a mechanical keyboard, which is important: no one wants those terrible rubber dome keyswitches, and you need only look at the RGB gaming keyboard market for evidence of that. These tact switches fit into a standard perfboard, allowing anyone to build this at home with a soldering iron. After wiring up the keyboard and connecting it to an Arduino, [David] had a working keyboard.

There’s a lot going on with this build, not the least of which is the custom, 3D printed bezel for those tiny, tiny tact switches. This is a much simpler solution than building an entirely new PCB, which we’ve seen before. Since this is a 3D printed bezel, it’s easy to put labels or whatnot above the keys, or potentially print buttons. It’s great work, and one of the best small keyboards we could imagine.

Making The World’s Fastest 555 Timer, Or Using A Modern IC Version

If you’re not familiar with the 555 timer, suffice it to say that this versatile integrated circuit is probably the most successful ever designed, and has been used in countless designs, many of which fall very far afield from the original intent. From its introduction, the legendary 555 has found favor both with professional designers and hobbyists, and continues to be used in designs from both camps. New versions of the IC are still being cranked out, and discrete versions are built for fun, a temptation I just couldn’t resist after starting this article.

If you think all 555s are the same, think again. Today, a number of manufacturers continue to produce the 555 in the original bipolar formulation as well as lower-power CMOS. While the metal can version is no longer available, the DIP-8 is still around, as are new surface-mount packages all the way down to the chip-scale. Some vendors have also started making simplified variants to reduce the pinout. Finally, you can assemble your own version from a few parts if you need something the commercial offerings won’t do, or just want a fun weekend project. In my case, I came up with what is probably the fastest 555-alike around, although I spared little expense in doing so.

Follow along for a tour of the current state of the 555, and maybe get inspired to design something entirely new with this most versatile of parts.

Continue reading “Making The World’s Fastest 555 Timer, Or Using A Modern IC Version”

A Ruined Saw Blade Becomes A Bowl

Every workshop generates waste, whether it be wood shavings, scrap metal, or fabric scraps, and sometimes that waste seems too good to throw away. [Igor Nikolic]’s hackerspace had a ruined circular saw blade in the trash, and rather than let it go to waste he took it to the forge and fashioned a bowl from it. Then because another blade came his way and he wasn’t quite happy with the first one, he made another.

The second of the two bowls, in its finished state.
The second of the two bowls, in its finished state.

Saw blades are not promising material for forge work, being made of a very high-quality hardened steel they do not take well to hammering even when hot. So his first task was to anneal his blade in a kiln, heating it up and then letting it cool slowly to soften it.

Working the blade into a bowl shape was done on a home-made ball anvil. The blade was marked to provide guide rings as an aid to forming, and the bowl shape was progressively built out from the center. The first bowl was a little irregular, in his second try he’d got into his stride. Both bowls were mounted, one on a cut acrylic base, the other on a set of feet.

A project such as this can only be done with a huge amount of work, for which owners of larger forges will typically use a power hammer. [Igor] admits that a swage block (a specialized anvil for forming such curved shapes) would have made his life easier, but we think he’s done a pretty good job.

If you’ve been paying attention to recent Hackaday articles you may have noticed the start of our series on blacksmithing. We’re indebted to [Igor] for the genesis of that piece, for he was operating the portable forge that features in it.

Faster Computers Lead To Slower Experiences?

Ever get that funny feeling that things aren’t quite what they used to be? Not in the way that a new washing machine has more plastic parts than one 40 years its senior. More like “my laptop can churn through hundreds of gigaflops, but when I scroll it doesn’t feel great.” That perception of smoothness might be based on a couple factors, including system latency. A couple years ago [danluu] had that feeling too and measured the latency of “devices I’ve run into in the past few months” (based on this list, he lives a more interesting life than we do). It turns out his hunch was objectively correct. What he wrote was a wonderful deep dive into how and why a wide variety of devices work and the hardware and software contributors to latency.

Let’s be clear about what “latency” means in this context. [danluu] was checking the time between a user input and some response on screen. For desktop systems he measured a keystroke, for mobile devices scrolling a browser. If you’re here on Hackaday (or maybe at a Vintage Computer Festival) the cause of the apparent contradiction at the top of the charts might be obvious.

Q: Why are some older systems faster than devices built decades later? A: The older systems just didn’t do much! Instead of complex multi-tasking operating systems doing hundreds of things at once, the CPU’s entire attention was bent on whatever user process was running. There are obvious practical drawbacks here but it certainly reduces context switching!

In some sense this complexity that [danluu] describes is at the core of how we solve problems with programming. Writing code is all about abstraction. While it’s true that any program could be written directly in machine code and customized to an individual machine’s hardware configuration, it would be pretty inconvenient for both developer and user. So over time layers of sugar have been added on top to hide raw hardware behind nicer interfaces written in higher-level programming languages.

And instead of writing every program to target exact hardware configurations there is a kernel to handle the lowest layers, then layers adding hotplug systems, power management, pluggable module and driver infrastructure, and more. When considering solutions to a programming problem the approach is always recursive: you can solve the problem, or add a layer of abstraction and reframe it. Enough layers of the latter makes the former trivial. But it’s abstractions all the way down.

[danluu]’s observation is that we’re just now starting to curve back around and hit low latency again, but this time by brute force! Modern solutions to latency largely look like increasingly exotic display technologies and complex optimizations which reach from UI draw functions all the way down to the silicon, not removing software and system infrastructure. It turns out the benefits of software complexity in terms of user experience and ease of development are worth it most of the time.

For a very tangible illustration of latency as applied to touchscreen devices, check out the Microsoft Research video after the break (linked to in [danluu]’s piece).

Continue reading “Faster Computers Lead To Slower Experiences?”

The Joy Of Properly Designed Embedded Systems

The ages-old dream of home automation has never been nearer to reality. Creating an Internet of Things device or even a building-wide collection of networked embedded devices is “easy” thanks to cheap building blocks like the ESP8266 WiFi-enabled microcontroller. Yet for any sizable project, it really helps to have a plan before getting started. But even more importantly, if your plan is subject to change as you work along, it is important to plan for flexibility. Practically, this is going to mean expansion headers and over-the-air (OTA) firmware upgrades are a must.

I’d like to illustrate this using a project I got involved in a few years ago, called BMaC, which grew in complexity and scope practically every month. This had us scrambling to keep up with the changes, while teaching us valuable lessons about how to save time and money by having an adaptable system architecture.

Continue reading “The Joy Of Properly Designed Embedded Systems”

Octavo Systems Shows Off With Deadbug Linux Computer

Once upon a time, small Linux-capable single board computers were novelties, but not anymore. Today we have a wide selection of them, many built around modules we could buy for our own projects. Some of the chipset suppliers behind these boards compete on cost, others find a niche to differentiate their product. Octavo Systems is one of the latter offering system-in-package (SiP) modules that are specifically designed for easy integration. They described how simple it would be to build a minimal computer using their SC335x C-SiP, and to drive the point home they brought a deadbug implementation to Embedded World 2019. [Short video after the break.]

Most of us encounter Octavo modules as the heart of a BeagleBoard. Their increasing integration made tiny wonders like PocketBeagle possible. But bringing out all those pins for use still required a four-layer circuit board. Octavo’s pitch for hardware professionals center around how easy integration saves time for faster time to market, and fortunately for us easy integration also translates to a more accessible device for our projects. It’s one thing to publish a document describing a hypothetical single-layer PCB for an Octavo module, it’s quite something else to show that concept in action with no PCB at all.

Of course, this little machine only has access to a fraction of the module’s functionality, and it is certainly overkill if the objective is just to blink a few LEDs. If so, we’d just use 555 timers! But it does show how simple a bare bones “Hello World” machine can be built, removing intimidation factor and invite more people to come play.

One of the three top winners in our circuit sculpture contest was a wireframe Z80 computer. There’s quite a jump from a Z80 to an Octavo SC335x, but we’ve already seen one effort by [Zach] over Supercon 2018 weekend to build a deadbug computer with an Octavo module. It won’t be long before someone one-ups this minimalist LED blinker with something more sophisticated and we can’t wait to see it. Continue reading “Octavo Systems Shows Off With Deadbug Linux Computer”