Skip to the content
PCBKitNew board
2 layersOmniScroll, the printed circuit board in 3D

OmniScroll — A high-precision, low-friction desktop scroll wheel featuring a magnetic encoder, hybrid ceramic bearing, and free-spinning flywheel momentum.

Copper layers
2
Thickness
1.6 mm
Parts
47
Nets
71
Pads
160
Tracks, vias
206, 38
Pours
2
Routed
Yes
KiCad
KiCad 10.0 (file 20260206)
Created
10 Sep 2026
Updated
10 Oct 2026

Overview

OmniScroll is an open-source printed circuit board by BBroadbent, from the BBroadbent/OmniScroll repository on GitHub. It is a 2-layer board with 47 parts on 71 nets, routed with 206 tracks and 38 vias.

It is built around the BSS138 and UJC-H-G-SMT-P6-TR. Its parts include 19 resistors, 6 capacitors, 6 connectors, 5 diodes and 4 ICs. It belongs with the nRF52 and nRF5x boards of this library.

Main components

2

README

README.md

OmniScroll

OmniScroll is an open-source, ultra-smooth desktop scroll wheel designed for precise CAD navigation, timeline scrub control, and high-speed document scrolling.

By utilizing a large-diameter thin-section bearing and an off-axis magnetic rotary encoder, FluxDial achieves an effortless flywheel spin with zero axis wobble.

FluxDial Banner


Key Features

  • Flywheel Momentum: Utilizes an S6808 hybrid ceramic bearing ($40 \times 52 \times 7\text{ mm}$) stripped of grease for near-zero rotational resistance.
  • Magnetic Angle Sensing: High-resolution rotary encoder (AS5600 / MA730) for smooth, non-contact position tracking.
  • Zero Axis Play: Large-bore thin-section design houses internal electronics inside the hollow core, lowering the center of gravity and eliminating side-to-side wobble.
  • Custom Control Curves: Configurable firmware supporting variable-speed scroll acceleration, granular scrub modes, and custom macro actions.

Hardware Assembly

Bill of Materials (BOM)

ComponentSpecification / PartQtyNotes
Main BearingS6808-2RS Hybrid Ceramic ($40 \times 52 \times 7\text{ mm}$)1Degreased with IPA for maximum free-spin
Magnetic EncoderAS5600 or MA730 PCB Module1Mounts coaxially inside the inner ring
Diametral Magnet$6\text{ mm} \times 2.5\text{ mm}$ N35 (Diametrically Magnetized)1Fixed to the rotating outer knob shaft
MicrocontrollerRaspberry Pi Pico / Seeed XIAO (RP2040)1Compact form factor fits inside housing base
Enclosure3D Printed (PLA/PETG) or Machined Aluminum1Files provided in /cad

Getting Started

1. Bearing Preparation

  1. Carefully pop off the rubber seals (2RS) on the S6808 bearing.
  2. Submerge in isopropyl alcohol (IPA) and spin thoroughly to strip factory grease.
  3. Blow dry with compressed air. (Optional: Apply 1 drop of high-speed instrument oil for quieter operation).

