Hi everyone! How many of y’all are interested in a scroll wheel expansion card?
Yes, I’m interested!
I’m not sure…
a what card?
no.
0voters
The idea of a scroll wheel expansion card is to have a wheel sticking slightly out of the side of the framework laptop, and can control whatever you want it to. Whether it be audio, mouse scroll, copy & paste, mouse 2D movements, this expansion card should do the job!
Here’s a mockup of what the ideal scroll wheel expansion card I have in mind:
(Oct 23) Here’s an update: I already have the schematics and PCB layout done:
(Oct 24) Changed the screenshot to reflect pcb layout change from square to framework pcb
I can see something like this being useful. The Logitech MX Master 3 has a side scroll wheel that can be programmed to do a bunch of different things. I use it the most in the browser to quickly switch through tabs. In excel it scrolls left-right (I’ve always hated tilting the middle mouse wheel). I imagine if it were on the left side and easy to reach it might actually be pretty handy.
Since this card will include a rotary encoder, it will be impossible to fit into a regular sized expansion card. As much as I would like to, having only 1.5mm of clearance between the PCB and the cap height of the plastic on the expansion card is impossible for this project.
Reference measurements for the PCB and cap height for card
There are other “double height” designs floating around. We could really, really use a standard for those, so various “double height” cards can be compatible (i.e. not make the laptop lopsided).
Instead of a scroll wheel with an encoder – what about a capacitive touch strip that you can slide your finger across? Think like the way the touchpad works — slide your finger up and down and across rather than turning a wheel with an encoder.
Using a 32U4 processor is still completely doable and within the form factor and building a multi-segment capacitive touch slider can be done on a flexPCB.
I think this is a cool idea, and I’m really into it. I do have two thoughts to share.
QMK is lovely, but many applications don’t support rotary encoders without an interface application of some kind. You may want to try finding, building, or working with someone to build a companion application to interface with some popular programs (Adobe’s rubbish and some CAD programs).
A double height card is probably not the most marketable, or practical design. I think you’d be able to circumvent the large Z axis height though by dropping the rotary encoder, and replacing with a hall effects based encoder. You could probably achieve this by either having the dial its self be a two piece design with embedded magnets, or a single milled/3d printed component that has an inner channel for the magnets that is not exposed visible to the outside. Then pair either dial with some mounting mechanism, and a PCB with the hall effects sensor onboard. All should still be able to run off of that same ATMega. Let me know if I didn’t explain the thought too well, and if so I can shoot over a 3D.
Best of luck in your design and production efforts.
I like the idea of the hall effects encoder and the touch input, but my goal in this expansion card is to be:
cheap/affordable – already failed
same form factor as regular expansion card – also failed
OS independent – achievable with the QMK framework once set up
I can see the touch input happening, and maybe squeezing it within the 1mm space on a small form card, but I don’t have the hardware experience, nor the budget to implement it. As for the hall effects encoder, I see some alternatives out there, but they are more expensive and taller… unless, of course, my search/google/ddg skills are failing me.
Have you looked at using an optical encoder?
With the encoder disk just part of the 3d printed thumb wheel.
Ploopy mouse uses this for their scroll wheel. And Ploopy is open hardware and open source qmk firmware. So you can use their qmk code for optical encoder handling in qmk, their schematic for component selection notes, and their scroll wheel CAD files as a basis for yours.
That’s actually a great idea! I have the ploopy thumb trackball, and enjoy it very much so.
I’m wondering how the optical encoder would work if the sensor needs to be perpendicular to the PCB. Unless I can use the optical sensor instead of optical encoder? I would kinda miss the tactile feel of the encoder detents, though.
I didn’t go with a regular mouse wheel encoder for a couple reasons:
I didn’t think about it… oops
I wanted something modular, which brings it to point 3
The encoder footprint I used is commonly used with the same encoders used with mechanical keyboards
As a result, it’s also possible to change the encoder out with a clicky one so users can have a button + encoder!*
I was pretty new to making PCBs, and also writing up my own QMK configs, so I didn’t know what I was getting myself into. I dabbled with mechanical keyboards, so I figured I’d go with something I am kinda familiar with.
* It’s not enabled in the QMK repo I have for RoPlug, but the pin for the button is there.
So technically, the roPlug can be repurposed to a single click button expansion card, I just didn’t market it that way, nor did I include the firmware + encoder for it.