Reverse Engineering The NeXT Computer Keyboard Protocol

The NeXT computer was introduced in 1988, with the high-end machine finding favor with universities and financial institutions during its short time in the marketplace. [Spencer Nelson] came across a keyboard from one of these machines, and with little experience, set about figuring out how it worked.

The keyboard features a type of DIN connector and speaks a non-ADB protocol to the machine, but [Spencer] wanted to get it speaking USB for use with modern computers. First attempts at using pre-baked software found online to get the keyboard working proved to be unreliable. [Spencer] suspected that the code, designed to read 50 microsecond pulses from the keyboard, was miscalibrated.

Some analysis with an oscilloscope and logic analyzer allowed [Spencer] to figure out the keyboard was communicating with pulses ever 52.74 microseconds, corresponding to a frequency of 18.960 kHz, sending two 9-bit messages at a time. Disassembling the keyboard confirmed these findings – inside was a 455 kHz clock, with the keyboard sending a signal every 24 ticks producing the 18.960 kHz output.

Reworking the initial code found online to work with the actual pulse widths coming from the keyboard got everything humming along nicely. Now, [Spencer] has a nice vintage keyboard with excellent feel that reliably works with modern hardware. We’d call that a win.

If you need more of a fix, be sure to dive into Keebin’ with Kristina, a regular column all about our favorite tactile input devices!

Setup Menu Uses Text Editor Hack

Many embedded devices that require a setup menu will use a USB serial port which you connect to your favorite terminal emulator. But we recently encountered a generic USB knob that did setup using a text editor, like Notepad or even Vim (although that was a bit ugly). A company called iWit makes several kinds of USB knobs which end up in many such products.

These generic USB knobs are normally just plug-and-play, and are used to control your PC’s volume and muting. Some models, like the iWit, the user can configure the mapping within the device. For example, knob rotation can be set to generate up and down arrow keys, and knob press could be ENTER. One could do this kind of mapping on the PC, but many of these USB knobs can do it for you. The crux of the setup is this menu (which you can see in action in the first 30 seconds of the video below).

Continue reading “Setup Menu Uses Text Editor Hack”

A DIY CAD Mouse You Can Actually Build

When you spend a lot of time on the computer doing certain more specialised tasks (no, we’re not talking about browsing cat memes on twitter) you start to think that your basic trackpad or mouse is, let’s say, lacking a certain something. We think that something may be called ‘usability’ or maybe ease-of-use? Any which way, lots of heavy CAD users gush over their favourite mouse stand-ins, and one particularly interesting class of input devices is the Space Mouse, which is essentially patented up-to-the-hilt and available only from 3DConnexion. But what about open source alternatives you can build yourselves? Enter stage left, the Orbion created by [FaqT0tum.] This simple little build combines an analog joystick with a rotary knob, with a rear button and OLED display on the front completing the user interface.

The idea is pretty straightforward; you setup the firmware with the application you want to use it with, and it emits HID events to the connected PC, replacing the mouse or keyboard input. Since your machine will take input from multiple sources, it doesn’t replace your mouse, it augments it. It may not be very accurate for detailed PCB layout work, but for moving around in a 3D view, or dialling in a video edit, this could be a very useful addition to your workstation, so why not give it a try? The wiring is simple, the parts easily found and cheap, and it’s only a few printed parts! This scribe is already printing the plastics right now, if you listen carefully you might be able to make out the sound of the Lulzbot in background.

There are many other takes on this idea, with varying levels of complexity, like this incredible build from [Ahmsville] that sadly doesn’t make the PCBs available openly, and here’s one we covered earlier mashing the expensive 3DConnexion spacemouse into a keeb.

Continue reading “A DIY CAD Mouse You Can Actually Build”

Illustrated Kristina with an IBM Model M keyboard floating between her hands.

Keebin’ With Kristina: The One With The Tri-lingual Typewriter

Isn’t it just fantastic when a project finally does what you wanted it to do in the first place? [Simon Merrett] isn’t willing to compromise when it comes to the Aerodox. His original vision for the keyboard was a wireless, ergonomic split that could easily switch between a couple of PCs. Whereas some people are more into making layout after layout, [Simon] keeps pushing forward with this same design, which is sort of a mashup between the ErgoDox and the Redox, which is itself a wireless version of the ErgoDox.

The Aerodox has three nRF51822 modules — one for the halves to communicate, one for the control half to send key presses, and a third on the receiver side. [Simon] was using two AA cells to power each one, and was having trouble with the range back to the PC.

The NRFs want 3.3 V, but will allegedly settle for 2 V when times are hard. [Simon] added a boost converter to give each a solid 3.3 V, and the Aerodox became reliable enough to be [Simon]’s daily driver. But let’s go back to the as-yet-unrealized potential part.

