Skip to the content
PCBKitNew board
4 layers72.5 × 87.3 mmMouse V1, the printed circuit board in 3D

Contains all the relevant folders for the entire custom mouse project

Size
72.5 × 87.3 mm
Copper layers
4
Thickness
0.81 mm
Parts
138
Nets
134
Pads
497
Tracks, vias
1,159, 240
Pours
11
Routed
Yes
KiCad
KiCad 6 (file 20211014)
Created
21 Jul 2022
Updated
25 Dec 2022

Overview

Mouse V1 is an open-source printed circuit board by great-houk, from the great-houk/mouse-project repository on GitHub, published under the MIT licence. It is a 4-layer board of 72.5 × 87.3 mm with 138 parts on 134 nets, routed with 1,159 tracks and 240 vias.

It is built around the ATSAMD11C14A-SSN, PMW3360DM-T2QU and PA08, with the PA09, S-1740C33-M5T1U4 and MAX8819CETI+ among its other parts. Its parts include 48 capacitors, 24 resistors, 8 ICs, 8 switches and 5 diodes. It belongs with the SAM D and SAM boards of this library.

Main components

10

README

README.md

Custom Mouse V1.0

This project is an all contains every piece you would need to fully order, assemble, and program a completely open source mouse.

This is only the first version of this mouse, and the end goal of this project is no where near complete. However, this first version does 100% work 90% of the time, so the inital goal of making a mouse is complete. In fact, I'm using it to write this readme. Pretty neat.

My immediate goal is to implement the wireless protocol over the SR1020 radio.

Future versions of this project won't use a barebones $15 dollar mouse off of amazon, and will have much higher quality everything, while also hopefully being cheaper. I used a lot of parts on this, like the MAX32625, because they looked cool. The 32625 has a one of a kind PMU, which is something like another set of super low power cores you can manually program through assembly. While this seems awesome at first, and like the perfect tool to reach extra efficient power targets, in the end the sensor draws >20mW anyway, so the difference of ~1-2mW the PMU provides is useless, and so it the extra cost.

Notes for making your own

This is the mouse I bought and used as a base: Amazon Link

For obtaining the other parts:

  1. Most mouse parts can be desoldered from the mouse itself. I only bought one switch for the dongle off of digikey.
  2. All other digital parts except the sensor can be obtained from digikey for reasonable prices, and the objects in the Kicad PCB should have digikey links associated with them already.
  3. The mouse sensor is hard to get. If you are a student like me, you might be able to get a free sample from Pixart. If you aren't there are a couple of ebay postings or other second hand sellers which might offer them, but they take a while (>month normally) to ship. Pixart does offer to sell the sensors directly, but there is a minimum order quantity of 25.
  4. I used JLCPCB to obtain the PCB. I had them make a stencil as well, in order to greatly simply to soldering process. For anyone in the US, chances are JLC is your best bet, for Europe, I've heard of other cheap PCB manufacturers which might do a better job, as long as the shipping isn't prohibitively expensive.
  5. Programming the MCU. I used the MCU Link with OpenOCD to program the chip, which had all the features I ended up needing. Maxim offers a custom fork of OpenOCD which comes the neccessary files for uploading to the MAX32625, and I made a simple custom file for the MCU Link, which is inside of the mouse folder. You need to place that file in the OpenOCD board config directory, and most online tutuorials should cover that.

The PCB is specifically designed around fitting in the mouse, and even then there were some mistakes I made. Most notably, the top right post hole was misplaced, so that needs to be cut flush so the PCB can rest flat. The antenna also sticks out the side, so you need to cut some small segments off of the casing in order to have it fit. Finally, the USB-C port is in a slightly lower and different place, so you need to cut the sides of the USB port out to have it fit and be accessible.

It took me many tries to assemble this properly, partially because it was my first time using solder past (which by the way is 100% what you need to use to solder this), and partially because there are no good resources out there for solder of this kind, at least that I could find. If you order the PCB from JLCPCB like I did, make sure to get a stencil, as it will make everything signifigantly easier. There is no need to order a stencil for the back, however, that only requires some careful soldering.

The most important parts when assembling the board are

  1. Make sure you spread the paste over the stencil the fewest possible times, preferably in one strong, slow swipe. A good solder paste application makes this process signifigantly easier.
  2. Don't leave the paste sitting for too long. You can take your time placing the parts, but after around 2-3 hours the paste will start drying and harden, making parts have a signifigantly higher risk of being blown away when using the heat gun.
  3. Make sure to not have the temps too high. I broke my first few boards by creating shorts through burned flux. Don't do what I did.

