Close
0%
0%

Virtual Scroll Wheel for thin laptops

A curved capacitive touch arc plus a smartwatch LRA gives laptops true scroll-wheel feel and detents in a 9.5 mm stack. No moving parts.

Similar projects worth following
0 followers
Laptops have no scroll wheel because a real one is 15–22 mm across and a thin laptop keyboard deck is about 10 mm deep. This project keeps only the part your finger touches: a 17 mm curved arc with capacitive sensing, plus a smartwatch-class vibration motor that produces detent clicks. The whole assembly fits in a 9.5 mm stack with no moving parts, and the core version is estimated at $3.66–6.45 in parts at volume. The design is unpatented and published as prior art, so any manufacturer or hobbyist is free to build it. The full specification, cost breakdown, and build steps are in Details and Instructions.

This design is unpatented and will stay that way

Here is the paper trail so you don't have to take my word for it.

I filed US provisional patent application 63/819,460 on June 6, 2025, titled "Virtual Scroll Wheel Input Device with Adaptive Touch Sensing and Modular Haptic Feedback." I let it lapse — no non-provisional was filed, and the twelve-month window closed on June 6, 2026. In August 2025 I released the full specification and figures as open source, posting them at several online locations including LinkedIn, together with the one-page sell sheet in the gallery above. That publication is now more than a year old, which under US law bars me from patenting this and makes it prior art against anyone who files after that date. Patent searches turned up no prior art that would block implementation. A defensive publication is on file at Technical Disclosure Commons so the record is indexed and searchable by patent examiners.

So: if you make laptops, mice, touch controllers, or haptic drivers, you can build this. You owe me nothing. I would like attribution and I would like to see it exist.

And build the small version. Costed line by line below, the whole thing — arc, haptic motor, tilt, zoom — comes to roughly $4.80–8.70 of BOM at 100k units a year, and Core alone is roughly $3.70–6.50. But the reason to start with Core is not the dollar or two. Core is three components and a firmware loop: a curved capacitive arc, a smartwatch-class LRA, and centroid-based vertical scrolling with synthetic detents. It delivers what a mouse wheel delivers, in a 9.5 mm stack, without putting a vibration-isolation problem on your critical path. Tilt-to-horizontal is there when you want a second generation, and pressure-zoom adds nothing to the BOM at all.

If you are a hobbyist, the interesting unsolved parts are the arc electrode layout, tuning the contact-width gate against real finger data so press-down never registers as a stroke, and getting convincing detent feel out of a cheap LRA. Fork it and tell me what breaks.

— Madhav Kavuru, mkavuru2@gmail.com

The problem, stated precisely

Every laptop maker has been asked for a scroll wheel. None ship one. The reason is not taste, it is 15 millimeters.

Scroll wheels on current mice run roughly 15–22 mm in diameter. A thin laptop's keyboard section gives you about 10 mm total. Shrink the wheel below 15 mm and it becomes unpleasant to use, and you still have to redesign and miniaturize the optical encoder, the bearing, and the ratchet. So instead we get scroll strips painted onto a corner of the touchpad, which are too sensitive to be precise, break after driver updates, eat usable touchpad area, and force you to steer around them to avoid scrolling by accident. They feel like dragging a scroll-bar thumb, not like a wheel.

Arrow keys, meanwhile, remain terrible. In a word processor they move line by line and then jump a page at a time.

The idea

You never touch most of a scroll wheel. You touch an arc at the top. So build only that arc.

Take a disk segment — a circular segment no bigger than a semicircle — and stand it up through an opening in the chassis. Put a mutual-capacitance touch sensor along its curved outer face. Now your fingertip has the same curved reference geometry it gets from a real wheel, which is exactly what a flat strip fails to provide. With a 22 mm implied wheel diameter and a 17 mm chord, the segment is 4.02 mm tall — about the same as the exposed part of a mouse wheel — and about 2 mm of it pokes above the keycaps.

Then give it detents that don't exist. Bond a linear resonant actuator to part of the flat chord face of the segment. Smartwatch LRAs (12 × 5 × 3 mm, the class of part used in Apple Watch) are mature, cheap in volume, and already qualified for sub-20 ms haptic latency. Dimensions that are a problem in a watch are nothing in a laptop. Drive it with PWM waveform profiles and you can synthesize click detents, free-spin...

