Skip to the content
PCBKitNew board
2 layers50 × 90 mmMouse, the printed circuit board in 3D

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

6

README

README.md

Mouse

MouseyMouse

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

mouseProduction

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
QtyValueFootprintReferences
50.1uFCapacitors_SMD:C_0603C2, C4, C6, C7, C12
4NPTHSolutions:NPTH_1875J3, J4, J7, J8
310KCapacitors_SMD:C_0603R6, R11, R13
218pFCapacitors_SMD:C_0603C9, C10
21KCapacitors_SMD:C_0603R5, R14
21uFCapacitors_SMD:C_0603C8, C11
222RCapacitors_SMD:C_0603R1, R3
2CG0603MLC-05ECapacitors_SMD:C_0603D2, D3
2CONN_01X07Pin_Headers:Pin_Header_Straight_1x07_Pitch2.54mmJ5, J6
2LL3301DF065QJSolutions:Mouse_ButtonSW2, SW3
2MH2029-300YCapacitors_SMD:C_0805L1, L2
1100KCapacitors_SMD:C_0603R4
1104_PPH_TrapezoidSolutions:Mouse_PPH_ArrayPPH1
110uFCapacitors_SMD:C_0603C1
12.2uFCapacitors_SMD:C_0603C5
124MHzCapacitors_THT:C_Disc_D5.0mm_W2.5mm_P5.00mmY1
133RCapacitors_SMD:C_0603R2
14.7uFCapacitors_SMD:C_0603C3
1ADNS2610PTHSolutions:ADNS2610U1
1ATMEGA32U4-MUHousings_QFP:LQFP-44_10x10mm_Pitch0.8mmU3
1BC857ALT1GTO_SOT_Packages_SMD:SOT-23Q1
1CJS1200Solutions:SSSS810701_ALPS_DPDTSW4
1CONN_02X03Pin_Headers:Pin_Header_Straight_2x03_Pitch2.54mm_SMDJ2
1D_SmallLEDs:LED_D5.0mm_Horizontal_O1.27mm_Z3.0mmD1
1ENCODER-QUADRATURESolutions:Mouse_EncoderU2
1LEDCapacitors_SMD:C_0603D4
1LFXTAL057485CuttCrystals:Crystal_SMD_3225-4pin_3.2x2.5mmY2
1LOGOGraphics:oshwa-logo-gearG***
1MF-MSMF050-2Capacitors_SMD:C_1812F1
1PTS540 JM035 SMTR LFSSolutions:PTS540_SwitchSW1
1USB_OTGSolutions:10118193_microUSBJ1

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 mmCMFD LMSE, the printed circuit board in 3D

    CMFD LMSE

    IImon1293/CMFD-LMSE

    CAN FDで通信できるGPIO基板

    134 parts
  • 4 layers70 × 70 mmNametag proj, the printed circuit board in 3D

    Nametag proj

    Morgenrot-dev/nametag-pcb

    88 parts
  • 4 layers48.3 × 17.8 mmArduino Micro, the printed circuit board in 3D

    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 mmArduinoMega2560, the printed circuit board in 3D

    ArduinoMega2560

    muhardianab/ArduinoMega2560

    Making a new Arduino Mega 2560 Board

    73 parts
  • 4 layers61.2 × 61.2 mmGanglion 01, the printed circuit board in 3D

    Ganglion 01

    OpenBCI/Ganglion_Hardware_Design_Files

    General repo for Ganglion hardware files

    141 parts91
  • 2 layers61.2 × 61.2 mmOpenBCI Wifi Shield, the printed circuit board in 3D

    OpenBCI Wifi Shield

    nestorufpe/OpentDCS-Hardware

    All design files made with KiCad PCB design software. http://kicad-pcb.org/

    35 parts1