

Mouse
Repository for Open Source Mouse Firmware and Hardware
- Size
- 50 × 90 mm
- Copper layers
- 2
- Thickness
- 1.6 mm
- Parts
- 49
- Nets
- 137
- Pads
- 282
- Tracks, vias
- 260, 44
- Pours
- 4
- Routed
- Yes
- KiCad
- KiCad 4
- Created
- 6 Aug 2018
- Updated
- 23 Apr 2021
Overview
Mouse is an open-source printed circuit board by biomurph, from the biomurph/Mouse repository on GitHub, published under the MIT licence. It is a 2-layer board of 50 × 90 mm with 49 parts on 137 nets, routed with 260 tracks and 44 vias.
It is built around the ATMEGA32U4-MU, CG0603MLC-05E and LL3301DF065QJ, with the MH2029-300Y, CJS-1200A and MF-MSMF050-2 among its other parts. Its parts include 12 capacitors, 9 resistors, 8 connectors, 4 diodes and 4 switches. It belongs with the AVR (ATmega, ATtiny) boards of this library.
Main components
6ATMEGA32U4-MU
VQFN-44-EP(7x7)-40℃~+85℃ 10bit 16MHz 1KB 2.5KB 2.7V~5.5V 26 32KB 8 Bit AVR Built-in FLASH VQFN-44-EP(7x7) Microcontrollers (MCU/MPU/SOC) ROHSMicrochip TechnologyMicrocontrollers (MCU/MPU/SOC)CG0603MLC-05E
0603-55℃~+125℃ 0.2pF 1 10nA 30V 5V Bidirectional IEC 61000-4-2 0603 ESD and Surge Protection (TVS/ESD) ROHSBournsVaristorsLL3301DF065QJ
-Tactile SwitchesE-SwitchMH2029-300Y
0805-55℃~+125℃ 1 30Ω@100MHz 3A 3mΩ ±25% 0805 Ferrite Beads ROHSBournsFerrite BeadsCJS-1200A
SMD-40℃~+85℃ 100mA 6V SMD(SMT) Tab SPDT Surface Mount,Vertical SMD Slide Switches ROHSNidecSlide SwitchesMF-MSMF050-2
1812-40℃~+85℃ 100A 150mΩ 15V 1A 1Ω 3.2mm 5.4mm 500mA 1812 Resettable Fuses ROHSBournsResettable Fuses
README
README.mdMouse

Repository for Open Source Mouse Firmware and Hardware
This repository holds the Arduino library, KiCAD PCB design files, gerber production files, BOM, and assembly instructions for the open-source computer mouse goodie bag item from the 2018 OSHWA Summit. The circuit design, PCB layout, and code were produced by Joel Murphy (aka biomurph | @SafeForRobots) in the Summer of 2018. The mouse wheel and wheel holder were designed in collaboration with Eugene Chang, and manufactured by Tangible Creative. The production PCB boards were fabricated and stuffed by Worthington Assembly. Thanks to Kelly Saxton for help in kitting and assembly instructions and the killer mouse morph gif! The microcontroller on board is a ATmega32u4 with Arduino Leonardo bootloader. This open-source mouse is a soldering kit, and comes pre-programmed with the example sketch from the Mousey Arduino library.
Assembly Instructions Here
Library Functionality Here
Hardware Design Files Here
Anatomy of Mouse

