https://github.com/great-houk/mouse-project Skip to content Sign up * Product + Features + Mobile + Actions + Codespaces + Copilot + Packages + Security + Code review + Issues + Discussions + Integrations + GitHub Sponsors + Customer stories * Team * Enterprise * Explore + Explore GitHub + Learn and contribute + Topics + Collections + Trending + Skills + GitHub Sponsors + Open source guides + Connect with others + The ReadME Project + Events + Community forum + GitHub Education + GitHub Stars program * Marketplace * Pricing + Plans + Compare plans + Contact Sales + Education [ ] * # In this repository All GitHub | Jump to | * No suggested jump to results * # In this repository All GitHub | Jump to | * # In this user All GitHub | Jump to | * # In this repository All GitHub | Jump to | Sign in Sign up {{ message }} great-houk / mouse-project Public * Notifications * Fork 2 * Star 53 Contains all the relevant folders for the entire custom mouse project License MIT license 53 stars 2 forks Star Notifications * Code * Issues 0 * Pull requests 0 * Actions * Projects 0 * Security * Insights More * Code * Issues * Pull requests * Actions * Projects * Security * Insights great-houk/mouse-project This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository. main Switch branches/tags [ ] Branches Tags Could not load branches Nothing to show {{ refName }} default View all branches Could not load tags Nothing to show {{ refName }} default View all tags 4 branches 0 tags Code * Clone HTTPS GitHub CLI [https://github.com/g] Use Git or checkout with SVN using the web URL. [gh repo clone great-] Work fast with our official CLI. Learn more. * Open with GitHub Desktop * Download ZIP Launching GitHub Desktop If nothing happens, download GitHub Desktop and try again. Launching GitHub Desktop If nothing happens, download GitHub Desktop and try again. Launching Xcode If nothing happens, download Xcode and try again. Launching Visual Studio Code Your codespace will open once ready. There was a problem preparing your codespace, please try again. Latest commit @great-houk great-houk Merge pull request #3 from great-houk/add-license-1 ... c2e1428 Aug 16, 2022 Merge pull request #3 from great-houk/add-license-1 Create LICENSE c2e1428 Git stats * 37 commits Files Permalink Failed to load latest commit information. Type Name Latest commit message Commit time SR1020-driver Update README.md Jul 29, 2022 dongle Create README.md Jul 29, 2022 mouse-cli Made sensor imaging commands more intuitive Aug 14, 2022 mouse-commands Create README.md Jul 29, 2022 mouse Increased Compatibility (dinput8.dll) Aug 14, 2022 pcb Added PCB Jul 29, 2022 pmw3389-driver Update README.md Jul 29, 2022 LICENSE Create LICENSE Aug 16, 2022 README.md Update README.md Jul 29, 2022 View code Custom Mouse V1.0 Notes for making your own Project Structure 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. About Contains all the relevant folders for the entire custom mouse project Resources Readme License MIT license Stars 53 stars Watchers 1 watching Forks 2 forks Releases No releases published Packages 0 No packages published Languages * Rust 85.2% * HTML 14.8% Footer (c) 2022 GitHub, Inc. Footer navigation * Terms * Privacy * Security * Status * Docs * Contact GitHub * Pricing * API * Training * Blog * About You can't perform that action at this time. You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.