Wireless Protocol Reverse Engineered to Create Wrist Wearable Mouse

We’ve seen a few near-future sci-fi films recently where computers respond not just to touchscreen gestures but also to broad commands, like swiping a phone to throw its display onto a large flat panel display. It’s a nice metaphor, and if we’re going to see something like it soon, perhaps this wrist-mounted pointing device will be one way to get there.

The video below shows the finished product in action, with the cursor controlled by arm movements. Finger gestures that are very much like handling a real mouse’s buttons are interpreted as clicks. The wearable has a Nano, an MPU6050 IMU, and a nRF24L01 transceiver, all powered by some coin cells and tucked nicely into a 3D-printed case. To be honest, as cool as [Ronan Gaillard]’s wrist mouse is, the real story here is the reverse engineering he and his classmate did to pull this one off.

The road to the finished product was very interesting and more detail is shared in their final presentation (in French and heavy with memes). Our French is sufficient only to decipher “Le dongle Logitech,” but there are enough packet diagrams supporting into get the gist. They sniffed the packets going between a wireless keyboard and its dongle and figured out how to imitate mouse movements using an NRF24 module. Translating wrist and finger movements to cursor position via the 6-axis IMU involved some fairly fancy math, but it all seems to have worked in the end, and it makes for a very impressive project.

Is sniffing wireless packets in your future? Perhaps this guide to Wireshark and the nRF24L01 will prove useful.

Continue reading “Wireless Protocol Reverse Engineered to Create Wrist Wearable Mouse”

Star Track: A Lesson in Positional Astronomy With Lasers

[gocivici] threatened us with a tutorial on positional astronomy when we started reading his tutorial on a Arduino Powered Star Pointer and he delivered. We’d pick him to help us take the One Ring to Mordor; we’d never get lost and his threat-delivery-rate makes him less likely to pull a Boromir.

As we mentioned he starts off with a really succinct and well written tutorial on celestial coordinates that antiquity would have killed to have. If we were writing a bit of code to do our own positional astronomy system, this is the tab we’d have open. Incidentally, that’s exactly what he encourages those who have followed the tutorial to do.

The star pointer itself is a high powered green laser pointer (battery powered), 3D printed parts, and an amalgam of fourteen dollars of Chinese tech cruft. The project uses two Arduino clones to process serial commands and manage two 28byj-48 stepper motors. The 2nd Arduino clone was purely to supplement the digital pins of the first; we paused a bit at that, but then we realized that import arduinos have gotten so cheap they probably are more affordable than an I2C breakout board or stepper driver these days. The body was designed with a mixture of Tinkercad and something we’d not heard of, OpenJsCAD.

Once it’s all assembled and tested the only thing left to do is go outside with your contraption. After making sure that you’ve followed all the local regulations for not pointing lasers at airplanes, point the laser at the north star. After that you can plug in any star coordinate and the laser will swing towards it and track its location in the sky. Pretty cool.

Continue reading “Star Track: A Lesson in Positional Astronomy With Lasers”

Hacklet 42 – Mouse Projects

Ever since [Douglas Engelbart] and his team came up with the computer mouse, hackers, makers, and engineers have been creating ways to change and improve the design. Even the original mouse was something of a hack, built form a block of wood, a button, and two encoder wheels. The wire exited toward the user’s wrist, making the device look like it had a tail. Even after all these years, folks are still working to make the perfect pointing device. This week’s Hacklet highlights some of the best mouse projects on Hackaday.io!

mouseballzWe start with [s_sudhar] and ORB – A 3D gaming mouse. Orb uses accelerometers and gyros to track its location in 3D space. The popular MPU-6050 chip provides all the sensors to create an Inertial Measurement Unit (IMU). The controller is an Arduino Micro, which provides the USB interface to a PC with the help of Arduino’s MouseKeyboard library. Two micro switches handle button duties. The original Orb was built up in a cardboard box. [S_sudhar] created a more advanced version housed in a 3D printed sphere with two buttons. The translucent joint between the two halves of the sphere is just begging for some RGB LEDs. We can already see them flashing red when you’re getting shot in Team Fortress 2!

