

Avr scroll
AVR-based device for ultra-smooth PC scrolling.
- Copper layers
- 2
- Thickness
- 1.6 mm
- Parts
- 37
- Nets
- 38
- Pads
- 128
- Tracks, vias
- 241, 20
- Pours
- 2
- Routed
- Yes
- KiCad
- KiCad 9.0 (file 20241229)
- Created
- 31 Aug 2026
- Updated
- 31 Aug 2026
Overview
Avr scroll is an open-source printed circuit board by kpierzynski, from the kpierzynski/avr_scroll repository on GitHub. It is a 2-layer board with 37 parts on 38 nets, routed with 241 tracks and 20 vias.
It is built around the ATMEGA48-20AU and AS5600-ASOM. Its parts include 13 resistors, 8 capacitors, 3 ICs, 2 diodes and 1 connector. It belongs with the AVR (ATmega, ATtiny) boards of this library.
Main components
2ATMEGA48-20AU
TQFP-32(7x7)-40℃~+85℃ 10bit 2.7V~5.5V 20MHz 23 256Byte 4KB 512Byte 8 Bit AVR Built-in FLASH TQFP-32(7x7) Microcontrollers (MCU/MPU/SOC) ROHSMicrochip TechnologyMicrocontrollers (MCU/MPU/SOC)AS5600-ASOM
SOIC-8-40℃~+125℃ 0°~360° 1.75mm 3.3V、5V 3.9mm 4.9mm 6.5mA Magnetic rotary position sensor No PWM、I2C SOIC-8 Position Sensors ROHSAdvanced Monolithic SystemsPosition Sensors
README
README.mdAVR AS5600 Hi-Res Scroll
A high-resolution scroll wheel recognized by the host as a standard USB HID mouse. An AS5600 magnetic position sensor measures the rotation, while an AVR microcontroller converts it into mouse wheel input. No additional drivers are required.
Hardware
- ATmega328P running at 12 MHz
- AS5600 magnetic position sensor connected over I²C
- USB-C interface implemented with V-USB
- Magnet centered above the sensor
- 3D-printed enclosure
- 52 mm bicycle bearing (the enclosure uses a 51.5 mm press-fit seat)
Repository structure
src/— AVR firmware and V-USB librarypcb/— KiCad project, PCB model, and Gerber filescase/— OpenSCAD enclosure source and printable STL filesas5600_datasheet.pdf— sensor datasheet
Building and flashing
Requires avr-gcc, avr-libc, avrdude, make, and a USBasp programmer.
cd src
make
make flashThe firmware is configured for an ATmega328P running at 12 MHz. The resulting firmware is written to src/build/main.hex.
Enclosure
Print the supplied case/top.stl and case/bottom.stl files, or customize case/case.scad in OpenSCAD to adjust the bearing fit and other dimensions.
During assembly, ensure that the magnet is correctly oriented and centered above the AS5600.
Parts
37| Qty | Value | Footprint | References |
|---|---|---|---|
| 3 | 100nF | Capacitor_SMD:C_0805_2012Metric | C1, C4, C8 |
| 3 | 10uF | Capacitor_SMD:C_0805_2012Metric | C2, C3, C7 |
| 2 | 10K | Resistor_SMD:R_0805_2012Metric | R4, R11 |
| 2 | 22pF | Capacitor_SMD:C_0805_2012Metric | C5, C6 |
| 2 | 470R | Resistor_SMD:R_0805_2012Metric | R10, R13 |
| 2 | 5K1 | Resistor_SMD:R_0805_2012Metric | R8, R9 |
| 2 | 5K6 | Resistor_SMD:R_0805_2012Metric | R2, R3 |
| 2 | 68R | Resistor_SMD:R_0805_2012Metric | R5, R6 |
| 2 | LED | Diode_SMD:D_0805_2012Metric | D1, D2 |
| 2 | MountingHole | MountingHole:MountingHole_2.2mm_M2 | H1, H2 |
| 1 | 12MHz | Crystal:Crystal_SMD_5032-2Pin_5.0x3.2mm | Y1 |
| 1 | 1K5 | Resistor_SMD:R_0805_2012Metric | R7 |
| 1 | 1M | Resistor_SMD:R_0805_2012Metric | R1 |
| 1 | 3V3 | TestPoint:TestPoint_Pad_D1.5mm | TP6 |
| 1 | 470R | Resistor_SMD:R_1206_3216Metric | R12 |
| 1 | AS5600-ASOM | Package_SO:SOIC-8-1EP_3.9x4.9mm_P1.27mm_EP2.29x3mm | IC1 |
| 1 | ATmega48-20A | Package_QFP:TQFP-32_7x7mm_P0.8mm | U1 |
| 1 | GND | TestPoint:TestPoint_Pad_D1.5mm | TP5 |
| 1 | HT75xx-1-SOT89 | Package_TO_SOT_SMD:SOT-89-3 | U3 |
| 1 | MISO | TestPoint:TestPoint_Pad_D1.5mm | TP2 |
| 1 | MOSI | TestPoint:TestPoint_Pad_D1.5mm | TP1 |
| 1 | RESET | TestPoint:TestPoint_Pad_D1.5mm | TP4 |
| 1 | SCK | TestPoint:TestPoint_Pad_D1.5mm | TP3 |
| 1 | SW_Push | Button_Switch_SMD:SW_SPST_TS-1088-xR020 | SW1 |
| 1 | USB_C_Receptacle_USB2.0_14P | Connector_USB:USB_C_Receptacle_G-Switch_GT-USB-7010ASV | J1 |
Similar boards
- 4 layers158.8 × 104.1 mm

- 2 layers55.9 × 31.8 mm

Fusebit Doctor TQFP32-adapter
atoomnetmarc/Fusebit-Doctor-TQFP32-adapter
Fusebit Doctor TQFP32 adapter
2 partsApache-2.0 - 2 layers40 × 50 mm

- 2 layers90 × 67.5 mm

- 2 layers20 × 40 mm

Nixie Module IN-14 Zener
minori24/NixieModule
使用方法は Getting Started および Library Reference を参照して下さい。
33 parts7 - 2 layers81.6 × 57.2 mm

Leetai2
vonkonow/LeetAI
Leet AI – Wireless Synthesizer Ensemble with AI-powered composition for endless inspiration
72 parts42MIT - 2 layers42.3 × 42.3 mm

Wireless Stepper Motor Controller
Circuit-Digest/Wireless-Stepper-Motor-Controller
The Wireless Stepper Driver is a compact and efficient motion control system designed to control stepper motors over Wi-Fi.
62 parts17MIT - 2 layers22.6 × 16.8 mm

AS5600-Encoder PCB
dhairyashah1/BLDC-Encoder-PCB
This repository contains KiCAD Design Files for Encoder PCB made using AS5600 hall sensor based Encoder Chip for SRA-VJTI's BLDC Actuator and Quadraped Testing.
15 parts3GPL-3.0
Questions
What parts does the Avr scroll use?
37 parts, built around the ATMEGA48-20AU and AS5600-ASOM. 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 Avr scroll KiCad files?
From the kpierzynski/avr_scroll repository on GitHub, at the commit this page was made from: the board is pcb/pcb.kicad_pcb and its schematic pcb/pcb.kicad_sch. PCBKit opens the board in the browser, with nothing to install.
Can I use the Avr scroll design in my own project?
Its repository states no licence, so its author keeps all rights: ask kpierzynski before reusing the design.