Skip to the content
4 layers64 × 94 mmMouse, the printed circuit board in 3D

Custom PAW3395 wireless mouse and receiver PCBs, firmware, and web configurator.

Size
64 × 94 mm
Copper layers
4
Thickness
1.6 mm
Parts
51
Nets
79
Pads
238
Tracks, vias
720, 80
Pours
3
Routed
Yes
KiCad
KiCad 10.0 (file 20260206)
Created
9 Oct 2026
Updated
9 Oct 2026

Overview

Mouse is an open-source printed circuit board by geoffgun15, from the geoffgun15/openmice repository on GitHub, published under the MIT licence. It is a 4-layer board of 64 × 94 mm with 51 parts on 79 nets, routed with 720 tracks and 80 vias.

It is built around the MDBT50Q-1MV2, PAW3395DM-T6QU and BQ24072RGTR, with the TLV70019DDCR and USBLC6-2SC6 among its other parts. Its parts include 19 capacitors, 12 resistors, 10 connectors, 6 ICs and 3 switches. It belongs with the nRF52 and nRF5x boards of this library.

Main components

5

README

readme.md

OpenMice

Custom PAW3395 rechargeable mouse, USB wireless receiver, and browser configurator.

Standalone repository: https://github.com/geoffgun15/openmice. Migrated from the original fork with all eight commits retained and the confidential PixArt PDF removed from every commit. Historical commit IDs changed.

A1 is a routed prototype package. Both boards pass KiCad electrical, clearance, connectivity and schematic parity checks. Custom runtime and bootloader builds, factory HEX, runtime UF2 and fabrication exports are included. Physical tests are NOT RUN: there is no assembled board. Review the first-article procedure and fabrication requirements before a prototype order.

ComponentIncluded
MouseBare PAW3395, nRF52840 module, 1S LiPo charger/power path, five buttons + scroll
ReceiverCustom nRF52840 board, USB-C, BLE-to-USB HID and configuration bridge
FirmwareCorrected sensor startup/ID/timing, 16-bit motion, DPI, bindings, persistence
EditorWeb Serial, DPI, mouse/keyboard bindings, Apply/Save, import/export and demo

The radio modules are soldered components on custom PCBs; nice!nano is no longer used. BLE is the prototype radio; proprietary 1000 Hz wireless is not implemented.

Board renders

KiCad assembly renders with all 51 mouse and 18 receiver components fitted. The sensor, radio module, USB-C, charger and crystal use simplified visual models; these images do not validate mechanical fit. The battery, main click switches and scroll encoder connect externally. See model details.

Mouse PCB · 64 × 94 mmWireless receiver PCB · 28 × 54 mm
Populated OpenMice mouse PCB with sensor, radio module and connectorsPopulated OpenMice wireless receiver PCB with radio module and USB-C

Bare PCB views: mouse · receiver.

Preview

sh
python -m http.server 8765 --bind 127.0.0.1 --directory web

Open http://127.0.0.1:8765/ in desktop Chrome/Edge. Demo mode works without hardware. A real connection requires the supplied runtime and mouse/receiver.

Native build details, hashes and CAD export workflow: BUILD.md.

Development

sh
python -m unittest discover -s tests -v
node --test web/test.mjs
python tools/package_firmware.py

tools/build_hardware.py regenerates starting placements and overwrites manual edits. The confidential sensor PDF is excluded from this public repository and its Git history. Prototype assumptions: LM19-LSI optics, 64 x 94 mm mouse outline, external switch/encoder contacts, and a protected 300 mAh cell with compatible NTC temperature sensing.

Project code: MIT. Vendored KiCad libraries retain their upstream licenses; see hardware/README.md. Obtain sensor documentation through an authorized source.

Parts