Read more »

VirtualScrollWheel.pdf

Specification

Adobe Portable Document Format - 117.63 kB - 09/24/2026 at 05:58

Preview

FigsVirtualScrollWheel.pdf

Figure set for specification

Adobe Portable Document Format - 1.32 MB - 09/24/2026 at 05:05

Preview

  • 1 × Curved touch arc (disk segment) 17 mm chord, 4.02 mm tall, mutual-capacitance electrodes on the curved face: 1 TX, 16+ RX, evenly spaced. Core.
  • 1 × Linear resonant actuator (LRA) Smartwatch-class vibration motor, 12 × 5 × 3 mm, bonded to the flat face of the arc. Creates the detent clicks. Core.
  • 1 × TI DRV2605L haptic driver Drives the LRA, with back-EMF sensing and auto-resonance tracking. Core.
  • 1 × Azoteq IQS7211E touch controller Mutual-capacitance controller that reads finger position on the arc. Any equivalent controller works. Core.
  • 1 × Silicone damping isolator 1 mm thick, 50–70 Shore A. Keeps vibration at the fingertip, not the palm rest. Core.

View all 9 components

  • Why no laptop has a scroll wheel

    Madhav Kavuru3 hours ago 0 comments

    Everybody has asked for one. Nobody ships one. The reason is not taste, it is 15 millimeters.

    Scroll wheels on current mice run roughly 15–22 mm in diameter. A thin laptop's keyboard section gives you about 10 mm of internal height, total. You cannot put a 15 mm wheel in a 10 mm space. And shrinking the wheel below 15 mm doesn't rescue you: it gets unpleasant to use, and you still have to redesign and miniaturize the optical encoder, the bearing, and the ratchet to fit.

    So instead the industry gave us the scroll strip painted onto a corner of the touchpad. Those are too sensitive to be precise, they break after driver updates because they share the touchpad's driver stack, they eat usable touchpad area, and they make you steer around a region of your own trackpad to avoid scrolling by accident. Most of all, they feel like dragging a scroll-bar thumb. They do not feel like a wheel, because your fingertip has nothing curved to register against.

    Arrow keys are the other fallback, and they remain terrible. In a word processor they crawl line by line and then lurch a full page.

    This project's answer is in the Details tab in full, with a stack budget that lands at about 9.5 mm — inside the 10 mm envelope. The rest of these logs walk through how, one piece at a time.

    If you think the 15 mm number is wrong, or that there's a mechanical wheel design I've missed, please argue with me in the comments. That's the most useful thing that could happen to this project.

