A Physical Knob For Browser Tabs

If you’re like most of us, you have about twenty browser tabs open right now. What if there were a way to move through those tabs with a physical interface? That’s what [Zoe] did, and it’s happening with the best laptop ever made.

The hardware for this build is simply an Arduino and a rotary encoder, no problem there. The firmware on the Arduino simply reads the encoder and sends a bit or two of data over the serial port. This build gets interesting when you connect it to a Firefox extension that allows you to get data from a USB or serial port, and there’s a nice API to access tabs. Put all of this together, and you have a knob that will scroll through all your open tabs.

This build gets really good when you consider there’s also a 3D printed mount, meant to attach to a Thinkpad X220, the greatest laptop ever made. At the flick of a knob, you can scroll through all your tabs. It’s handy if you’re reading three or four or five documents simultaneously, or if you’re just editing video and trying to go through your notes at the same time. A great invention, and we’re waiting for this to become a standard device on keyboards and mice. Check out the video below.

35 thoughts on “A Physical Knob For Browser Tabs

    1. Yes you can use the tab change shortcut over USB HID fairly easily (eggs with an arduino micro pro)
      I don’t understand this project, how is it faster than the keyboard shortcut?

      1. As she mentions in the description one big advantage is the browser will always receive the signal, even if it does not have focus. Sending a Ctrl+PageUp signal would mean you first have to focus the browser (as otherwise your other application will receive the event).

        Sure, switching to the browser doesn’t take a whole lot of time, but I do think using something like this could help your workflow.

  1. Hint for Linux users: imwheel can be used to map those extra mouse buttons to keyboard shortcuts like Ctrl+PgDown/PgUp which switch tabs. I have mapped the sideways scroll wheel tilt to switch tabs. No browser extension is required but the window has to have focus.

      1. Before Firefox went to Quantum I would have between 300 and 800 tabs open on a regular basis. Then came the Quantum release, and for all it was lauded, it struggled with 30 tabs on my machine which would grind to a halt. Four or five tabs open would take gigabytes of memory.
        I went to another fork of the ‘fox, things are better now.

        1. Really? I never noticed any extra memory use at all even on old poulsbo atom’s. I rarely have less than 100 tabs even on the older machines.. I think I need one of these devices. Though for me I’d have two ‘dials’ one to jump windows and one to jump tabs (though I’ve not looked at the API yet).

          I tend to sort my horde of tabs into related window clusters. Frequently with multiple windows for the same task to reference more than one page at once.. so it quickly gets annoying to switch around windows as well as tabs.

    1. Genuine question, why so many? I find prodictivity, say when researching or having datasheets open, drops off over 10 or so tabs as it become troublesome to locate a particular page, so I tend to have several windows with a handfull of tabs each, usually grouped by relevancy. Am I missing a trick?

      1. At least here ( 422 tabs as of now ) , I avoid using many windows because sometimes you close the window instead of the tab, and then loses all of the tabs in that window. Or sometimes the browser won´t reopen the windows that were open the last time, and then I lose those tabs.

        What works for me is grouping the tabs, either using native options, when the browser has it, or extensions. That way I can keep adding tabs to lets say a group for something that I´m researching buying, but no in a hurry, then when the thing is solved/bought, just delete the group and be done.

      2. “””Genuine question, why so many?”””

        Because I have a problem. I mean that literally, I’m a hoarder, I command-click a dozen things to read, then in the second resulting tab I command-click a few things, pop one out to a window, lather, rinse, repeat, and there you go. I live in a perpetual state of terror that a browser crash will lose all my tabs … while simultaneously hoping that a browser crash will lose all my tabs.


        1. hi there – know that – still there .. and still gotta ‘recover’ n times to get those sweet infos into some mails to be sent to myself or to go onto some github repo ..
          .. also, and while the project is neat, I’d have done it another way ( and still gotta finish writing an ap to do so ( .. )
          – ‘server’ listening for stuff coming over serial ( or bluetooth )
          – ‘xdotool’ handling the keyboard / mouse inputs generation ( we can pass the window to be focused )
          – positionning the rotary encoder close to the keyboard & not in the upper right corner to lessen the arms effort

          nb: still gotta finish & publish an app that provides ‘visual shortcuts’ on a tablet corresponding to the app being focused on the laptop ;) ( intended to replace & make more ‘generic’ stuff offered by Adobe to trigger Illustrator & Cie tools selection ;p )

  2. I even thought about such a knob which could be simply sticked to the glass surface of an iPad and that transmits data via Bluetooth in order to adjust parameters of Synthesizer and other music apps. I have just no time to built or program it but I know that such a gadget would be highly appreciated by me and probably others too. Nice work!

  3. I fought the browser tab war a long time ago, and won. No hardware needed. I’m on Windows and so I get to use one of the coolest tools around (If that’s not troll bait, nothing is! :P )


    This one little AHK line changed how I switch tabs forever:


    That means my right alt key, the one that is immediately next to the space bar, is now equal to ctrl+tab. I just move my right thumb over a little bit and hit right alt, and I tab to the right. To tab to the left, I do shift+RightAlt and I’m tabbing left. My hands never leave home row. It’s amazing. Of course I use AHK for other cool things too- it saves me a LOT of typing.

  4. I already have a physical input though, it’s called cmd alt left/right on my mac and ctrl tab and ctrl shift tab on my Linux. I think. Might’ve messed up one of those combinations, I have them in my muscle memory.

  5. I’m using digisparks off ebay for <$2 to make my usb stuff. it only has 4 ports but thats plenty for a simple custom kb or rotary encoder. if you need more use a shift register.

  6. Any way to easily extend this to using selected keys, or a foot pedal, or game pad, or etc. to control an app which does not have focus. (Like the web browser, or picture viewer, or …)
    Would be nice to make F11 and F12 (say) switch tabs on a web browser which is not the active window. (Or use a foot pad like in dictation for similar thing. Or use a rotary encoder with a switch as in this example. Or even have a second mouse or keyboard control a second application.)

    Not sure if an extension in Firefox would be way to do this, or a separate application which can take the focused input and parcel it out to various applications as desired.

Leave a 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.