diff --git a/README.md b/README.md index b1a22159681c7c9d85c61a38606ba05475eb5c8c..7adb096f424ac9dd2e261df4660d56f5d4d3d985 100644 --- a/README.md +++ b/README.md @@ -3,45 +3,43 @@ Carl Österberg (grade 4), Otto Kalliorinne (4), Alba Gallego (grade 4) ### Introduction -We plan to make a gaming mouse using the shell of an old RZ01-0201 gaming mouse. +The plan is to develop a gaming mouse using the shell of an old RZ01-0201 gaming mouse. -### Intended features: -* movement +### Features: +* cursor movement(obviously) * right and left mouseclick (mouse1/2) * sidebuttons (mouse4/5) * dpi buttons (2) -* if time allows: - * scrollwheel with button (mouse3)!!!! -### Components we intend to use +### Components: * Reuse of old side and dpi buttons (separate board with 5-pin cable to nucleo). * 2 D2F switches. -* Scrollcomponent and scrollwheel button. -* Custom nucleo board with MCU STM32F411RETx. -* PixArt PMW3389 sensor -* Shell of RZ01-0201 +* Custom nucleo board with MCU STM32F401RE. +* PixArt PMW3389 sensor. +* Shell of RZ01-0201. +* The rest of the components used is found in the Kicad project file, together with the PCB cutout and design. ### Software specs -* Code language = Rust -* Reliable communication -* +* USB mouse driver written in Rust with RTIC. +* Software with support for the features stated above. https://github.com/stm32-rs/stm32f4xx-hal ### Pin connections -All the connections can be seen in the kicad project files, for debugging, crystal, mouse buttons etc etc. +All the connections can be seen in the kicad project files, for st-link, crystal, mouse buttons etc etc. The important connections are those that are going to be processed explicitly in the mouse driver code. ##### Buttons * PC6(36) = mouse2 * PC7(37) = mouse1 -* PB12(33) -* PB13(34) -* PB14(35) -* PB15(36) -##### Sensor +* PB12(33) = dpi2 +* PB13(34) = dpi1 +* PB14(35) = mb4 +* PB15(36) = mb5 +##### Sensor connected using SPI2 on * PA15(50) = NCS * PC10(51) = SLCK * PC11(52) = MISO * PC12(53) = MOSI + diff --git a/pictures/original_vs_goodpcb.jpg b/pictures/original_vs_goodpcb.jpg new file mode 100644 index 0000000000000000000000000000000000000000..c36e571639e52c06edfbcdc770fe1feeec70ae35 Binary files /dev/null and b/pictures/original_vs_goodpcb.jpg differ diff --git a/pictures/pcb-3d-model.png b/pictures/pcb-3d-model.png new file mode 100644 index 0000000000000000000000000000000000000000..75570888e56efff7b8331e64015087c3b1d84398 Binary files /dev/null and b/pictures/pcb-3d-model.png differ diff --git a/pictures/pcb_in_work.jpg b/pictures/pcb_in_work.jpg new file mode 100644 index 0000000000000000000000000000000000000000..f85e055ae775ebb9a9a70ad6ac417bb300dcf3b3 Binary files /dev/null and b/pictures/pcb_in_work.jpg differ diff --git a/pictures/shell.jpg b/pictures/shell.jpg new file mode 100644 index 0000000000000000000000000000000000000000..c72d1bcf4ebb709f2b30b8b54acd9c33598fc1c9 Binary files /dev/null and b/pictures/shell.jpg differ diff --git a/pictures/shellwithpcb.jpg b/pictures/shellwithpcb.jpg new file mode 100644 index 0000000000000000000000000000000000000000..9d0a49d8bcffa49c744ec807d99cd85b074c4580 Binary files /dev/null and b/pictures/shellwithpcb.jpg differ diff --git a/pictures/software_devel.jpg b/pictures/software_devel.jpg new file mode 100644 index 0000000000000000000000000000000000000000..5fc548016dccf14c175d92260957331ca03cc231 Binary files /dev/null and b/pictures/software_devel.jpg differ