Teensy Liberates the ThinkPad Keyboard

[Frank Adams] liked the keyboard on his Lenovo ThinkPad T61 so much that he decided to design an adapter so he could use it over USB with the Teensy microcontroller. He got the Trackpoint working, and along the way managed to add support for a number of other laptop boards as well. Before you know it, he had a full-blown open source project on his hands. Those projects can sneak up on you when you least expect it…

The first step of the process is getting your laptop keyboard of choice connected up to the Teensy, but as you might expect, that’s often easier said than done. They generally use a flexible printed circuit (FPC) “ribbon cable” of some type, but may also be terminated in any number of weirdo connectors. [Frank] goes over the finer points of getting these various keyboards connected to his PCB, from searching the usual suspects such as Aliexpress and Digikey for the proper connector to throwing caution to the wind and cutting off problematic nubs and tabs to make it fit.

You might be on your own for figuring out the best way to connect your liberated keyboard up, but [Frank] has done his part by designing a few PCBs which handle routing the appropriate connections to the Teensy LC or 3.2 microcontroller. He’s such a swell guy he’s even written the firmware for you. As of right now there’s currently a dozen keyboards supported by his software and hardware setup, but he also gives tips on how to get the firmware modified for your own board if you need to.

It should come as no surprise that it was a Thinkpad keyboard that got [Frank] going down this path; as we’ve documented over the years, hackers love their Thinkpads. From fitting them with more modern motherboards to going full on matryoshka and putting a second computer inside of one, it’s truly the laptop that launched a thousand hacks.

Continue reading “Teensy Liberates the ThinkPad Keyboard”

A Fleet of Pressure Washers Powers This Interactive Public Fountain

Public art installations can be cool. Adding in audience interactivity bumps up the coolness factor a bit. Throw civic pride, dancing jets of water, music, and lights into the project, and you get this very cool pressure washer powered musical fountain.

The exhibit that [Niklas Roy] came up with is called Wasserorgel, or “water organ”, an apt name for the creation. Built as part of a celebration of industry in Germany, the display was built in the small town of Winnenden, home to Kärcher, a cleaning equipment company best known for their line of pressure washers in the distinctive yellow cases. Eight of the company’s electric pressure washers were featured in the Wasserorgel, which shot streams of water and played notes in response to passersby tickling the sturdy and waterproof 3D-printed keyboard. The show was managed by an Arduino with a MIDI shield, which controlled the pressure washers via solid state relays and even accepted input from an anemometer to shut down the show if it got too windy, lest the nearby [Frau Dimitrakudi] be dampened.

The video below shows how engaging the Wasserorgel was during its weeks-long run in the town market square; there’s also one in German with build details. And while we can’t recall seeing pressure washers in public art before, we do remember one being used as the basis of a DIY water-jet cutter.

Continue reading “A Fleet of Pressure Washers Powers This Interactive Public Fountain”

What’s the Cheapest Way to Scan Lots of Buttons?

So you’re building a new mechanical keyboard. Or attaching a few buttons to a Raspberry Pi. Or making the biggest MIDI grid controller the world has ever know. Great! The first and most important engineering question is; how do you read all those buttons? A few buttons on a ‘Pi can probably be directly connected, one for one, to GPIO pins. A mechanical keyboard is going to require a few more pins and probably some sort of matrix scanner. But the grid controller is less clear. Maybe external I/O expanders or a even bigger matrix? Does it still need diodes at each button? To help answer these questions the folks at [openmusiclabs] generated a frankly astounding map which shows, given the number of inputs to scan and pins available, which topology makes sense and roughly how much might it cost. And to top it off they link into very readable descriptions of how each might be accomplished. The data may have been gathered in 2011 but none of the fundamentals here have changed.

How do you read this chart? The X axis is the number of free pins on your controller and the Y is the number of I/Os to scan. So looking at the yellow band across the top, if you need to scan one input it always makes the most sense to directly use a single pin (pretty intuitive, right?). Scrolling down, if you need to read 110 inputs but the micro only has eight pins free there are a couple choices, keys E and F. Checking the legend at the top E is “Parallel out shift register muxed with uC” and F is “Parallel in shift register muxed with uC“. What do those mean? Checking the table in the original post or following the link takes us to a handy descriptive page. It looks like a “parallel out shift register” refers to using a shift register to drive one side of the scan matrix, and “parallel in shift register” refers to the opposite.

Continue reading “What’s the Cheapest Way to Scan Lots of Buttons?”

Adding Analog Touch To (Nearly) Any Mechanical Keyboard

The new hotness for DIY electronics is mechanical keyboards, and over the past few years we’ve seen some amazing innovations. This one is something different. It adds an analog sensor to nearly any mechanical key switch, does it with a minimal number of parts, and doesn’t require any modification of the switch itself. It’s a reddit thread and imgur post, but the idea is just so good we can overlook the documentation on this one.

