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.

7 thoughts on “Wireless Protocol Reverse Engineered To Create Wrist Wearable Mouse

    1. My wife surprised me with one for christmas one year. I was stoked! Unfortunately I never really got around to using it. By the time I finally tried the device seemed to have died from lack of use. Still seriously disappointed in myself for not making use of it.

      1. I’ve had two EZ430’s. Never wrote any code for them myself but I did download an alternative firmwre that added an egg timer and stopwatch and could display the date and day of the week all the time. They aren’t very well made though. The control buttons could be very flaky and eventually the band breaks, and it’s molded into the case so it can’t be replaced.

  1. That’s a pretty cool “mouse”. I don’t get it though, why depend on some outdated Linksys dongle when Bluetooth hid profile is a thing? I mean I understand hacking things just because you can but I see this thing and think “I want one!” Then I consider that it requires USB and it requires buying some crusty old proprietary wireless keyboard/mouse set just for the dongle… and I think “…meh…”.

    1. You make a good point about “why not use bluetooth?”, but Logitech devices that don’t use bluetooth are hardly crusty/old. I imagine Logitech, Microsoft, and their no-name friends use proprietary protocols to avoid paying certification and licensing fees to the Bluetooth SIG.

      FWIW, a Logitech Unifying receiver (the USB dongle which is pictured in their presentation) can be bought for $10 or so. Then again, so can a Bluetooth dongle. :-)

    2. Hi Brob !

      I was on the team that designed this mouse.

      We spoke about using bluetooth or other wireless technologies during our live presentation at school, but that was not clear in our slides : we decided to build a wireless mouse that would fit on a wrist for a school project, but we needed a bit more challenge, a deeper subject to work on. My friend (Guilhem) worked on all the signal analysis, and filtering coming from the IMU and I was working on the communication part. So I decided to retro-engineer Logitech’s protocol to have fun.

      You are absolutely right, I don’t think there is a lot of pros of using Logitech dongle instead of bluetooth, this was more of a challenge :) But it can be interesting if you like to build a wireless device and want to master all the communication “chain” to use this insted of Bluetooth.

Leave a Reply to WJCarpenterCancel reply

Please be kind and respectful to help make the comments section excellent. (Comment Policy)

This site uses Akismet to reduce spam. Learn how your comment data is processed.