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”

Ask Hackaday: Can We Get Someone To Buy And Destroy RAM?

We like blinky things. We’re moths drawn to the flame of serially-addressable RGB LEDs. If the LEDs are smaller, we want to know. If you can drive more of them, we want to know. That said, the most interesting news out of CES last January was both right up our alley, and immensely disappointing. Corsair, makers of RGB computer fans, RGB CPU coolers, and RGB keyboards and mice, have a new product out: RGB RAM, because professional gamers and streamers have a higher win percentage when their RAM is illuminated.

The key innovation of the new Corsair Dominator Platinum RGB DDR4 DRAM is called, ‘Capellix LEDs’. The press surrounding these LEDs gives a clear advantage: right now, the RGB LEDs in your gaming system are mounted in a large SMD package, like a WS2812 or APA101. These large packages reduce LED density, and making LEDs smaller means moar RGB — more colors, or brighter colors, or better efficiency. The key advancement in Capellix LEDs is taking the guts of a serially addressable RGB LED and putting it in a smaller package. Instead of a package that’s 2.8mm³ in volume, the Capellix LED is ‘just 0.2mm³ in size’. The few pictures available of these LEDs give the impression they’re about the size of an 0805 package. It’s small, and we’d like to get our hands on some.

Where these LEDs come from is anyone’s guess, but Corsair did partner with Primax, a Taiwanese manufacturer of computer peripherals, to pull this off. There is no mention of Capellix LEDs in Primax’s press releases, and we don’t actually know if these are the smallest serially addressable RGB LEDs available; we don’t even know if they’re serially addressable. There could easily be a small microcontroller in the Corsair Dominator Platinum RGB DDR4 DRAM, as each stick is only driving twelve individually controllable RGB LEDs.

The bottom line is, someone needs to spend $160 for 16GB of RAM, then tear the whole thing apart, preferably with close-up pics of the fancy new RGB LEDs.

A cynical reader would say that Capellix LEDs are simply existing LEDs, the name ‘Capellix’ was trademarked by Corsair, and these LEDs were shoved into a stick of RAM with a significant markup. This, surprisingly, is demonstrably wrong because there is no entry for ‘Capellix’ in the United States Patent and Trademark Office Trademark Electronic Search System. That doesn’t mean the spirit of the cynic is wrong, though; ROHM semiconductors just released a new side-view RGB LED that might be smaller than Corsair’s Capellix LEDs. There are, of course, RGB LEDs available in similar sizes, but none of these are serially-addressable like a WS2812 or APA101. We don’t know what’s in these fancy sticks of RAM, but we’re waiting for someone to do a tear down so we can find out.