51
QtyValueFootprintReferences
4100nF X7ROpenMice:C_0603_1608MetricC10, C12, C14, C19
310uF 6.3V X5ROpenMice:C_0805_2012MetricC9, C17, C18
31uF 10V X7ROpenMice:C_0603_1608MetricC1, C5, C8
2100kOpenMice:R_0603_1608MetricR11, R12
2100k 1%OpenMice:R_0603_1608MetricR9, R10
2100nF 10V X7ROpenMice:C_0603_1608MetricC3, C4
210kOpenMice:R_0603_1608MetricR3, R5
218pF C0G (tune)OpenMice:C_0603_1608MetricC6, C7
25.1k 1%OpenMice:R_0603_1608MetricR1, R2
110uF X5ROpenMice:C_0805_2012MetricC13
11uF 10V X7ROpenMice:C_0805_2012MetricC16
13.09k 1%OpenMice:R_0603_1608MetricR7
132.768kHz 12.5pF ABS07OpenMice:Crystal_SMD_3215-2Pin_3.2x1.5mmY1
133uF 6.3V X5ROpenMice:C_0805_2012MetricC15
14.7uF 6.3V X5ROpenMice:C_0603_1608MetricC2
14.7uF X5ROpenMice:C_0603_1608MetricC11
15.6R 1%OpenMice:R_0603_1608MetricR4
15.90k 1%OpenMice:R_0603_1608MetricR6
168k 1%OpenMice:R_0603_1608MetricR8
1BQ24072RGTROpenMice:BQ24072_RGT0016CU6
1BUTTON_BACK contactOpenMice:PinHeader_1x02_P2.54mm_VerticalJ8
1BUTTON_FORWARD contactOpenMice:PinHeader_1x02_P2.54mm_VerticalJ9
1BUTTON_LEFT contactOpenMice:PinHeader_1x02_P2.54mm_VerticalJ5
1BUTTON_MIDDLE contactOpenMice:PinHeader_1x02_P2.54mm_VerticalJ7
1BUTTON_RIGHT contactOpenMice:PinHeader_1x02_P2.54mm_VerticalJ6
1Charger status: GND / PGOOD / CHGOpenMice:PinHeader_1x03_P2.54mm_VerticalJ4
1Encoder: A / GND / BOpenMice:PinHeader_1x03_P2.54mm_VerticalJ10
1MDBT50Q-1MV2OpenMice:Raytac_MDBT50QU1
1PAIR TL3342OpenMice:SW_SPST_TL3342SW1
1PAW3395DM-T6QUOpenMice:PAW3395DM_T6QUU4
1Power PCM12OpenMice:SW_SPDT_PCM12SW3
1Protected 1S 300mAh + 10k NTC (BAT/GND/NTC)OpenMice:JST_PH_B3B-PH-K_1x03_P2.00mm_VerticalJ3
1RESET TL3342OpenMice:SW_SPST_TL3342SW2
1SWD: VDD / SWDIO / SWDCLK / GND / RESETOpenMice:PinHeader_1x05_P2.54mm_VerticalJ2
1TLV70019DDCROpenMice:SOT-23-5U5
1TLV70030DDCROpenMice:SOT-23-5U3
1USB-C HRO TYPE-C-31-M-12OpenMice:USB_CJ1
1USBLC6-2SC6OpenMice:SOT-23-6U2

More from geoffgun15/openmice

1
  • 4 layers28 × 54 mmReceiver, the printed circuit board in 3D

    Receiver

    geoffgun15/openmice

    Custom PAW3395 wireless mouse and receiver PCBs, firmware, and web configurator.

    18 partsMIT

Similar boards

  • 2 layers45 × 45 mmMouse, the printed circuit board in 3D

    Mouse

    lordor5/Mouse

    A custom, high-performance wireless mouse project featuring custom PCB design, high-end optical sensors, and Hall effect switches.

    36 parts
  • 2 layers34.2 × 31.3 mmNrf52820 hiiri, the printed circuit board in 3D

    Nrf52820 hiiri

    samuwall/hiiri-v1

    open-source wireless gaming mouse (nRF52 + PAW3395)

    46 parts7
  • 2 layers82 × 38.5 mmLabMouse, the printed circuit board in 3D

    LabMouse

    dzervas/labMouse

    29 parts1
  • 2 layers30 × 20 mmBOB PMW3610-SEIBOKU, the printed circuit board in 3D

    BOB PMW3610-SEIBOKU

    snize/BOB-PMW3610-SEIBOKU

    This project is licensed under the CERN OHL-P v2. You may use, distribute, and modify this design under the terms of the CERN OHL-P v2. Original design by snize.

    17 parts20CERN-OHL-P-2.0
  • 2 layers235.5 × 200 mmRKD07 Assemble BUILD, the printed circuit board in 3D

    RKD07 Assemble BUILD

    rikkodo/Rikkodo_PCB

    This project is licensed under the CERN OHL-P v2. You may use, distribute, and modify this design under the terms of the CERN OHL-P v2. Original design by snize.

    248 parts
  • 4 layers60 × 60 mmRocket payload, the printed circuit board in 3D

    Rocket payload

    Gupatron/Gupsfirstpcb

    This is the first pcb that I will manufacture and intend to use for teleop usecases in my personal projects.

    138 parts

Questions

How big is the Mouse PCB?

It measures 64 × 94 mm and has 4 copper layers, 1.6 mm thick.

What parts does the Mouse use?

51 parts, built around the MDBT50Q-1MV2, PAW3395DM-T6QU, BQ24072RGTR and TLV70019DDCR. 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 Mouse KiCad files?

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

Can I use the Mouse design in my own project?

Its repository publishes it under the MIT licence: you may reuse it on that licence's terms (keep the author's notice, and for a copyleft licence share your changes alike).