ADNS2620 !? That Went EOL Years Ago!
Yes, yes it did. Years ago, I tried to make a go of it in open-source hardware design, production and sales. I made something like this before SparkFun did, but it never got off the ground. I've been sitting on a small pile of components from those days, and this summer I decided that I have to chip away at that pile. So here you go. A fully functional computer mouse for you to hack and modify to your hearts delight. You're welcome!
If you are interested in modifying the design files to bring this project up to date, the one place that I have found that still sells these kinds of optical mouse sensors is a company called PixArt that has a variety of sensors to choose from. One of my goals is to do just that, so watch this repo if you want to be among the first to know when I have a working prototype.
Installing The Firmware
Either download the ZIP of this repo or clone it. Then move or copy the file named Mousey
into your Documents > Arduino > libraries folder. Open or restart Arduino, Then
goto File > Examples > Mousey > OpenMouse to find the sketch that runs on OpenMouse.
Use Your Mouse
This open-source computer mouse is built around an ATmega32u4 with the Arduino Leonardo bootloader. It has already been programmed with the example sketch from the Mousey library. There are two modes of operation HID and Not-HID. Modes are selected using the slide switch on the left side of the mouse.
HID Mode
When the slide switch is on the side closest to the pad per hole prototyping area (aka DOWN), the mouse is in HID mode. When plugged into a micro USB cable, the mouse will read the sensors (wheel, buttons, optical sensor), and function just like a mouse attached to your computer!
Not-HID Mode
When the slide switch is on the side closest to the 7 pin female header (aka UP), the mouse is in the Not-HID mode. When plugged into a micro USB cable, the mouse will read the sensors (wheel, buttons, optical sensor) and send the data it gets over serial at 115200 baud. You can open any serial terminal to view the data from the mouse.
Troubleshooting
The mice were packaged with the HID select switch in the HID position. If you plug your mouse in to a computer and it doesn't work like a mouse should, then check to make sure that the HID switch is in HID mode. The small tact switch labeled SW1 is the reset button for the Leonardo. You can switch modes on the fly, and press this reset button to change modes without unplugging your mouse. If all else fails, re-program the mouse with the OpenMouse.ino code from the example in the Mousey Library.
Parts
49| Qty | Value | Footprint | References |
|---|---|---|---|
| 5 | 0.1uF | Capacitors_SMD:C_0603 | C2, C4, C6, C7, C12 |
| 4 | NPTH | Solutions:NPTH_1875 | J3, J4, J7, J8 |
| 3 | 10K | Capacitors_SMD:C_0603 | R6, R11, R13 |
| 2 | 18pF | Capacitors_SMD:C_0603 | C9, C10 |
| 2 | 1K | Capacitors_SMD:C_0603 | R5, R14 |
| 2 | 1uF | Capacitors_SMD:C_0603 | C8, C11 |
| 2 | 22R | Capacitors_SMD:C_0603 | R1, R3 |
| 2 | CG0603MLC-05E | Capacitors_SMD:C_0603 | D2, D3 |
| 2 | CONN_01X07 | Pin_Headers:Pin_Header_Straight_1x07_Pitch2.54mm | J5, J6 |
| 2 | LL3301DF065QJ | Solutions:Mouse_Button | SW2, SW3 |
| 2 | MH2029-300Y | Capacitors_SMD:C_0805 | L1, L2 |
| 1 | 100K | Capacitors_SMD:C_0603 | R4 |
| 1 | 104_PPH_Trapezoid | Solutions:Mouse_PPH_Array | PPH1 |
| 1 | 10uF | Capacitors_SMD:C_0603 | C1 |
| 1 | 2.2uF | Capacitors_SMD:C_0603 | C5 |
| 1 | 24MHz | Capacitors_THT:C_Disc_D5.0mm_W2.5mm_P5.00mm | Y1 |
| 1 | 33R | Capacitors_SMD:C_0603 | R2 |
| 1 | 4.7uF | Capacitors_SMD:C_0603 | C3 |
| 1 | ADNS2610PTH | Solutions:ADNS2610 | U1 |
| 1 | ATMEGA32U4-MU | Housings_QFP:LQFP-44_10x10mm_Pitch0.8mm | U3 |
| 1 | BC857ALT1G | TO_SOT_Packages_SMD:SOT-23 | Q1 |
| 1 | CJS1200 | Solutions:SSSS810701_ALPS_DPDT | SW4 |
| 1 | CONN_02X03 | Pin_Headers:Pin_Header_Straight_2x03_Pitch2.54mm_SMD | J2 |
| 1 | D_Small | LEDs:LED_D5.0mm_Horizontal_O1.27mm_Z3.0mm | D1 |
| 1 | ENCODER-QUADRATURE | Solutions:Mouse_Encoder | U2 |
| 1 | LED | Capacitors_SMD:C_0603 | D4 |
| 1 | LFXTAL057485Cutt | Crystals:Crystal_SMD_3225-4pin_3.2x2.5mm | Y2 |
| 1 | LOGO | Graphics:oshwa-logo-gear | G*** |
| 1 | MF-MSMF050-2 | Capacitors_SMD:C_1812 | F1 |
| 1 | PTS540 JM035 SMTR LFS | Solutions:PTS540_Switch | SW1 |
| 1 | USB_OTG | Solutions:10118193_microUSB | J1 |
The 48 most common of 49 parts.
Questions
How big is the Mouse PCB?
It measures 50 × 90 mm and has 2 copper layers, 1.6 mm thick.
What parts does the Mouse use?
49 parts, built around the ATMEGA32U4-MU, CG0603MLC-05E, LL3301DF065QJ and MH2029-300Y. 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 biomurph/Mouse repository on GitHub, at the commit this page was made from: the board is Hardware/KiCad/Mouse/Mouse.kicad_pcb. 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).
Similar boards
- 4 layers100 × 80 mm

- 4 layers70 × 70 mm

- 2 layers101.6 × 53.4 mm

- 4 layers48.3 × 17.8 mm

Arduino Micro
sabogalc/KiCad-Arduino-Boards
A collection of Arduino boards recreated from scratch in KiCad. Legacy USB connectors have been replaced with USB-C where applicable.
48 parts95WTFPL - 2 layers100 × 54 mm

- 2 layers48 × 58 mm

- 4 layers61.2 × 61.2 mm

Ganglion 01
OpenBCI/Ganglion_Hardware_Design_Files
General repo for Ganglion hardware files
141 parts91 - 2 layers61.2 × 61.2 mm

OpenBCI Wifi Shield
nestorufpe/OpentDCS-Hardware
All design files made with KiCad PCB design software. http://kicad-pcb.org/
35 parts1