A black OLED screen with a happy face displayed upon it is situated at the top of a squarish calculator with a 5x6 grid of white calculator keys. It floats above a graphing calculator, Nintendo Switch, aigo numpad, and an Arduino Mega on a white table. A handful of differently-colored kalih choc switches are in various places around the table.

Mechanical Switch Sci-Calc Is Also A Macropad

Smartphones have replaced a desktop calculator for most folks these days, but sometimes that tactility is just what you need to get the mathematical juices flowing. Why not spruce up the scientific calculator of yore with the wonders of modern microcontrollers?

While you won’t be able to use Sci-Calc on a standardized test, this classy calculator will let you do some pretty cool things while clacking on its mechanical choc switches. Is it a calculator? Obviously. Is it an Arduboy-compatible device that can play simple games like your TI-84? Yes. Is it also a macropad and ESP32 dev board? Why not? If that isn’t enough, it’s also takes both standard and RPN inputs.

[Shao Duan] has really made this device clean and the menu system that rewrites main.bin based on the program selection is very clever. Escape writes main.bin back into the ROM from the SD card so you can select another application. A few classic games have already been ported, and the process looks fairly straightforward for any of your own favorites.

If you’re hankering for more mathy inputs, checkout the Mathboard or the MCM/70 from 1974.

Continue reading “Mechanical Switch Sci-Calc Is Also A Macropad”

A Mobius keyboard surrounded by the parts to make a Mobius keyboard.

Mobius Keyboard Wastes Little Space

What is with all the wasted space on keyboards? There’s a whole back side just sitting there doing nothing. But how can you use the back at the same time as the front?

How to properly wire the boards together.
All the board sandwiches must be wired together like this, natch.

Just when we think Google Japan can’t possibly produce another weird, amazing keyboard that actually works and comes with full documentation, they go and outdo themselves with this ortholinear Mobius thing that wastes (almost) no space. (Japanese, translated) Be sure to check out the video after the break where hilarity ensues.

This crazy thing is made up of 26 modules, each with 8 key switches, four on a side. Do the math — that’s a total of 208 keys! More than enough to stretch out around the table and do some group programming without rubbing elbows. All the switches are hot-swappable, and there’s even RGB backlighting. The controller here is the STM32F042F4P6.

So what are all the extra keys for? Well, the keyboard is half in Japanese and half QWERTY, and has a set of emoji keys as well for the full programming experience. You can also make a paper version if you want to test out the topology.

Be sure to check out the documentation, because it’s pretty interesting how this keyboard is put together. And no, we’re not sure how to set it down and use it without accidental key presses. Suppose that’s part of the charm?

Have you ever wondered what happened to all the Japanese computers of yore? We did.

Continue reading “Mobius Keyboard Wastes Little Space”

Reverse Engineering A Keyboard Driver Uncovers A Self-Destruct Code

Should you be able to brick a keyboard just by writing a driver to flash the lights on it? We don’t think so either. [TheNotary] got quite the shock when embarking on a seemingly straightforward project to learn C++ on the x86-64 architecture with Windows and sent it straight to Silicon Heaven with only a few seemingly innocent USB packets.

The project was a custom driver for the XVX S-K80 mechanical keyboard, aiming to flash LED patterns across the key LEDs and perhaps send custom images to the integrated LCD. When doing this sort of work, the first thing you need is the documentation of the communications protocols. Obviously, this was not an option with a closed-source project, so the next best thing is to spy on the existing Windows drivers and see how they worked. Using Wireshark to monitor the USB traffic whilst twiddling with the colour settings, it was clear that communications were purely over HID messages, simplifying subsequent analysis. Next, they used x32dbg (now x64dbg, but whatever) to attach to the existing driver process and trap a few interesting Windows system calls. After reading around the Windows API, a few candidate functions were identified and trapped. This gave them enough information to begin writing code to reproduce this behaviour. Then things got a bit odd.

Continue reading “Reverse Engineering A Keyboard Driver Uncovers A Self-Destruct Code”

A very tiny keyboard with RGB backlighting.

Tiny Custom Keyboard Gets RGB

Full-size keyboards are great for actually typing on and using for day-to-day interfacing duties. They’re less good for impressing the Internet. If you really want to show off, you gotta go really big — or really small. [juskim] went the latter route, and added RGB to boot!

