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”

Pulley System Makes Headphone Cables More Managable

It’s 2024. You’ve probably got one or more pairs of wireless headphones around the house. [Barnso] prefers wired headphones with a long cable, but he also decries the fact that it often gets tangled in his chair. The solution? A pulley system to make everything easier.

The concept is simple. [Barnso]’s system uses three pulleys. The headphone cable goes to the PC, and then runs over the first pulley. It then runs under a second pulley which is free to move, but weighted so that it naturally wants to fall down under gravity. The cable then comes back up over a third pulley, and then runs to the headphones on [Barnso]’s head. Basically, it’s a super simple cable retraction mechanism that keeps the long headphone cable organized and in one place.

It’s nice to see a simple mechanism that makes life easier, particularly one that solves a problem so many of us have faced in real life. The construction shown in the video is almost (intentionally?) maddeningly hacky but it does the job. If you prefer to go wireless, though, we can show you how to do that too.

Continue reading “Pulley System Makes Headphone Cables More Managable”

Easily Build This IMU Array Sandbox

These days we’re used to our devices containing an inertial measurement unit (IMU) that lets it know its position relative to the Earth. They’re mechanical devices at heart, and so they’re not infallible, with a few well-known failure modes — but we can try and help it. One way that’s getting some attention is to put many MEMS IMUs on a single PCB, connect it to an FPGA, then process their data all together to make for a more sensitive IMU or filter out drift. Want to join in? Here’s an open source implementation from [will127534].

With 32 individual ICM-42688-P SPI-connected IMUs and the beloved ICE40 chip at the center of the board, this PCB is a powerful platform to help you jump onto the new direction of the IMU research world. There’s example Verilog code that tests the board’s workings, and you can pair it with a Pi Pico running MicroPython to test out its raw capabilities. After that, the stage is yours.

The board is cheap to order online, easy to assemble yourself if you must, or have JLCPCB assemble it — just solder some capacitors on the backside afterwards. There’s a breakout, but it’s mostly for tests. This board is very much designed to be a module in a bigger system, [will] mentions that he’s building a geophone. Clever array-based hacks are en vogue, it would feel – here’s a LED array from [mitxela] that uses LEDs as sensors.

Man-in-the-Middle PCB Unlocks HP Ink Cartridges

It’s a well-known secret that inkjet ink is being kept at artificially high prices, which is why many opt to forego ‘genuine’ manufacturer cartridges and get third-party ones instead. Many of these third-party ones are so-called re-manufactured ones, where a third-party refills an empty OEM cartridge. This is increasingly being done due to digital rights management (DRM) reasons, with tracking chips added to each cartridge. These chip prohibit e.g. the manual refilling of empty cartridges with a syringe, but with the right tweak or attack can be bypassed, with [Jay Summet] showing off an interesting HP cartridge DRM bypass using a physical man-in-the-middle-attack.

This bypass takes the form of a flex PCB with contacts on both sides which align with those on the cartridge and those of the printer. What looks like a single IC in a QFN package is located on the cartridge side, with space for it created inside an apparently milled indentation in the cartridge’s plastic. This allows is to fit flush between the cartridge and HP inkjet printer, intercepting traffic and presumably telling the printer some sweet lies so that you can go on with that print job rather than dash out to the store to get some more overpriced Genuine HP-approved cartridges.

Not that HP isn’t aware or not ticked off about this, mind. Recently they threatened to brick HP printers that use third-party cartridges if detected, amidst vague handwaving about ‘hackers’ and ‘viruses’ and ‘protecting the users’ with their Dynamic Security DRM system. As the many lawsuits regarding this DRM system trickle their way through the legal system, it might be worth it to keep a monochrome laser printer standing by just in case the (HP) inkjet throws another vague error when all you want is to just print a text document.

Continue reading “Man-in-the-Middle PCB Unlocks HP Ink Cartridges”

Turn A Mouse Into An Analogue Tuning Knob

The software defined radio has opened up unimaginable uses of the radio spectrum for radio enthusiasts, but it’s fair to say that there’s one useful feature of an old-fashioned radio they lack when used via a computer. We’re talking of course about the tuning knob, because it represents possibly the most intuitive way to move across the bands. Never fear though, because [mircemk] has a solution. He’s converted a mouse into a tuning dial.

The scroll wheel on a mouse is nothing more than a rotary encoder, and can easily be used as a sort of tuning knob. Replacing it with a better encoder gives it a much better feel, so that’s what he’s done. An enclosure has the guts of a mouse, with the front-mounted encoder wired into where the scroll wheel would have been. The result, for a relatively small amount of work, is a tuning knob, and a peripheral we’re guessing could also have a lot of uses beyond software defined radio.

It’s not the first knob we’ve seen, for that you might want to start with the wonderfully named Tiny Knob, but it’s quite possibly one of the simplest to build. We like it.

The Statial-b Open Source Adjustable Mouse

Many of us are very heavy computer users, and two items that can affect our comfort and, by extension, our health are the keyboard and the mouse. We’ve covered many ergonomic and customisable keyboards over the years, but we are not sure we’ve covered a fully adjustable mouse until now. Here’s [Charlie Pyott] with their second take on an adjustable mouse, the open source, statial-b.

[Charlie] goes into an extensive discussion of the design process in the video after the break, which is a fascinating glimpse into the methods used by a professional industrial designer. The statial concept breaks the contact surfaces of the mouse into fixed and moveable sections. The moveable sections are attached to the mouse core via a pair of ball joints connected with extendible arms, allowing the surfaces to be adjusted for both position and orientation. The design process starts with 3D scanning their ‘workhorse mouse,’ a Razer Deathadder Elite. This creates a reference volume within which the statial body should fit in its minimal configuration.

So which mouse grip style are you into?

The design has a fixed central core, with each button (including the central scroller) separately adjustable. The side panel with a pair of thumb buttons is also moveable. Creating a model in Rhino 3D working with the grasshopper visual programming environment [Charlies] explored the surface constraints for the base, claw, finger and vertical grip styles common among mouse users. This model was then fed into Fusion 360 for the detailed design. After completing the design, it was passed back into Rhino 3D to add lattice effects to the panel. This helps reduce weight and lets the internal LEDs shine through. The design is intended for resin printing, so you could go wild with the visuals by missing custom resins if you were so inclined.

Continue reading “The Statial-b Open Source Adjustable Mouse”

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”