Conveyor Belt GBoard Brings The Keys To You

It must be April in October again, because Google Japan has a new, hilariously impractical reimagining of the keyboard: a conveyor belt. This time it’s on GitHub with firmware, STLs, and a full build guide if you, too, want to wait a full cycle to get the ‘backspace’ key whenever you make a typo, or to write such fun words as “ooid” or “princesship”.

You can watch it in action in the video embedded below, but just the photo probably gives you the idea: the four staggered rows of keys are each 3D-printed chains holding mechanical key switches, driven from a motor in the base. Each row also has a flexible PCB to keep everything wired together, though it’s unclear how those electrical impulses from the key presses get off the conveyor belt and into your computer. That part of the build guide is “TBD” and the source code doesn’t appear to be complete.

Those details may be forthcoming, or it might never be revealed because this is obviously a joke, but now that they’ve gone to the effort of providing STLs, we’re now invested in figuring out how to actually make it work. A BLE-equipped microcontroller in each belt? RFID tags on each key, with readers in the base? SMD LEDs on the flex PCB that flash out the ASCII code of each pressed key as they whiz past a sensor? In theory, any of those should work, but which should we use? You decide!

We like Google Japan and their weird keyboards, and we have to say that compared to the hat from a few years ago, this one is almost practical, though the rotary-phone one wins on style points. In some ways, it occurs to us that this is the exact inverse of the chain printers of yesteryear.

Thanks to [CityZen] for the tip! If October for you is more “spooky” than “silly”, we still want to know about it. Or if you build any of the Gboards. Either way, let us know on the tips line what you’re up to.

Continue reading “Conveyor Belt GBoard Brings The Keys To You” →

A Modular Macro Keypad

The introduction of the ATmega32U4 microcontroller, with its integrated USB controller, made a lot of hardware tasks much simpler than they were before. One of the arenas it revolutionized was custom keyboards, making it much easier to build not only standard mechanical keyboards, but keyboards of all kinds of shapes and layouts and custom macro keyboards as well. This trend has continued on for the better part of the past decade with other microcontrollers beyond the 32U4 now available as well, but this modular macro keypad takes it to a new level by keeping that simplicity but also keeping costs down.

The suutari20, as it is called by its creator [Squalius] is able to achieve these aims by using 3.5 mm jacks commonly found in audio equipment. Each jack can support up to three keys, with the hub ultimately able to support 18 different keys. Those can include analog devices as well, such as volume knobs or jog controllers. The macro pad is powered by an RP2040 microcontroller from a Raspberry Pi Pico and uses QMK firmware, so those already familiar with custom keyboard programming will have no problem getting started.

From there, all that’s needed is a case, in this example a 3D printed one, and the commodity audio hardware to plug everything in to. It enables whatever functions can be thought of in a macro pad, and although the design focuses on simplicity and cost, this macro pad takes the concept to the extreme with modular keys that each have their own microcontroller built-in.

Continue reading “A Modular Macro Keypad” →

A Split Keyboard Designed For Human Hands

A surprising number of things we use in everyday life retain most of their design cues from their 19th century ancestors. The bicycle retains the same basic design as it had in 1890, as does the sewing machine, the toilet, the car, and of course, the keyboard and the QWERTY layout from old typewriters. But we aren’t doomed to have our technology perpetually living in the past. [Paul] wanted a keyboard designed around human hands, rather than being designed around a machine, so he built this unique split keyboard.

The design of this specific keyboard went through around 50 iterations before he was comfortable with it. Other design goals here were for it to be portable, and the split nature of this certainly makes it more compact as does the use of low-profile switches. Each finger’s column is angled and spaced based on the needs of that finger, with the ring finger keys sitting higher and the index finger columns angled inward. Each thumb has access to three keys, one of which is the spacebar and the other two layer keys, which is what enables this design to get down to only 36 total keys.

When thinking about it for any length of time, the modern keyboard’s design holdovers from the 1800s are fairly wasteful compared to this split, ergonomic version. Especially when looking at the spacebar, which ties up both thumbs and only performs a single task, there’s a lot of opportunity for modern designs to be more efficient, more portable, and easier on one’s body. Feel free to take this to the extreme and use all three dimensions, as long as you aren’t particularly concerned with portability.

3D Printed Piano Action Faithful To The Original

A piano’s internal mechanism for translating a key press into sound is surprisingly complicated. It has to do a lot of things simultaneously and quickly: provide precise control over velocity, ensure the hammer doesn’t press itself against the strings,  ensure the hammer rebounds without accidentally hitting the strings, allow for quick, continued strikes of the strings, and dampen the string after the key is released. Not only is that a mouthful to say, it’s a tall order for a mechanical device and took (arguably) around 150 years for the idea to be refined into what most of us would recognize as a piano. But could [dovetail] do it with a 3D printer in a few weeks?