And that's mostly it. There are other resources out there to help with the specifics, but that covers most of the general details.

Project Structure

Each folder has it's own README which describes what it does, how it works, and how to use it, except the PCB.

Parts

138
QtyValueFootprintReferences
171uFCapacitor_SMD:C_0603_1608MetricC1, C2, C3, C4, C5, C6, C7, C8, C10, C29, C30, C31, C45, C46, C47, C48 +1
9100nF 10VCapacitor_SMD:C_0603_1608MetricC13, C14, C15, C18, C20, C32, C38, C39, C44
910uF 10VCapacitor_SMD:C_0603_1608MetricC12, C16, C17, C19, C22, C26, C27, C28, C37
4100KResistor_SMD:R_0603_1608MetricR19, R20, R21, R30
410pFCapacitor_SMD:C_0603_1608MetricC33, C34, C42, C43
44.7uF 10VCapacitor_SMD:C_0603_1608MetricC11, C21, C23, C25
4FBMJ2125HS250NTInductor_SMD:L_0805_2012MetricFB1, FB2, FB3, FB5
3200Resistor_SMD:R_0603_1608MetricR3, R5, R6
3390K +- 5%Resistor_SMD:R_0603_1608MetricR29, R31, R32
34.7uHInductor_SMD:L_Taiyo-Yuden_MD-2020L1, L2, L3
3ABS07-120-32.768KHZ-TCrystal:Crystal_SMD_3215-2Pin_3.2x1.5mmY1, Y2, Y3
3LEDLED_SMD:LED_0603_1608MetricD1, D2, D3
2180nHInductor_SMD:L_0603_1608MetricL4, L5
21MResistor_SMD:R_0603_1608MetricR17, R18
22.2M +- 1%Resistor_SMD:R_0603_1608MetricR28, R33
2470KResistor_SMD:R_0603_1608MetricR26, R27
25.1KResistor_SMD:R_0603_1608MetricR15, R16
2680pF C0G NP0Capacitor_SMD:C_0603_1608MetricC35, C41
268pF C0G NP0Capacitor_SMD:C_0603_1608MetricC36, C40
2CM1231CM1231-02SO:CM1231-02SOD4, D5
2Differential LoopAntenna:SR1020 Antenna VivaldiAE1, AE2
2S-1740C33-M5T1U4Package_TO_SOT_SMD:TSOT-23-5U1, U6
2SR1020-28QFN-TRPackage_DFN_QFN:QFN-28-1EP_4x4mm_P0.4mm_EP2.6x2.6mmU5, U8
2TestPointTestPoint:TestPoint_Pad_D1.0mmCLK, DIO
11001-011-01101Connector_USB:USB_A_CNCTech_1001-011-01101_HorizontalJ4
110KResistor_SMD:R_0603_1608MetricR14
1120KResistor_SMD:R_0603_1608MetricR23
113Resistor_SMD:R_0603_1608MetricR13
11V2 Test PointTestPoint:TestPoint_Pad_D1.0mm1V2
11V8 Test PointTestPoint:TestPoint_Pad_D1.0mm1V8
12.2uFCapacitor_SMD:C_0603_1608MetricC24
120KResistor_SMD:R_0603_1608MetricR25
12137160001Connector_USB:USB_C_Receptacle_JAE_DX07S016JA1R1500J2
12V Test PointTestPoint:TestPoint_Pad_D1.0mm2V0
13.3V Test PointTestPoint:TestPoint_Pad_D1.0mm3V3
13KResistor_SMD:R_0603_1608MetricR22
180.6KResistor_SMD:R_0603_1608MetricR24
1ATSAMD11C14A-SSPackage_SO:SOIC-14_3.9x8.7mm_P1.27mmU7
1Battery ConnectorConnector_JST:JST_PH_B2B-PH-K_1x02_P2.00mm_VerticalJ3
1DPIMouse Button:TL59AF100QSW6
1FB4 Test PointTestPoint:TestPoint_Pad_D2.0mmFB4
1GRPB052VWQS-RCConnector_PinHeader_1.27mm:PinHeader_2x05_P1.27mm_Vertical_SMDJ1
1Ground Test PointTestPoint:TestPoint_Pad_D1.0mmG1
1Ground Test Point 2TestPoint:TestPoint_Pad_D1.0mmG2
1MAX32625MAX32625:MAX32625ITKL&plus_U2
1MAX8819CETI+MAX8819:QFN40P400X400X80-29NU4
1Mouse 2Mouse Button:TL59AF100QSW3
1Mouse 3Mouse Button:TL59AF100QSW4
1Mouse 4Mouse Button:TL59AF100QSW5
1Mouse Mode ButtonButton_Switch_THT:SW_PUSH_6mmSW1
1P1-6TestPoint:TestPoint_Pad_D1.0mmTP2
1P1-7TestPoint:TestPoint_Pad_D1.0mmTP3
1P2-4TestPoint:TestPoint_Pad_D1.0mmTP4
1P2-5TestPoint:TestPoint_Pad_D1.0mmTP5
1P2-6TestPoint:TestPoint_Pad_D1.0mmTP6
1P2-7TestPoint:TestPoint_Pad_D1.0mmTP7
1P3-2TestPoint:TestPoint_Pad_D1.0mmTP8
1P3-3TestPoint:TestPoint_Pad_D1.0mmTP9
1P3-4TestPoint:TestPoint_Pad_D1.0mmTP10
1P3-5TestPoint:TestPoint_Pad_D1.0mmTP11
1P3-6TestPoint:TestPoint_Pad_D1.0mmTP12
1P3-7TestPoint:TestPoint_Pad_D1.0mmTP13
1PA08TestPoint:TestPoint_Pad_D1.0mmTP15
1PA09TestPoint:TestPoint_Pad_D1.0mmTP16
1PMW3360DM-T2QUMouse Sensor:PMW3360DM-T2QUU3
1Power SwitchButton_Switch_SMD:SW_SPDT_PCM12SW9
1RSTNTestPoint:TestPoint_Pad_D1.0mmTP14
1SW_PushButton_Switch_SMD:SW_SPST_B3U-1000P-BSW10
1Scroll_Wheel_EncoderMouse Encoder:EncoderSW8
1Test Point 3V3TestPoint:TestPoint_Pad_D1.0mm3V3
1lockedLong Button:D2F-01Llocked
1lockedMouse Button:TL59AF100Qlocked

