A Clear Guide For A Low-Profile Bespoke Keyboard

At the risk of stepping on our fantastic Keebin with Kristina series, a beautiful tutorial by [Ben Vallack] details how to create a custom low-profile keyboard in great detail.

We’ve covered complete guides to building your own and projects making custom rubber dome keyboards. In addition, several subreddits exist around custom keyboard builds and dozens of websites are dedicated to selling parts. So why add not add one more guide, especially on as well done as [Ben’s]?

[Ben] focuses on the high-level tooling and the methodology of laying out a keyboard and how it all comes together. It all starts with determining your specific hand shape and layout with Ergopad. With that shape taken care of, you can move onto Ergogen, which allows you to take the layout you have in mind and generate a KiCAD board layout that just needs to be routed. Flippable boards, various footprints for switches, and connecting up different microcontrollers are all supported.

Once you have your PCB in hand, [Ben] walks you through soldering the sockets on the back and setting up your board firmware in ZMK with Github Actions. It’s a slick guide with a nifty product at the end. Video after the break.

Continue reading “A Clear Guide For A Low-Profile Bespoke Keyboard”

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

Keebin’ With Kristina: The One With The Really Tall Keycaps

About a month ago, [Unexpected Maker] finished their TinyS3, an ESP32-S3 development board. Since the chip supports both true USB and Bluetooth, [deʃhipu] wondered how well it would work in a keyboard.

Thus, the Vegemite Sandwich was made, perhaps while [deʃhipu] was dreaming of traveling in a fried-out Kombi. But really, it was named so because [Unexpected Maker] hails from Australia.

This is [deʃhipu]’s first time using switch sockets, which is (as far as we know) the only choice when it comes to hot-swappable Kailh chocs. We’ll be watching this one with hungry eyes.

Continue reading “Keebin’ With Kristina: The One With The Really Tall Keycaps”

Haptic Smart Knob Does Several Jobs

A knob is a knob, a switch is a switch, and that’s that, right? And what about those knobs that have detents, set in stone at the time of manufacturing? Oh, and those knobs that let you jog left to right and then snap back to center — that can’t be modified…right? Well, you likely know where this is going, and in the video below the break, [scottbez1] shows off a new open source haptic input knob that can be all of these things with just some configuration changes!

The list of possibilities is long: virtual snap points, virtual spring loading, virtual detents, virtual end points. It’s a virtual smörgåsbord of configuration options that make this haptic smart knob a one stop shop for all of your knob needs. This is all possible because the knob contains a high resolution magnetic encoder chip that has a single degree resolution. The sensor is coupled, through software, to a brushless DC motor. The round LCD gives visual feedback as well.

As [Myself] on the Hackaday Discord channel noted, having configurable spacing and strength for detents, springs, and stops, is nothing short of incredible. Being able to reconfigure the knob at-will means that it can become context sensitive. It’s wonderfully unique and it’s open source, so you can make your own with the information available at GitHub.

And according to its creator, the only thing the Haptic Smart Knob can’t do is do your taxes or blend your margarita. Well, it’s open source, so perhaps some of our more enterprising readers can submit just the right pull request.

This isn’t Hackaday’s first Motorized Volume Knob feature, but it might be one of the neatest we have seen so far. Thanks to [mattvenn] on the Hackaday Discord server for the great tip!

Continue reading “Haptic Smart Knob Does Several Jobs”

Top side of the VL670 breakout board, with two USB connectors and the VL670 chip in the center.

A Chip To Bridge The USB 2 – USB 3 Divide

On Twitter, [whitequark] has  found and highlighted an intriguing design – a breakout board for the VL670, accompanied by an extensive yet very easy to digest write-up about its usefulness and inner workings. The VL670 is a chip that addresses a surprising problem – converting USB 2.0 signals into USB 3.0.

If you have a USB 2.0 device and a host with only USB 3.0 signals available, this chip is for you. It might be puzzling – why is this even needed? It’s about the little-known dark secret of USB3, that anyone can deduce if they ever have to deal with a 9-pin USB 3.0 connector where one of the three differential pairs doesn’t quite make contact.

When you see a blue “3.0” port, it’s actually USB 2 and USB 3 — two separate interfaces joined into a single connector. USB 3 uses two single-directional differential pairs, akin to PCI-E, whereas USB 2 uses a single bidirectional one, and the two interfaces on a blue connector operate basically independently of each other. There’s many implications to this that are counterintuitive if you simply take “USB 3.0” for “faster backwards-compatible USB”, and they have painful consequences.

For instance, USB 3 hub ICs have two separate hub entities inside – one for USB 3 and one for USB 2. Even if you have a USB 3 hub plugged into a USB 3 port, multiple USB 2 devices plugged into it still cannot break through the USB 2 uplink limit of 480 MBps. If you ever thought that a faster hub with a faster uplink would fix your USB 2 device speed problems – USB-IF engineers, apparently, thought differently; and you might have to find a workaround for your “many cheap SDRs and Pi 4 in a box” setup. Continue reading “A Chip To Bridge The USB 2 – USB 3 Divide”

Depraz Mouse Clone Has A USB Tail

