geekhack

geekhack Projects => Making Stuff Together! => Topic started by: jessecoleman on Sun, 14 February 2021, 14:27:19

Title: Reverse Engineering Logitech MX Master 2 Thumb Wheel
Post by: jessecoleman 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.
Title: Re: Reverse Engineering Logitech MX Master 2 Thumb Wheel
Post by: Findecanor 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.
Title: Re: Reverse Engineering Logitech MX Master 2 Thumb Wheel
Post by: nevin 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  (https://github.com/qmk/qmk_firmware/tree/master/keyboards/ploopyco/mouse)has implemented an optical scroll wheel in their mouse which runs qmk
Title: Re: Reverse Engineering Logitech MX Master 2 Thumb Wheel
Post by: jessecoleman 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 (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.
Title: Re: Reverse Engineering Logitech MX Master 2 Thumb Wheel
Post by: Findecanor 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.