View project log

  • 1
    Step 1

    Read this first

    The full specification PDF in the Files tab is the authoritative document. Everything below is a build path through it.

    Provenance

    This is the part a manufacturer's lawyer will look for, so it is stated plainly.

    • US provisional application 63/819,460, filed June 6, 2025, titled "Virtual Scroll Wheel Input Device with Adaptive Touch Sensing and Modular Haptic Feedback" — lapsed. No non-provisional was filed. Expired June 6, 2026.
    • Open-source publication, August 2025, at multiple online locations including LinkedIn, together with the one-page sell sheet in the gallery. That publication is more than a year old, which under US law bars me from patenting this and makes it prior art against anyone who files after that date.
    • Defensive publication: Kavuru, Madhav, "Virtual Scroll Wheel Input Device with Adaptive Touch Sensing and Modular Haptic Feedback", Technical Disclosure Commons, September 8, 2026 — https://www.tdcommons.org/dpubs_series/11653
    • No patent rights are asserted by the author, and none will be.
    • Full specification, with all claims and the complete method description
    • Figure set, including the dimensioned side view and the electrode pattern
    • Industrial-design renderings
    • The August 2025 sell sheet

    Documentation is CC BY 4.0. Hardware is CERN-OHL-S v2. Firmware is MIT.

    What is in the Files tab

    There is no CAD, PCB, or firmware release yet, because no prototype has been built. That is the open invitation: the geometry, the sensing scheme, the algorithm, and the waveform table are all specified in enough detail to build from, and whoever builds the first one gets to publish the files.

    Build path

    1. Fabricate the segment. A circular segment no larger than a semicircle, standing up through an opening in the chassis. Reference geometry: 22 mm implied wheel diameter, 17 mm chord, 4.02 mm standing height, roughly 2 mm exposed above the keycaps. The curved outer face is the touch surface. Nothing rotates — it is a rigid, non-bendable part, which is why it should be easier to make than the curved touch panels already mass-produced for phones.

    2. Lay out the electrodes. Mutual capacitance, not self-capacitance. One TX electrode running along the length of the arc, RX electrodes perpendicular to it and segmented along it. Use 16 or more RX for 0.5 mm resolution. Space them evenly along the arc so the software mapping stays trivial. One end of each line routes to a dedicated controller pin; the other terminates at the pattern edge. Do not substitute an RX-only self-capacitance strip — it brings ghost touches, worse noise immunity, worse resolution, and less stable response.

    3. Mount the actuator. Bond a linear resonant actuator to part of the flat chord face of the segment. A smartwatch-class bar LRA, roughly 12 × 4 × 3.5 mm, is the target class of part.

    4. Isolate it. A 1 mm silicone isolator, 50–70 Shore A, under the assembly. This is required in every configuration — it keeps the sensation at the fingertip instead of buzzing the whole palm rest.

    5. Wire the front end. A mutual-capacitance trackpad controller drives the matrix. No dedicated microcontroller is needed in a product: the module reports over I²C-HID to the embedded controller or SoC, the same transport a Windows precision touchpad already uses. For a bench prototype, an RP2040 speaking USB HID is the easy path.

    6. Implement the tracking loop.

    • Init sensor: mutual capacitance, 1 TX, 16+ RX.
    • Scan matrix: TX pulse sequence, measure RX, collect raw data.
    • Filter noise, subtract baseline, threshold.
    • Compute contact centroid (weighted average of activated electrodes) and contact width Δ = Max(RX) − Min(RX).
    • Gate: if width is changing faster than a set rate, the patch is growing or shrinking — a press or a release, not a stroke. Report no motion this frame and update the reference position. This step is what kills early-stroke mush.
    • Scroll distance = (current centroid − previous centroid) × sensitivity, where sensitivity is calibrated once to compensate the centroid's understatement of finger travel.
    • Reject frames below a minimum displacement, to suppress jitter while a finger rests on the arc.
    • After 500 ms of continuous contact, enter precision mode at 0.1 mm resolution.
    • Fire the LRA with PWM derived from distance and speed.
    • Send the HID report.

    Vertical only.

    7. Load the waveform table.

    Parameter

    Value

    Base frequency

    100–200 Hz (LRA resonance)

    Detent click

    50% duty, 1–2 ms pulses

    Free scroll

    10–30% duty, continuous sine modulation

    Pressure feedback

    5–80% duty, proportional to force

    Crisp detent waveform

    Square, 175 Hz at 50% duty

    Inertial scroll waveform

    Sine sweep 100 → 200 Hz

    Page turn

    Burst, 3–5 cycles at 175 Hz

    Touch-to-vibration latency

    < 20 ms

    Detents target roughly 0.1 N·m, free-spin 0.05 N·m. Drive closed-loop: back-EMF sensing to correct PWM in real time, auto-resonance tracking to hold efficiency across temperature and aging.

    8. Stop here for a first build. Steps 1–7 are the Core configuration — a real scroll wheel in a 9.5 mm stack. Pressure-to-zoom is firmware only and adds no parts; tilt-to-horizontal adds two components and a vibration-isolation problem, and should wait for a second generation. Both are fully specified in the Details tab.

    Note for implementers reading the specification

    The specification discloses the leading-edge tracking method in detail. That is deliberate: the disclosure is intentionally broader than the recommendation, so it functions as prior art across both approaches. The centroid method in step 6 above is what I recommend you actually ship, for the reasons given in the Details tab. If you implement leading-edge at all, put it behind a settings toggle rather than in the main path.

    Contact

    Madhav Kavuru — mkavuru2@gmail.com

    Tell me where this is wrong. That is more useful to me than agreement.

View all instructions

Enjoy this project?

Share

Discussions

Does this project spark your interest?

Become a member to follow this project and never miss any updates