mouse-wheelAnyone who has used X-Windows with a three button mouse knows how maddening the modern clickable center scroll wheel can be. You can’t click the wheel without it rolling, and causing all sorts of mayhem. There are plenty of software solutions and window manager mods to work around this, but [mclien] wanted a real three button mouse with a side scroll wheel. He didn’t want just any mouse though – it had to be a Silicon Graphics International (SGI) 3 button unit. His project 3-buttonmouse with seperate wheel used a dremel, drill press, and glue to transplant the electronics of a 3 button scrolling mouse into the classic SGI plastics. The final wheel placement did work – but it didn’t quite fit [mclien’s] hand. It did fit one of his friends hands perfectly though. So well in fact that the friend borrowed [mclien’s] creation. Neither the mouse nor the friend have been seen since!

jimmy[Jay-t] decided that mice are for more than pointing, so he built Jimmy the mouse bot. Jimmy is a robot built from an old Commodore Amiga two button mouse. His brain is a Parallax Propeller processor. Two outrigger mounted gear motors help Jimmy drive around. Jimmy has plenty of sensors, including infrared object detectors, switches, and a GPS module from Adafruit. Jimmy may be the world’s first homing mousebot. [Jay-t] does all his interactive testing with Tachyon Forth on the Prop. The great thing about having an 8 core processor is that there is plenty of room for expansion. Even with all these sensors, Jimmy is still only using 3 cores!



Finally we at [Clovis Fritzen] and the Wireless Batteryless Mouse. This is our favorite type of project – the kind that has just been uploaded. [Clovis] plans to use a movement based system to charge up a supercapacitor – eliminating the need for batteries or wires. He’s also hoping to use an accelerometer to detect the mouse’s position rather than a power-hungry optical system. The details are still sparse, because he’s just started the project! These are exactly the type of projects that get us thinking. How will [Clovis] translate movement to energy? Will it be weights, like a self-winding watch? Maybe pizeo elements in the buttons. Will people mind having to jiggle their mouse to get it working once that capacitor is discharged? One thing we’re sure of, [Clovis] has a proven track record of implementing projects like his weather station. Get in there and help with your own ideas, or simply follow along with us and see how this one turns out.

Not satisfied? Want more mousy goodness? Check out our freshly minted mouse and pointer projects list!

That’s about all the time we have for this week’s Hacklet. As always, see you next week. Same hack time, same hack channel, bringing you the best of Hackaday.io! 

Laser marquee projector

This laser message scroller is built with inexpensive parts. The heart of [Raul’s] system is a spinning pill-box with eight mirrors on it. Each redirects the laser to a different vertical portion of the projection surface. There are eight small arms on the apparatus that each break the beam of an optical sensors as it spins, facilitating the precise synchronization needed to generate the projected image correctly. In the video after the break we can make out what looks like an Arduino controlling the system. This makes sense as it’s easy to connect the laser pointer and sensor, and the USB connection allows for the streaming of messages to the system.

Want to see a more complicated setup? Check out the POV laser projector from a few years back. Continue reading “Laser marquee projector”

Auxiliary scoreboard reads status directly from memory

[StaticChanger] built a scoreboard to display his kill statistics from Halo for the PC. Yes, we’ve seen kill counters before, but we like the way that he gathers the data. This project is reading the score directly from an address in memory.

Using a program called Cheat Engine, the memory used by a program can be sniffed. After a few passes, the program will help you find a static memory address for your desired data. Once you have that it’s just a matter of using a pointer to that address in your desired programming language. In this case, a C# program polls the value and instructs an Arduino to display the value on a couple of 7-segment displays. Voila, the number appears next to your screen as you see in the image above.

How to use Wiimotes w/ Linux

[Sprite_tm] has whipped up yet another interesting tutorial – software-based this time. He basically describes how he connected his Wiimotes to an HTPC. A USB Bluetooth receiver, and a little bit of Linux scripting,  was all that was necessary to get the system up and running. To add to the fun, [Sprite_tm] configured a the controllers to work with MAME (an arcade machine emulator), allowing one to play Duck Hunt on a computer in its full glory!