Continue reading “Keebin’ With Kristina: The One With The Tri-lingual Typewriter”

The threeboard simulator running

Threeboard: Short On Keys, Long On Documentation

As peripherals go, few are hacked on more than keyboards. The layouts, the shapes, the sizes, materials, and even the question of what a keyboard is are all on the table for tinkering. In that vein, [TaylorConor] released his simplified keyboard called the threeboard on GitHub, having only three keys and replicating a full keyboard.

We’ve covered keyboards built with chording in mind, wrapped around coffee cups, and keyboards with joysticks for added speed. So why cover this one? What makes it different? The execution is superb and is a great example to look at next time you’re making a project you want to show off. The keyboard is just three mechanical switches, two 8-bit binary displays (16 LEDs total), three status LEDs, and three LEDs showing the current layer (four layers). The detailed user’s manual explains it all. There is a reliable Atmega32U4 microcontroller and two EEPROM chips at its heart.

Where this project shows off is the testing. It has unit tests, simulated integration tests, and simulated property tests. Since all the code is in C++, unit testing is relatively straightforward. The integration and property tests are via a simulator. Rather than recompiling the code with some new flags, he uses the simavr AVR simulator, which means it simulates the same binary file that gets flashed onto the microcontroller. This approach means the design is tested and debugged via GDB. It’s an incredible technique we’d love to see more of in hobby projects. Marketing speak might call this a “digital twin” but the idea is that you have a virtual version that’s easier to work on and has a tighter iteration loop while being as close as possible to the physical version.

[TaylorConor’s] goal was to create a from-scratch microcontroller project with easy-to-read code, fantastic documentation, and best practices. We think he nailed it. So feel free to run the simulator or jump right into building one for yourself. All the hardware is under a CERN-OHL-P license, and the firmware is under GPLv3.

3D Printed Magnetic Switches Promise Truly Custom Keyboards

While most people are happy to type away at whatever keyboard their machine came with, for the keyboard enthusiast, there’s no stone to be left unturned in the quest for the perfect key switch mechanism. Enter [Riskable], with an innovative design for a 3D printed mechanism that delivers near-infinite adjustment without the use of springs or metallic contacts.

The switching itself is performed by a Hall effect sensor, the specifics of which are detailed in a second repository. The primary project simply represents the printed components and magnets which make up the switch mechanism. Each switch uses three 4 x 2 mm magnets, a static one mounted on the switch housing and two on the switch’s moving slider. One is mounted below the static magnet oriented to attract it, while the other is above and repels it.

With this arrangement the lower magnet provides the required tactility, while the upper one’s repulsive force replaces the spring used in a traditional mechanism. [Riskable] calls it the magnetic separation contactless key switch, but we think “revolutionary” has a nicer ring to it.

The part which makes this extra-special is that it’s a fully parametric OpenSCAD model in which the separation of the magnets is customisable, so the builder has full control of both the tactility and return force of the keys. There’s a video review we’ve posted below that demonstrates this with a test keypad showing a range of tactility settings.

We have a resident keyboard expert here at Hackaday in the shape of our colleague [Kristina Panos], whose Keebin’ With Kristina series has introduced us to all that is interesting in the world of textual input. She plans on taking a keyboard made of these clever switches on a test drive, once she’s extruded the prerequisite number of little fiddly bits.

Continue reading “3D Printed Magnetic Switches Promise Truly Custom Keyboards”

Canon Temporarily Abandons Smart Ink Cartridges

An unexpected side effect of the global semiconductor shortage came to light this week — Japanese printer manufacturer Canon announced they are temporarily going to provide consumable ink and toner cartridges without microchips. Furthermore, they provided instructions for consumers on how to bypass the printer’s logic, allowing it to function even when it incorrectly thinks the ink or toner is low. Included in the announcement (German), the company stated what most people already knew:

There is no negative impact on print quality when using consumables without electronic components.

It’s well known that many printer companies make their profit on the consumable cartridges rather than the printers themselves. And most printers require consumers to only use factory original cartridges, a policy enforced by embedded security ICs. Use a third-party ink cartridge and your printer will likely refuse to print. There are legitimate concerns about poor quality inks damaging the print heads. But with reports like this 2003 one from the BBC noting that 17% to 38% additional good quality pages can be printed after the consumable is declared “empty”, and that the price per milliliter of inks is seven times the cost of vintage champagne, one can reasonably conclude that these DRM-protected consumables are more about on ensuring profits than protecting the hardware.

For now, this announcement applies to German customers, and covers the Canon imageRunner family of multi-function printers (the complete list is in the company announcement above).