2. Firmware Setup

  1. Clone this repository:
    bash
    git clone [https://github.com/your-username/FluxDial.git](https://github.com/your-username/FluxDial.git)

Parts

47
QtyValueFootprintReferences
101000RResistor_SMD:R_0603_1608Metric_Pad0.98x0.95mm_HandSolderR4, R5, R6, R7, R11, R12, R13, R14, R15, R19
5LEDLED_SMD:LED_0603_1608Metric_Pad1.05x0.95mm_HandSolderD1, D2, D3, D4, D5
4100KResistor_SMD:R_0603_1608Metric_Pad0.98x0.95mm_HandSolderR10, R16, R17, R18
41uCapacitor_SMD:C_0603_1608Metric_Pad1.08x0.95mm_HandSolderC2, C4, C5, C6
4Conn_01x01_PinTestPoint:TestPoint_Pad_D1.5mmJ2, J3, J4, J5
3MountingHoleMountingHole:MountingHole_2.2mm_M2_DIN965_PadH1, H2, H3
24.7uCapacitor_SMD:C_0603_1608Metric_Pad1.08x0.95mm_HandSolderC1, C3
25K1Resistor_SMD:R_0603_1608Metric_Pad0.98x0.95mm_HandSolderR1, R2
2BSS138Package_TO_SOT_SMD:SOT-23Q1, Q2
10RResistor_SMD:R_0402_1005Metric_Pad0.72x0.64mm_HandSolderR8
110KResistor_SMD:R_0603_1608Metric_Pad0.98x0.95mm_HandSolderR9
1200mAResistor_SMD:R_0603_1608Metric_Pad0.98x0.95mm_HandSolderF1
120KResistor_SMD:R_0603_1608Metric_Pad0.98x0.95mm_HandSolderR3
1Conn_01x02_PinConnector_Molex:Molex_PicoBlade_53048-0210_1x02_P1.25mm_HorizontalJ1
1MCP73831-2-OTPackage_TO_SOT_SMD:SOT-23-5U1
1SW_DIP_x01Button_Switch_SMD:SW_DIP_SPSTx01_Slide_6.7x4.1mm_W8.61mm_P2.54mm_LowProfileSW1
1TMAG5273A1QDBVTTMAG5273A1QDBVT:SOT95P280X140-6NU3
1TPS7A0233PDBVRPackage_TO_SOT_SMD:SOT-23-5U4
1UJC-H-G-SMT-P6-TRConnector_USB:UJCHGSMTP6TRJ6
1nRF52840_holyiot_18010kicad-keyboard-parts:nRF52840_holyiot_18010U2

Questions

What parts does the OmniScroll use?

47 parts, built around the BSS138 and UJC-H-G-SMT-P6-TR. The full list of its parts is on this page, with links to each part's symbol and footprint where PCBKit's library has them.

Where can I download the OmniScroll KiCad files?

From the BBroadbent/OmniScroll repository on GitHub, at the commit this page was made from: the board is PCB/OmniScroll/OmniScroll.kicad_pcb and its schematic PCB/OmniScroll/OmniScroll.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the OmniScroll design in my own project?

Its repository states no licence, so its author keeps all rights: ask BBroadbent before reusing the design.

Similar boards

  • 4 layers36 × 50.2 mmRacer, the printed circuit board in 3D

    Racer

    StuckAtPrototype/Racer

    These are structured into their own files. I could have used submodules, but decided against it.

    83 parts3.8kApache-2.0
  • 4 layers95 × 95 mmCube motherboard, the printed circuit board in 3D

    Cube motherboard

    willem-pennings/balancing-cube

    A cube that balances itself in a corner or edge using reaction wheels

    52 parts1.1kGPL-3.0
  • 2 layers54.6 × 70.9 mmBeagleLogic Cape, the printed circuit board in 3D

    BeagleLogic Cape

    abhishek-kakkar/BeagleLogic

    A Software Suite that implements a logic analyzer with the PRU on the BeagleBone / BeagleBone Black.

    22 parts479GPL-3.0
  • 2 layers44.2 × 29.3 mmI2c tiny usb, the printed circuit board in 3D

    I2c tiny usb

    harbaum/I2C-Tiny-USB

    Cheap and simple I²C to USB interface

    27 parts454
  • 2 layers21.6 × 52.3 mmPs2 pico hat, the printed circuit board in 3D

    Ps2 pico hat

    No0ne/ps2x2pico

    USB keyboard/mouse to PS/2 interface converter using a Raspberry Pi Pico

    17 parts399MIT
  • 2 layers45 × 45 mmAirCube, the printed circuit board in 3D

    AirCube

    StuckAtPrototype/AirCube

    Works standalone out of the box. Pairs with Home Assistant in minutes. Other platforms are supported through community-contributed extensions.

    61 parts379Apache-2.0
  • 4 layers74 × 104 mmBeepy, the printed circuit board in 3D

    Beepy

    sqfmi/beepy-hardware

    Beepy Hardware

    160 parts348MIT