Microsoft Killed My Favorite Keyboard, And I’m Mad About It

As a professional writer, I rack up thousands of words a day. Too many in fact, to the point where it hurts my brain. To ease this burden, I choose my tools carefully to minimize obstructions as the words pour from my mind, spilling through my fingers on their way to the screen.

That’s a long-winded way of saying I’m pretty persnickety about my keyboard. Now, I’ve found out my favorite model has been discontinued, and I’ll never again know the pleasure of typing on its delicate keys. And I’m mad about it. Real mad. Because I shouldn’t be in this position to begin with!

Continue reading “Microsoft Killed My Favorite Keyboard, And I’m Mad About It”

Designing A USB-C Upgrade PCB For The MX Ergo Mouse

As the world of electronic gadgetry made the switch from micro USB to USB-C as the charging port of choice, many of us kept both of the required cables handy. But it’s fair to say that these days a micro USB port has become a pretty rare sight, and the once ubiquitous cable can be a bit elusive in the event that you encounter an older device that requires it.

[Solderking] has a high-end Logitech cordless mouse with just this problem, and so he replaced its micro USB socket with a USB-C port. That makes the task sound deceptively simple, because in fact he had to reverse engineer one of the device’s PCBs in its entirety, making a new board with the same outline and components, but sporting the new connector.

Instead of attempting to replicate the complex shape with geometry he started with a scan of the board and had Fusion 360 trace its outline before 3D printing a version of it to check fit in the Logitech case. Then it was a case of tracing the circuit, designing the replacement, and hand transferring the parts from board to board.

The result is a USB-C chargeable mouse, and while all the design files don’t appear to be online, it’s possible to download the Gerbers from a PCBWay page. On top of that there’s a YouTube video of the process which we’ve placed below the break.

This isn’t the first time we’ve seen somebody spin up a new board to add USB-C to an older device — this drop-in replacement for Sony’s DualShock 4 comes to mind. If you’ve got enough free space inside your particular gadget, you might be able to pull of a USB-C conversion with nothing more exotic than a hacked up Adafruit breakout board.

Continue reading “Designing A USB-C Upgrade PCB For The MX Ergo Mouse”

Hacking The Logitech Z906 Speaker System

The Logitech Z906 is a well-rounded 5.1 surround sound system. It’s capable of putting out 1000W in peak power, and can decode Dolby Digital and DTS soundtracks as you’d expect. It’s intended to be used as the heart of a home cinema system and used with a central command console. However, [zarpli] figured out the device’s serial secrets and can now run the device in a standalone manner.

As it turns out, the Z906 uses a main control console that speaks to the rest of the hardware over a DE15 connector (also known as the DB-15). [zarpli] realized that the hardware could instead be commanded by just about any device with a serial port. Thus, a library was whipped up that can be readily used with an Arduino to control all the major functions of the Z906. Everything from volume levels to effect modes and channel assignments can be commanded by microcontroller. As a finale, [zarpli] shows off the hardware playing a multi-channel composition without the console connected, with his own hardware running the show instead.

If you’ve got a Logitech Z906 or similar unit that you wish to automate, you might find this work useful. It’s also a good inspiration for anyone contemplating hacking away at the console ports on other hardware. Video after the break.

Continue reading “Hacking The Logitech Z906 Speaker System”

Gaming Mouse Becomes Digital Camera

Ever since the world decided to transition from mechanical ball mice to optical mice, we have been blessed with computer pointing devices that don’t need regular cleaning and have much better performance than their ancestors. They do this by using what is essentially a tiny digital camera to monitor changes in motion. As we’ve seen before, it is possible to convert this mechanism into an actual camera, but until now we haven’t seen something like this on a high-performance mouse designed for FPS gaming.

For this project [Ankit] is disassembling the Logitech G402, a popular gaming mouse with up to 4000 dpi. Normally this is processed internally in the mouse to translate movement into cursor motion, but this mouse conveniently has a familiar STM32 processor with an SPI interface already broken out on the PCB that could be quickly connected to in order to gather image data. [Ankit] created a custom USB vendor-specific endpoint and wrote a Linux kernel module to parse the data into a custom GUI program that can display the image captured by the mouse sensor on-screen.

It’s probably best to not attempt this project if you plan to re-use the mouse, as the custom firmware appears to render the mouse useless as an actual mouse. But as a proof-of-concept project this high-performance mouse does work fairly well as a camera, albeit with a very low resolution by modern digital camera standards. It is much improved on older mouse-camera builds we’ve seen, though, thanks to the high performance sensors in gaming mice.

An Exercise In Firmware Dumping With The GreatFET

