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

Inputs Of Interest: Canadian MCM/70 Was Kinda Like The First Cyberdeck

Not to start a debate in the comments or anything, but what would you say was the first microcomputer, or personal computer? We suppose the answer depends on your definition. Some would argue that the PC was born at Xerox PARC with a curious portrait-mode display and a three-button mouse, while others would say it all began in a garage in either Los Altos, California or Albuquerque, New Mexico.

If you take the term ‘computer’ to mean that which can crunch big numbers fairly quickly, then the Canadian-made MCM/70 is arguably the first personal computer in that it is portable, has an alphanumeric keyboard, a display, and supports cassette storage, which could be used to extend the 8K of memory. It was an all-in-one computing solution, and it could have an optional telephone modem built in. This was a forward-thinking machine for 1974.

Continue reading “Inputs Of Interest: Canadian MCM/70 Was Kinda Like The First Cyberdeck”

Dead Mouse Reincarnated As Macropad

[Taylor] wanted to join the cool kids club and build a macropad for CAD work and video editing, but didn’t want to do it the traditional way with an Arduino. We can get behind that. In fact, [Taylor] wanted to reuse some old piece of tech if possible, which is even better. With a little luck, they found a used gaming mouse with a set of 12 tiny macro buttons on the side that were ripe for reuse. Only the scroll wheel was reported to be broken.

After verifying that all the macro buttons worked, [Taylor] tore down the mouse and extracted the daughterboard, then removed the sticker that held the rubber dome actuators in place. Then they wired up twelve Kailh box jades to the pads, doing some nice diagonal work with bare 30 AWG wire to join all the common pins together.

[Taylor] designed and printed a simple enclosure that’s a slim 21.5 mm tall including the switch plate, and then made a dozen keycaps to match. That was until [Taylor] remembered some relegendable keycaps they had lying around — the kind that let you print your own labels and trap them underneath clear plastic. The only problem was that they are stemmed for some cylindrical actuator, so [Taylor] designed an adapter piece so they would fit on MX-style sliders. Be sure to check out the build video after the break.

If for some reason box jades aren’t clicky and satisfying enough for you, try making your own maglev Hall-effect switches. These days, you even have design options.

Continue reading “Dead Mouse Reincarnated As Macropad”

CX-6000 Pen Plotter Upgrade

[Terje Io] decided to breathe new life into an old pen plotter — the CX6000 from C. Itoh, a Japanese company that made several printers for Apple in the 1980s. He keeps most of the framework, but the electronics get a major overhaul. The old motors are replaced, the controller and motor drivers are modernized using a Raspberry Pi Pico and stepper motor drivers. After tending to other auxiliary electronics like the control panel and limit switches, it’s time to deal with the firmware.

Rather than reinvent the wheel, [Terje] sensibly built upon existing projects and refactored them for his application. G-Code processing is done by grblHAL, with an added mode to handle HPGL code. He modified the firmware from Motöri the Plotter project to parse HPGL, making his new CX6000+ bilingual.

We covered Motöri way back in 2009, and more recently we wrote about the Teensy Controller using grblHAL, one of the 32-bit big brothers of GRBL. Have you ever restored one of these old plotters? Or is it easier to just build your own these days?