Author Topic: Reverse Engineering Logitech MX Master 2 Thumb Wheel  (Read 1970 times)

0 Members and 1 Guest are viewing this topic.

Offline jessecoleman

  • Thread Starter
  • Posts: 46
Reverse Engineering Logitech MX Master 2 Thumb Wheel
« on: Sun, 14 February 2021, 14:27:19 »
Hey all,

I'm an intermediate keyboard enthusiast and tinkerer, with moderate experience soldering and modifying the QMK firmware. I have an idea for a project, but I'm not sure I have the skill level to execute on it. I wanted to incorporate a scroll wheel into the design. I know QMK has support for the EC11 rotary encoders, but I really like the horizontal form-factor of the Logitech thumb wheel, and I have a broken MX Master 2 kicking around, so I thought I'd try to repurpose it. I've extracted the component from the chassis, and am not really sure how to proceed. Unsurprisingly, I haven't been able to find any online documentation for the mouse, and I've never attempted to reverse engineer a circuit. Does anyone have any suggestions for how to approach this? I'm attaching some photos of the component.

Offline Findecanor

  • Posts: 5036
  • Location: Koriko
Re: Reverse Engineering Logitech MX Master 2 Thumb Wheel
« Reply #1 on: Sun, 14 February 2021, 14:48:13 »
It looks like a ribbon cable connector there.

The four buttons (Hidden, Mode, SW10, SW11) likely have a common GND, and each its own line on the ribbon. These five should be easy to find: I can already see one I suspect is the common GND. The switches' lines are all exposed for probing with a multimeter.

I would guess that the wheel's sensor produces a quadrature code on two lines. The sensors in optomechanical mice (and scrollwheels) typically do. The sensor circuitry would need GND and positive voltage.
(I can only see seven pins on the ribbon connector, but I might be wrong...)
Find the positive voltage, and the remaining two lines should be for the quadrature code.

You could also look at the board at the other end of the ribbon cable. It is likely in modern electronics that the main voltage is 3.3V, but it is possible that it is lower.
I would therefore not connect this to a board that runs on 5V, at least not without a power converter or logic-level converters/voltage dividers on the signal lines.
« Last Edit: Sun, 14 February 2021, 14:58:31 by Findecanor »

Offline nevin

  • Posts: 1646
  • Location: US
Re: Reverse Engineering Logitech MX Master 2 Thumb Wheel
« Reply #2 on: Sun, 14 February 2021, 17:16:54 »
you could mount a ec11 encoder on it's side and get a similar effect....?

it sounds like an easy enough idea, but implementing the code in the firmware is usually where you'll get stuck.

you could also look at how the ploopy co has implemented an optical scroll wheel in their mouse which runs qmk
Keeb.io Viterbi, Apple m0110, Apple m0120, Apple m0110a, Apple 658-4081, Apple M1242, Apple AEK II, MK96, GH60/Pure, Cherry g84-4100, Adesso AKP-220B, Magicforce 68

Offline jessecoleman

  • Thread Starter
  • Posts: 46
Re: Reverse Engineering Logitech MX Master 2 Thumb Wheel
« Reply #3 on: Mon, 15 February 2021, 15:01:26 »
Thanks guys. That's some detailed analysis, and it definitely helps me out. @Findecanor, I plan on using this with a nice!nano Bluetooth controller which operates at 3.3V. The Logitech mouse has a 3.7V battery, does that mean the board uses 3.7V or does the voltage get stepped down?. I've attached another picture showing the terminating end of the ribbon cable, which I believe is 12 pin, 0.5mm. I'm hoping to use this https://www.amazon.com/gp/product/B07RVD1J1K/ref=ppx_yo_dt_b_asin_title_o00_s00?ie=UTF8&psc=1 breakout board to probe it. The leads are a bit too small, or I'm not dexterous enough.

Thanks @nevin for the reference to the ploopyco project, I hadn't seen that before. It'll probably be a good resource. I'll update this post with any more insights as I experiment.

Offline Findecanor

  • Posts: 5036
  • Location: Koriko
Re: Reverse Engineering Logitech MX Master 2 Thumb Wheel
« Reply #4 on: Mon, 15 February 2021, 17:59:56 »
The Logitech mouse has a 3.7V battery, does that mean the board uses 3.7V or does the voltage get stepped down?
3.7V batteries are often used for 3.3V circuits through a voltage regulator, so I find this likely.