Looking to hone his hardware hacking skills, [James Chambers] recently set out to reverse engineer a common cheap wireless keyboard: the Logitech K360. The chipset it uses has already been fairly well explored (and exploited) by security researchers, but the goal here was more about gaining some practical hands-on experience than it was breaking any new ground.

The first post in what we’re sure will be a fascinating series deals with dumping the board’s firmware using the GreatFET. We actually haven’t seen too many projects that showcase the capabilities of this highly capable open hardware multi-tool, so the post serves as a nice demonstration of how one goes about writing the necessary Python scripts to put it to work in a practical scenario.

Some promising bytes.

Of course, even with the best of tools, there’s always a few stumbling blocks. After identifying what was clearly some kind of programming header on the K360’s diminutive PCB, it took a few failed attempts at reading the firmware before [James] realized he needed to tap into more pins on the keyboard’s nRF24LE1 microcontroller. Once everything was physically wired up, he wrote some code for the GreatFET that would perform the proper incantations on the chip’s PROG and RESET pins to enable its programming interface.

[James] goes on to explain how you can pull some extended chip information out of the hardware and verify the contents of the firmware dump with Gihdra, but any more advanced analysis will have to wait until the next post in the series. In the meantime, if you like reading about hardware hacking from this “over the shoulder” viewpoint, you should check out some of the fantastic work that [wrongbaud] has sent in over the last year or so.

Logitech Joystick Gets A Mechanical Sidekick

The mechanical keyboard rabbit hole is a deep one, and can swallow up as much money and time as you want to spend. If you’ve become spoiled on the touch and responsiveness of a Cherry MX or other mechanical switch, you might even start putting them on other user interfaces as well, such as this Logitech joystick that now sports a few very usable mechanical keys for the touch-conscious among us.

The Logitech Extreme 3D Pro that [ErkHal] and friend [HeKeKe] modified to accept the mechanical keys originally had a set of input buttons on the side, but these were unreliable and error-prone with a very long, inconsistent push. Soldering some mechanical switches directly on the existing board was a nice improvement, but the pair decided that they could do even better and rolled out an entire custom PCB to mount the keys more ergonomically. The switches are Kailh Choc V2 Browns and seem to have done a great job of improving the responsiveness of the joystick’s side buttons. If you want to spin up your own version, they’ve made the PCBs available on their GitHub page.

While [ErkHal] notes the switches aren’t the best and were only used since they were available, they certainly appear to work much better than what the joystick shipped with originally. In fact, we recently saw similar switches used to make a custom mechanical keyboard made for the PinePhone.

An Epic Quest For A Motorized Volume Knob

[Haris Andrianakis] likes his Logitech Z623 sound system. He likes it a lot. Which is why he was willing to hack in his own remote volume control rather than just get a new pair of speakers. But he certainly didn’t make things easy on himself. Rather than trying to tap into the electronics, he decided to take the long way around and motorize the volume knob.

The belt drive looked great, but didn’t work.

The idea seemed simple enough. Just drill a hole through the PCB behind the knob’s potentiometer, attach some kind of extension to the axle, and turn it with a small servo. Modifying the PCB and potentiometer went well enough, but the trouble came when [Haris] actually tried to turn the thing.

Attaching the servo directly to the axle worked, but it made turning the knob by hand extremely difficult. His next idea was to add a small belt into the mix so there would be some slip in the system. But after designing a 3D printed servo mount and turning custom pulleys on the lathe, it ended up having too much slip, and the knob didn’t always move when the servo turned.

He then swapped out the servo for a small stepper motor. The motor was easy enough to spin when powered down, but didn’t have quite enough torque to turn the knob. He tried with a larger stepper motor that he salvaged from an old printer, but since he could only run it at half the recommended 24 VDC, it too had a tendency to skip steps.

After experimenting with some 3D printed reduction gears, [Haris] finally stumbled upon the 28BYJ-48. This small stepper with an integrated gearbox proved to be the perfect solution, as it had enough muscle to turn the knob while at the same time not restricting its movement when powered down. The rest of the project was relatively easy; with a DRV8825, an ESP8266, and an IR receiver, he’s able to spin the stepper with his TV’s remote. A simple web page running on the ESP8266 even allows him to control volume over the network with his smartphone. Based on similar projects we’ve seen, he could probably add support for HDMI CEC as well.

[Haris] says you shouldn’t follow his example, but we’re not so sure. He kept going when others would have given up, and the engineering and thought that went into each attempt is certainly commendable. Even if he hadn’t ultimately gotten this project working, we’d still say it was a valiant hack worthy of praise.