
Mouse
geoffgun15/openmice
Custom PAW3395 wireless mouse and receiver PCBs, firmware, and web configurator.

A custom, high-performance wireless mouse project featuring custom PCB design, high-end optical sensors, and Hall effect switches.
Mouse is an open-source printed circuit board by lordor5, from the lordor5/Mouse repository on GitHub. It is a 2-layer board of 45 × 45 mm with 36 parts on 47 nets, routed with 335 tracks and 44 vias.
It is built around the PAW3395DM-T6QU and TLV70019DDCR. Its parts include 14 capacitors, 3 connectors, 2 switches, 1 resistor and 1 IC. It belongs with the nRF52 and nRF5x boards of this library.
A custom, high-performance wireless mouse project featuring custom PCB design, high-end optical sensors, and Hall effect switches. This repository contains all hardware schematics, PCB layouts, and firmware source code required to build the mouse from scratch.
⚠️ WORK IN PROGRESS (WIP) / UNTESTED HARDWARE ⚠️
This project is currently in active development. The custom PCB design and firmware have not yet been physically tested or manufactured. The files are provided as-is. Build at your own risk!

This project is built around the popular Nice!Nano (nRF52840) footprint and uses a combination of modern frameworks like Zephyr for the firmware. The hardware design is fully documented in KiCad and utilizes magnetic Hall effect sensors for durable, debounce-free clicking.
mouse.kicad_pcb) with production-ready Gerber/BOM files.The hardware relies on readily available components. Below is the core BOM based on the current design:
| Component | Description | Estimated Cost |
|---|---|---|
| PAW3395 | Primary Mouse Sensor | 10.00€ |
| TLE493DP2B6A2HTSA1 | Hall Effect Sensor (Switches) | 2.59€ |
| LDO Regulator | Power Management | 0.753€ |
| Nice!Nano | nRF52840 Microcontroller Board | - |
| TMAG5170A2QDGKR | Alternative Magnetic Sensor | - |
| SSSS811101 | Power Switch | - |
Note on Power: The 2V LDO regulator is required for stable sensor operation and is currently sourced via Mouser, as it is difficult to find on AliExpress.
.
├── Code/
│ ├── nrf/ # Rust-based firmware using nrf-hal (blinky, pwm, i2s, usb)
│ ├── PMW3389DM-master/ # Arduino polling/interrupt examples for the sensor
│ └── zephyr/ # Zephyr RTOS implementation and board overlays
├── Img/ # Project images and renders (e.g., PCBFront.png)
└── PCB/
├── Components/ # Custom KiCad footprints and symbols (.step, .kicad_mod)
├── production/ # Manufacturing files (BOM, positions, netlist, zip)
└── mouse.kicad_pro # Main KiCad project fileThis repository offers multiple paths for firmware development depending on your preferred tech stack:
Code/nrf): Bare-metal Rust implementation utilizing embassy or nrf-hal for maximum memory safety and low power consumption (NOT TESTED).Code/zephyr): Includes board overlays (e.g., nrf52840dk, esp32c3) and HID peripheral configurations for scalable RTOS development (NOT TESTED).Code/PMW3389DM-master): For rapid prototyping, utilizing the standard ESP32 BLE Mouse library.Navigate to the Code/nrf directory and use Cargo to build the project for the thumbv7em-none-eabi target:
cd Code/nrf
cargo build --releaseAll necessary files to order the PCB from fabricators (like JLCPCB or PCBWay) are located in the PCB/production/ folder.
mouse.zip: Contains the Gerber files.bom.csv: Bill of Materials for SMT assembly.positions.csv: CPL/Pick-and-place files.| Qty | Value | Footprint | References |
|---|---|---|---|
| 8 | 100nf | Capacitor_SMD:C_0805_2012Metric | C2, C4, C5, C10, C11, C12, C13, C14 |
| 3 | 10uf | Capacitor_SMD:C_0805_2012Metric | C3, C6, C7 |
| 2 | .1 | Resistor_SMD:R_1206_3216Metric | RL3, RL4 |
| 2 | 2.2 | Resistor_SMD:R_0805_2012Metric | RL1, RL2 |
| 2 | AH8503-FDC-7 | Package_DFN_QFN:DFN-6-1EP_2x2mm_P0.65mm_EP1.01x1.7mm | HALL1, HALL2 |
| 2 | TMAG5170A2QDGKR | TMAG5170A2QDGKR:SOP65P490X110-8N | 3DHALL1, 3DHALL2 |
| 1 | 1 | Resistor_SMD:R_0805_2012Metric | RL5 |
| 1 | 10k | Resistor_SMD:R_0805_2012Metric | R1 |
| 1 | 1uf | Capacitor_SMD:C_0805_2012Metric | C8 |
| 1 | 22uf | Capacitor_SMD:C_0805_2012Metric | C9 |
| 1 | 4.7uf | Capacitor_SMD:C_0805_2012Metric | C1 |
| 1 | Bat | 53261-4002:532614002 | J3 |
| 1 | Conn_01x04_MountingPin | Connector_JST:JST_SH_SM04B-SRSS-TB_1x04-1MP_P1.00mm_Horizontal | J2 |
| 1 | Conn_01x05_Shielded | Connector_PinHeader_2.54mm:PinHeader_1x05_P2.54mm_Vertical | J1 |
| 1 | PAW3395 | PAW3395:DIP-16_PAW3395 | OpticalSensor1 |
| 1 | SW_DPDT_x2 | SSSS811101:SSSS811101 | SW2 |
| 1 | SW_Push | PCM_JLCPCB:SW_TS-1088-AR02016 | SW1 |
| 1 | TLV70019DDCR | SOT95P280X110-5N:SOT95P280X110-5N | LDO1.9 |
| 1 | nice_nano | Nice_nano:nice_nano | U2 |
The 32 most common of 36 parts.
It measures 45 × 45 mm and has 2 copper layers, 1.6 mm thick.
36 parts, built around the PAW3395DM-T6QU 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.
From the lordor5/Mouse repository on GitHub, at the commit this page was made from: the board is PCB/mouse.kicad_pcb and its schematic PCB/mouse.kicad_sch. PCBKit opens the board in the browser, with nothing to install.
Its repository states no licence, so its author keeps all rights: ask lordor5 before reusing the design.

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



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.


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.


hoglet67/RGBtoHDMI
Bare-metal Raspberry Pi project that provides pixel-perfect sampling of Retro Computer RGB/YUV video and conversion to HDMI