The key development behind this type of sensor is realizing that nearly every mechanical keyswitch (Cherry MX, Kalth, Gateron) has a spring in the bottom. A spring is just a coil of wire, and an inductor is just a coil of wire, too. By putting a spiral trace on the PCB of a mechanical keyboard underneath the keyswitch, you can sense the inductance of this spring. This does require a little bit of additional hardware, in this case an LDC1614 inductance to digital converter, but this is an I2C-readable part that can, theoretically, be integrated rather easily with any mechanical keyboard PCB and firmware.

The downside to using the LDC1614 is that sampling is somewhat time-limited, with four channels or individual keys being polled at 500 Hz. This isn’t a problem if the use-case is adding analog to your WASD keys, but it may become a problem for an entire keyboard. Additionally, the LDC1614 is a slightly expensive part, at about $2 USD in quantity 1000. A fully analog keyboard using this technique is going to be pricey.

Right now, the proof-of-concept for this analog mechanical keyswitch is just a 0.1 mm flexible PCB that is shoehorned inbetween a Cherry MX red and a (normal) mechanical keyboard PCB. The next step in the development will be a 2×4 keypad with analog sensors, and opening up the hardware and firmware examples up under a GPL license.

This Keyboard And Mouse Also Gives You A Workout

The Ergonomic Handheld Mouse / Keyboard Alternative from [Shervin Emami] is an all-in-one solution for your keyboarding and cursor moving needs.

The core of this build is a ‘grip-strengthening’ device that’s sold to guitarists. While the actual benefit of these devices for guitarists is questionable — there are a few anecdotes any music teacher will tell you about classical pianists ruining their hands with similar devices — the device itself can be converted into a fantastic chording keyboard. All you really need for a full-functioned keyboard is a few buttons in a rugged shell, and this ‘grip strengthener’ has that going in spades.

Underneath the plungers for each button [Shervin] installed a magnet and a magnetic sensor, meaning these buttons are analog, and shouldn’t wear out ever. With just a little bit of code on a Tiny BLE board these analog sensors can become a keyboard, a quadcopter controller, an interface for your VR setup, or anything else that can be controlled with a bunch of buttons.

Not to outdo himself, [Shervin] also managed to add some cursor control functionality to this build. This is done via the IMU onboard the Tiny BLE board, and by all accounts it works great.  You can check out a video of this build pretending it’s both a keyboard and a mouse below.

Continue reading “This Keyboard And Mouse Also Gives You A Workout”

Modular Keyboards For CAD, Gaming, And Video Editing

Of all the input devices, the keyboard is the greatest. This comes at a cost, though: there were times back in the Before Days, when video and music editing applications came with custom keyboards. There were Pro Tools keyboards, Final Cut keyboards, and innumerable Adobe keyboards. What’s the solution to this problem? More keyboards, obviously, and this time we’ll make them modular.

For his Hackaday Prize entry, [Cole B] is building modular, programmable USB keyboards. It’s got everything: a standard 3×3 keypad, a keyboard that’s just four potentiometers, a keyboard that’s a rotary encoder, and a keyboard that’s a set of faders.

The design of these keyboards is inherently modular, and that means there needs to be a way to connect all these modules together, preferably without a bunch of USB cables strewn about. Right now, the best idea [Cole] is working with is pogo pins and magnets. It’s a great idea although Apple Thinks Differently™ and probably wouldn’t be too keen on seeing the whole ‘magnets and pins’ idea stolen out from under them.

Nevertheless, it’s an excellent project that shows how far you can go with manufacturing on a limited budget. These are fantastic keyboard modules already, and the connector scheme already pushes this project into the upper echelon of keyboard hacks.

A Custom Keyboard At Maximum Effort

No one loves hacked keyboards more than Hackaday. We spend most of our workday pressing different combinations of the same 104 buttons. Investing time in that tool is time well spent. [Max] feels the same and wants some personality in his input device.

In the first of three videos, he steps us through the design and materials, starting with a layer to hold the keys. FR4 is the layer of fiberglass substrate used for most circuit boards. Protoboards with no copper are just bare FR4 with holes. Homemade CNC machines can glide through FR4, achieving clean lines, and the material comes in different mask colors so customizing an already custom piece is simple. We see a couple of useful online tools for making a homemade keyboard throughout the videos. The first is a keypad layout tool which allows you to start with popular configurations and tweak them to suit your weirdest desires. Missing finger? Forget one key column. Extra digit? Add a new key column. Huge hands? More spaces between the keys. [Max] copied the Iris keyboard design but named his Arke, after the fraternal sister to Iris which is fitting since his wrist rests are removable. Continue reading “A Custom Keyboard At Maximum Effort”