Questions

How big is the Mouse V1 PCB?

It measures 72.5 × 87.3 mm and has 4 copper layers, 0.81 mm thick.

What parts does the Mouse V1 use?

138 parts, built around the ATSAMD11C14A-SSN, PMW3360DM-T2QU, PA08 and PA09. 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 V1 KiCad files?

From the great-houk/mouse-project repository on GitHub, at the commit this page was made from: the board is pcb/Mouse V1.kicad_pcb and its schematic pcb/Mouse V1.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the Mouse V1 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 layers87.2 × 22.6 mmSagittarius S1, the printed circuit board in 3D

    Sagittarius S1

    GeneralSyb/Sagittarius-Headtracker

    Project files for the Sagittarius S1 Prototype

    45 parts6MIT
  • 2 layers110 × 80 mmSTM32 Edge Computing Device, the printed circuit board in 3D

    STM32 Edge Computing Device

    spyral98/ARM-Development-System-to-Support-Digital-Twin-of-Stepper-Motor

    This repository consists of the work conducted for the thesis "ARM Development System to Support Digital Twin of Stepper Motor".

    128 partsGPL-3.0
  • 2 layers39.1 × 50.1 mmCase smd challenge, the printed circuit board in 3D

    Case smd challenge

    CASE-Association/smd-challenge

    Our CASE branded SMD Challenge. Do you have what it takes to complete it?

    31 parts1
  • 2 layers36.6 × 39 mmWeek07, the printed circuit board in 3D

    Week07

    kny5/fabacademy_antonio_anaya

    This is a mirror of my fabacademy course repository.

    13 parts1
  • 2 layers54.3 × 35.2 mmUrumbu Stepper TMC2208, the printed circuit board in 3D

    Urumbu Stepper TMC2208

    SeanP2001/Urumbu_USB_Stepper_Motor

    A modular approach to prototyping machines that move in the FabLAB

    16 parts1MIT
  • 2 layers15.2 × 19.1 mmSamd11 breakout, the printed circuit board in 3D

    Samd11 breakout

    dnbdmr/samd11_simple

    Breakout board for SAMD11C14A

    9 partsMIT
  • 2 layers57.4 × 48.5 mmStarter d11 rev2, the printed circuit board in 3D

    Starter d11 rev2

    Secoh/Electronics

    Educational etudes related to electronics, schematics, PCB layout, etc.

    52 partsMIT