This was [juskim]’s attempt to produce the world’s smallest keyboard. We can’t guarantee that, but it’s certainly very small. You could readily clasp it within a closed fist. It uses a cut down 60% key layout, but it’s still well-featured, including numbers, letters, function keys, and even +,-, and =. The build uses tiny tactile switches that are SMD mounted on a custom PCB. An ATmega32U4 is used as the microcontroller running the show, which speaks USB to act as a standard human interface device (HID). The keycaps and case are tiny 3D printed items, with six RGB LEDs installed inside for the proper gamer aesthetic. The total keyboard measures 66 mm x 21 mm.

Don’t expect to type fast on this thing. [juskim] only managed 14 words per minute. If you want to be productive, consider a more traditional design.

Continue reading “Tiny Custom Keyboard Gets RGB”

Tiny Trackpad Fits On Ergonomic Keyboard

Cats are notorious for interrupting workflow. Whether it’s in the kitchen, the garden, or the computer, any feline companion around has a way of getting into mischief in an oftentimes disruptive way. [Robin] has two cats, and while they like to sit on his desk, they have a tendency to interrupt his mouse movements while he’s using his Apple trackpad. Rather than solve the impossible problem of preventing cats from accessing areas they shouldn’t, he set about building a customized tiny trackpad that integrates with his keyboard and minimizes the chance of cat interaction.

The keyboard [Robin] uses is a split ergonomic keyboard. While some keyboards like this might use a standard USB connection to join the two halves, the ZSA Voyager uses I2C instead and even breaks the I2C bus out with a pogo pin-compatible connector. [Robin] originally designed a 3D-printed integrated prototype based on a Cirque trackpad that would clip onto the right side of the keyboard and connect at this point using pogo pins, but after realizing that the pogo pin design would be too difficult for other DIYers to recreate eventually settled on tapping into the I2C bus on the keyboard’s connecting cable. This particular keyboard uses a TRRS connector to join the two halves, so getting access to I2C at this point was as simple as adding a splitter and plugging in the trackpad.

With this prototype finished, [Robin] has a small trackpad that seamlessly attaches to his ergonomic keyboard, communicates over a standard protocol, and avoids any unwanted cat-mouse action. There’s also a build guide if you have the same keyboard and want to try out this build. He does note that using a trackpad this small involves a bit of a learning curve and a larger-than-average amount of configuration, but after he got over those two speed bumps he hasn’t had any problems. If trackpads aren’t your style, though, with some effort you can put a TrackPoint style mouse in your custom mechanical keyboard instead.

Exploded view of a mini PC built into a keyboard.

Keyboard Contains Entire Mini PC, Just BYOD

When we talk about keyboards that do it all, we usually mean either big ones with lots of keys and doodads like rotary encoders and displays, or small ones with lots of layers (and usually a few doodads, too). But this — this is something else entirely. Chinese PC maker Linglong have crammed an entire mini PC into a keyboard that’s small enough to fit in your back pocket. Oh, and it folds, too. All you need is a display.

Why do you need a display? Why not include one, if you’re going to wedge everything else in there? Well, the company envisions its users pairing it with a VR or AR glasses. But we can see use cases far beyond ownership of special spectacles, of course.

For instance, office work. Linglong says this key-puter (you read it here first) will last up to ten hours for light use, and nearly six hours for watching movies, but heavy use will have you down to four hours, which really isn’t that bad.

Spec-wise, it looks pretty good, with an AMD Ryzen 7 and either 16 or 32 GB of memory and a half- or full-terabyte hard drive. The whole thing is around 4 x 6″ (15 x 10cm), presumably in the folded orientation, and weighs less than two pounds (800 g). The projected cost is $400-500 depending on specs.

Unfortunately, this little key-puter isn’t available just yet. There are just 200 units available for Beta testing, and no, we don’t have one!

Main and thumbnail images via Linglong

Go Forth With This Portable Programmer

When choosing a low-level language, it’s hard to beat the efficiency of Forth while also maintaining some amount of readability. There are open source options for the language which makes it accessible, and it maintains its prevalence in astronomical and other embedded systems for its direct hardware control and streamlined use of limited resources even though the language started over 50 years ago. Unlike 50 years ago, though, you can now take your own self-contained Forth programmer on the go with you.

The small computer is built on a design that [Dennis] built a while back called my4TH which has its own dedicated 8-bit CPU and can store data in a 256 kB EEPROM chip. Everything else needed for the computer is built in as well but that original design didn’t include a few features that this one adds, most notably a small 40×4 character LCD and a keyboard. The build also adds a case to tie everything together, with ports on the back for I2C and power plus an RS232 port. An optional battery circuit lets the computer power up without an external power supply as well.

Continue reading “Go Forth With This Portable Programmer”