In 1980, Logitech started selling a round, three-button input device known the Depraz mouse or Swiss mouse, which was made by — you guessed it — a Swiss company called Depraz. At the time, Logitech was primarily a software development outfit, but the success they saw in selling the Depraz mouse led them to leave logic and looping behind in order to pursue peripherals permanently.

[John Floren] recently decided to make a modern clone called the Bellwether mouse. You may remember that [John] previously restored a vintage Depraz to working condition. The only problem is that ‘working condition’ for a 40-year-old mouse is underwhelming on a modern computer.

The Bellwether mouse sports a high-end Pixart PMW3389 sensor and uses a PIC16F1454 for the controller. The most complicated part was dealing with voltage levels, because the PIC wants 5 V and the sensor only 2 V. The firmware is a mix of Microchip’s USB HID demo code and [Daniel Kao]’s Arduino code for the PWM3389 sensor.

Unlike the original Depraz’s male DE-9 connector, this updated version connects via USB. We like that [John] learned FreeCAD in order to make the body, and especially that he glued fishing weights to the underside for more heft. Check it out in action after the break. We were most curious about those switches, which at first glance look like they could be keyswitches with DSA keycaps. But no, they’re just some cool switches from the depths of Digi-Key.

Want to print yourself something more ergonomic? Perhaps you’ll click with Ploopy, the open-source trackball.

Continue reading “Depraz Mouse Clone Has A USB Tail”

A purple 3D-printed case with an LCD screen on the front and Pikachu on top

Avoid Repetitive Strain Injury With Machine Learning – And Pikachu

The humble mouse has been an essential part of the desktop computing experience ever since the original Apple Macintosh popularized it in 1984. While mice enabled user-friendly GUIs, thus making computers accessible to more people than ever, they also caused a significant increase in repetitive strain injuries (RSI). Mainly caused by poor posture and stress, RSI can lead to pain, numbness and tingling sensations in the hand and arm, which the user might only notice when it’s too late.

Hoping to catch signs of RSI before it manifests itself, [kutluhan_aktar] built a device that allows him to track mouse fatigue. It does so through two sensors: one that measures galvanic skin response (GSR) and another that performs electromyography (EMG). Together, these two measurements should give an indication of the amount of muscle soreness. The sensor readout circuits are connected to a Wio Terminal, a small ARM Cortex-M4 development board with a 2.4″ LCD.

However, calculating muscle soreness is not as simple as just adding a few numbers together; in fact the link between the sensor data and the muscles’ state of health is complicated enough that [kutluhan] decided to train a TensorFlow artificial neural network (ANN), taking into account observed stress levels collected in real life. The network ran on the Wio while he used the mouse, pressing buttons to indicate the amount of stress he experienced. After a few rounds of training he ended up with a network that reached an accuracy of more than 80%.

[kutluhan] also designed a rather neat 3D printed enclosure to house the sensor readout boards as well as a battery to power the Wio Terminal. Naturally, the case was graced by a 3D rendition of Pikachu on top (get it? a mouse Pokémon that can paralyze its opponents!). We’ve seen [kutluhan]’s fondness for Pokémon-themed projects in his earlier Jigglypuff CO2 sensor.

Although the setup with multiple sensors doesn’t seem too practical for everyday use, the Mouse Fatigue Estimator might be a useful tool to train yourself to keep good posture and avoid stress while using a mouse. If you also use a keyboard (and who doesn’t?), make sure you’re using that correctly as well.

Continue reading “Avoid Repetitive Strain Injury With Machine Learning – And Pikachu”

An “unbusy” USB-C Port Doubles-up For JTAG Programming

Board space is a premium on small circuit board designs, and [Alvaro] knows it. So instead of adding a separate programming port, he’s found a niche USB-C feature that lets him use the port that he’s already added both for its primary application and for programming the target microcontroller over JTAG. The result is that he no longer needs to worry about spending precious board space for a tiny programming port; the USB-C port timeshares for both!

In a Twitter thread (Unrolled Link), [Alvaro] walks us through his discovery and progress towards an encapsulated solution. It turns out that the USB-C spec supports a “Debug-Accessory Mode” specification, where some pins are allowed to be repurposed if pins CC1 and CC2 are pulled up to Logic-1. Under these circumstances, the pin functions are released, and a JTAG programmer can step in to borrow them. To expose the port to a programmer, [Alvaro] cooked up a small breakout board with a USB-C plug and separate microcontroller populated on it.

This board also handles a small quirk. Since [Alvaro’s] choice of programming pins aren’t reversible, the USB-C plug will only work one of the two ways it can be plugged in. To keep the user informed, this breakout board sports a red LED for incorrect orientation and a green LED for correct orientation–nifty. While this design quirk sacrifices reversibility, it preserves the USB 2.0 D+ and D- pins while also handling some edge cases with regard to the negotiating for access to the port.

Stick through [Alvaro]’s Twitter thread for progress pics and more details on his rationale behind his pin choices. Who knows? With more eyes on the USB-C feature, maybe we’ll see this sort of programming interface become the norm?

[Alvaro] is no stranger to Hackaday. In fact, take a tour back to our very first Supercon to see him chat about shooting lasers at moving targets to score points on a DEFCON challenge in the past