Hacking Apple’s Magic Mouse To Fix Its Worst Flaws

The Magic Mouse was first released by Apple in 2009 and was a major departure from previous designs. It was sleek, low-profile, and featured a touch pad on the top for gestures. Although the first generation was powered by two AA batteries and didn’t lead to much commentary, the 2015 redesign caused a lot of scathing memes and worse, mostly due to the rechargeable battery and the Lightning charging port that had been located on its bottom, leading to Dead Magic Mouse syndrome when you wanted to charge it. Since then myriad hackers have tried to fix the Magic Mouse’s issues, with [Ivan Kuleshov]’s recent attempt being perhaps the most straightforward and possibly successful.

Essentially, the Magic Mouse has two major flaws: ergonomics and the worst possible location of the charging port. Although both 3D models and commercial products exist to alleviate the former issue – and some of these even add wireless charging in between mousing sessions – all attempts to relocate the charging port were met by failure, as the Magic Mouse cannot be both charged and used at the same time due to how Apple designed the circuit.

What [Ivan] did differently is that aside from tweaking some existing 3D models for Magic Mouse extensions to his liking, he also fixed the charging issue by avoiding Apple’s circuitry altogether and adding a USB-C port in the process. He also added a TP4056-based charging module, directly soldered to the battery’s terminals, that will top off the battery when plugged in. During experimentation on a live Magic Mouse, this led to the battery charge reported in MacOS increasing correspondingly. More or less, at least.

The 3D printed shell isn’t just a wrapper around the original mouse either, but splits the squat rodent into its upper and lower sections, so that the optical sensor isn’t suspended off the surface, while also keeping the touch-sensitive top section where it should be. According to [Ivan] the project files will be made available on his GitHub account in the near future.

Num Pad Reborn As Stream Deck

Stream decks are cool and all, but they are essentially expensive, albeit sorta cool-looking macro pads. So why not try to make your own? You don’t necessarily have to start from scratch.

It all started when [dj_doughy] found an extremely clicky num pad in a recycle pile. It was so clicky, in fact, that even though [dj_doughy] didn’t need an external num pad, they wanted to keep it around as a fidget toy. From the video after the break, they look to be white ALPS switches. The only problem? It had a PS/2 connector.

Well, okay, there was another problem. The chip inside seemingly has no datasheet available. [dj_doughy] took to Discord for help, and was advised to just have the thing use extended keys, like F13-F24, and assign those as hotkeys in OBS.

In order to make it USB, [dj_doughy] need a microcontroller capable of acting as a Human Interface Device (HID). While [dj_doughy] tested using an Arduino Leonardo, they ended up using an Arduino Beetle due to its diminutive size. [dj_doughy] had a bit of trouble with the code sending two key presses, but found out they were just missing some variables. Now it works like a charm.

Would you like a macro pad that lets you physically reassign macros? Then check out this tile-based macro pad.

D-POINT: A Digital Pen With Optical-Inertial Tracking

[Jcparkyn] clearly had an interesting topic for their thesis project, and was conscientious enough to write up a chunk of it and release it to the wild. The project in question is a digital pen that uses some neat sensor fusion to combine the inputs from a pen-mounted gyro/accelerometer with data from an optical tracking system provided by an off-the-shelf webcam.

A six degrees of freedom (6DOF) tracking system is achieved as a result, with the pen-mounted hardware tracking orientation and the webcam tracking the 3D position. The pen itself is quite neat, with an ALPS/Alpine HSFPAR003A load sensor measuring the contact pressure transmitted to it from the stylus tip. A Seeed Xaio nRF52840 sense is on duty for Bluetooth and hosting the needed IMU. This handy little module deals with all the details needed for such a high-integration project and even manages the charging of a single 10440 lithium cell via a USB-C connector.

Positional tracking uses Visual Pose Estimation (VPE) assisted with ArUco markers mounted on the end of the stylus. A consumer-grade (i.e. uncalibrated) webcam is all that is required on the hardware side. The software utilizes the familiar OpenCV stack to unroll the effects of the webcam rolling shutter, followed by Perspective-n-Point (PnP) to estimate the pose from the corrected image stream. Finally, a coordinate space conversion is performed to determine the stylus tip position relative to the drawing surface.

The sensor fusion is taken care of with a Kalman filter, smoothed with the typical Rauch-Tung-Striebel (RTS) algorithm before being passed onto the final application. This process is running in Python using the NumPy module, as you would expect, but accelerated using the Numba JIT compiler.

Motion tracking is not news to us, we’ve seen many an implementation over the years, such as this one. But digital input pens? Why aren’t they more of a thing?