[dovetail]’s design relies on compliant mechanisms, which are solid parts that flex in specific and controlled ways to provide movement. The action took many iterations to make sure that all of the feelings of all the parts of a real piano action were accounted for in this model. Pianos have more than one key, though, so [dovetail] also had to design a modular system to piece all the keys together. The modularity extends to the piano’s electronics as well, with a set of PCBs daisy-chained together, each of which supports a set of keys. This is a hybrid piano, a style with a real action but digital sound production. Using infrared sensors allows the instrument to behave as a MIDI keyboard, but one with the goal of feeling somewhere between a digital piano and a fully analog one.

The piano was first demonstrated at Open Sauce, where a number of musicians were able to try it out. As a prototype device it still has a few rough edges that [dovetail] plans to improve upon, like changing the sensors from IR to hall effect, improving the action and using a different filament. There are some other things he has planned as well which we look forward to seeing in future videos. And, although a completely different instrument, it has a number of similarities to this action built to strike a bass drum instead.

Continue reading “3D Printed Piano Action Faithful To The Original” →

Your Laptop Keyboard, On Another Device

It’s likely many of us have been in the position of first set-up on a machine such as a Raspberry Pi, and had keyboard problems. Either no spare keyboard is to be found, or a cluttered desk has to find extra space for a full-size keyboard. [Þórarinn] and [Arni] have a handy solution: use the existing keyboard on your laptop.

His approach is both ingenious and simple, as it’s only the K part of a KVM. On the laptop end, it’s a serial terminal, without the receiving side. The serial port in question is an RP2040 board which implements a USB-to-serial port. This serial connection goes to another RP2040, which does the ingenious bit. It’s a serial-to-USB HID keyboard. All of this means that keystrokes on the laptop are sent down the serial connection, and appear on the Pi or whatever computer as a USB keyboard as though typed locally. The mildly annoying first set-up can be done, and then it can be run via SSH or whatever other remote access protocol as normal. The code is provided, so anyone with a couple of RP2040 boards can do it.

We like this hack, because we’ve had the annoyance of needing a keyboard to set up what would otherwise be a completely headless machine too many times. It’s one to store away at the back of your mind, for those rare improvisational need-an-extra-keyboard moments.

Thanks [Henk] for the tip.

A Keyboard With No Keys

For as capable as smartphone hardware is, the software running on them can be especially restrictive and cumbersome. Unlike a single-board computer with GPIO running a standard Linux operating system and some intuitive programming language like Python, smartphones are generally walled gardens where programming major overhead, and if a custom program can be run on them at all the user still has to figure out how to interface hardware with a USB-C port. To skip past all of this, [nicolas.ma] built an audio modem that can send keyboard input to a computer with nothing more than a browser.

The “keyboard” starts off in a browser running on a standard smartphone. A user can input text into the browser, which then gets converted into a series of audible audio pulses that can be sent to the keyboard. The keyboard itself listens to those pulses, decodes them, and then sends the text through to the computer as a standard USB device thanks to an Arduino Micro at the center. Arduino Micros are excellent choices for keyboard controllers because they have a built-in USB chip.

The protocol used here is designed and built by [nicolas.ma] as well. The words allow for variable length, with the device determining message length, and a word-ending scheme that automatically sends the message to memory when it’s detected that the message is finished. There’s also integrity checking and the ability to check on the link’s state. From hardware to software it’s an impressive build, and for anyone wondering what this might be used for [nicolas.ma] has already built a password manager from it.  Continue reading “A Keyboard With No Keys” →

Keyboard Lights As An Airgap Attack Vector

What do you do when you need to get data into an airgapped machine? Well, you might find yourself limited to basic input devices to interact with the computer in question. As [Nikolay Valentinovich Repnitskiy] demonstrates, though, you can do some fun stuff amidst such limitations.

[Nikolay] created what he calls a “unidirectional network” connection via a keyboard. Specifically, he took two Dell SK-8115 keyboards, and stripped them down to their controller PCBs. On one, he soldered photoresistors to a couple of the keyboard matrix pins, such that they’d fire a keypress when lit up. He then placed the other keyboard PCB such that the Num Lock and Caps Lock LEDs are lined up with the photoresistors. This made it possible to have one PC flash the keyboard LEDs in order to “type” on the other machine. This can be used to move data on to it, such as a little program which [Nikolay] prepared which can be made executable and used to further break into the machine and make it easier to pull data across more efficiently in future.

We looked at an earlier version of this hack some time ago. If you’ve been imagining creative ways to talk to airgapped computers, be sure to let us know on the tipsline!