Thanks to [Oliver] for the tip!

We Like Big Keyboards And We Cannot Lie

So, let’s say you’re good at DOTA. Like, world-class good. How good do you think you’d be on a keyboard that’s 16 feet long, with a space bar the size of a person? Well, you’d need the rest of your team, that’s for sure.

Alienware have created the world’s largest mechanical keyboard and mouse, which are working, 14:1 scale representations of their AW420K keyboard and AW720M mouse. And they got Team Liquid to try it out.

While this may be a marketing ploy, it took quite a lot of work and weeks of 3D printing to faithfully reproduce those peripherals on that scale.

What’s really impressive are the custom key switches, which are described early on in the video after the break. They are nearly a foot wide with the keycap on, and they have an incredible four inches of travel.

Each of the 87 key switches is made with two snugly-fitting pieces of PVC, a thick rubber band, and of course, an actual, regular-size key switch to register the presses. Not satisfied with that, the team added a small piece of measuring tape to produce a nice clicky, tactile feedback. And, oh yeah, that space bar? The stabilizer is made from a 1″ copper pipe. Be sure to check it out in action after the break.

This just so happens to be the same size as the last keyboard we saw claiming to be the world’s largest, which was rejected from the Guinness Book because it’s not an exact replica of an existing keyboard. So, somebody call Guinness, we suppose.

Continue reading “We Like Big Keyboards And We Cannot Lie”

Flash Programmer Shows Some Nifty Tricks

A handy tool to have on the bench is a Flash chip programmer, and the ones based around the CH341A USB bus converter chip are readily available. But the chip is capable of so much more than simply programming nonvolatile memory, so [Tomasz Ostrowski] has created a utility program that expands its capabilities. The software provides easy access to a range of common i2c peripherals. He’s got it talking to smart batteries, GPIOs, environmental sensors, an OLED display, and even an FM radio module. The code can all be found in a GitHub repository. The software is Windows-only so no fun and games for Linux users yet — but since it’s open source, new features are just a pull request away.

The CH341A is much more than an i2C controller, it also supports a surprising range of other interfaces including SPI, UARTs, and even a bidirectional parallel printer port. Maybe this software will serve to fire the imagination of a few others, and who knows, we could see more extended use of this versatile chip. Oddly we’ve featured these programmer boards before, though in a tricky flashing job.

Custom Aluminum Monitor Stand For The Home Office

Monitor stands vary wildly in price, from a few cents for a pile of books from a thrift store to hundreds of dollars. One trendy style, as [Steven Bennett] puts it, is the “General Grievous,” with adjustable arms splayed around a central pole. While effective, it is not particularly aesthetically pleasing. [Steven] set out to make his monitor stand out of extruded aluminum.

[Steven] started with a cantilever design with a VESA adapter and a c-clamp. With some 3D-printed adapter brackets, he could attach them directly to the tracks in the aluminum. Of course, the 3D printed parts, while great for prototyping, might not be the best choice for the loads he was planning on. He sent it off to a fab to get some powder-coated steel parts. After using it for a few months, he revisited the drawing board. Moving away from the cantilever with an offset center post, he switched to a single 1×4 piece of aluminum. This allowed him to create 3D-printed attachments to hold his headphones, flash drives, and cables. A build guide is available online, as well as printable add-ons.

While it doesn’t have a built-in computer like this glorious wooden stand, we can’t deny the utility or the aesthetic of the aluminum version.

Video after the break.

Continue reading “Custom Aluminum Monitor Stand For The Home Office”

A Network Adapter Thinks It’s A CD-ROM. Restore Its True Calling!

A mildly annoying trend over recent years has been for USB hardware devices to expose a CD-ROM drive containing their drivers for Windows users. Of course there’s no real CD in there, instead the software lives on a piece of flash memory. It’s usually not a problem as they also appear on the USB bus as their true calling, but not always.

[Martijn Braam] found himself the lucky owner of a USB network adapter which seemed to see its only purpose in life to be such a drive, and since heĀ  wasn’t anxious to make another piece of e-waste, he broke it open to see if the fake CD drive could be disabled.

Inside the flimsy case he found a CoreChips SR9700 Ethernet controller, a chip for which there seems to be very little data in the wild. On the underside of the PCB was a flash chip, and as expected disabling this caused the CD drive to disappear to be replaced by the expected network card.

It’s a simple but useful hack, but there’s a little bonus for those unaware in the write-up. There’s a piece of software called USB_modeswitch that can perform this task on many cards, which is worth storing away in the event that it’s needed.