The awesome gaming mouse project, the one mouse to rule them all. The schematics are available here. The firmware for the mouse is written in rust using rtic and is found here the rtic app is in the example rtic_simple_mouse. The program used to configure the mouse is found here.
To flash the mouse read this to get the build dependecies. When the dependencis are in place it can be built, flashed and run with cargo run --example rtic_simple_mouse --release
. Note! it can't be built in debug mode since this will create to big of a binary and will not fit on the flash of a stm32f401re.
-
Erik Serrander
-
Ivar Jönsson
- Left and right click
- relative position
- scroll wheel
- macro system
- Side buttons
- Computer communication
- LEDs, i.e. debug/ui
- Rumble motor
- Perfect spray
- Unit testing
- Cuntinuous integration
The buttons used are D2F-01F since these are well regarded by users. We have decided to have 4 main buttons on the mouse, 2 on the front and 2 on the side.
To reduce the bouncing of the buttons a 10u capacitor is places to ground from the signal trace. This will allow the signal to be pulled low for high frequencies.
To drive the buttons a 5v voltage is used with a series resistor of 4.7 k to limit the current to close to 1mA. The mosfet used to limit the output acts as a decoupler thus not draining anny current ( in theory ).
The mouse wheel is also debounced using the same capacitor values as the mouse button. This should not be as needed but better safe than sorry.
The mouse wheel also uses the same nfet to step down the voltage.
We will base our case on this moddel of the g305 with this base.
The stl files can be found in our model folder.
-
Erik Serrander
- Expected contributions towards grade 4
- side buttons
- diodes
- Expected contributions towards grade 5
- Computer communication
- Rumble motor
- Expected contributions towards grade 4
-
Ivar Jönsson
- Expected contributions towards grade 4
- PCB layout
- Itterative design using a 3d printer to validate pcb fitting and footprint layout
- Ease of assembly
- Case customization
- Mountingholes and posibility to use a usb cable
- Mouse wheel
- Selecting a rotary encoder
- diodes
- status LEDs to validate voltage sections
- PCB layout
- Expected contributions towards grade 5
- Computer communication
- DPI configuration
- Perfect spray
- This might not be applicable.
- Expected contributions towards grade 4
-
Erik Serrander
- Hardware design (werry minor)
- Macro system
- Macro system config mouse side
- Mouse state software (major)
-
Ivar Jönsson
- Hardware design (allmost all)
- Macro system config pc side
- Mouse state software (minor)
- Enclosure manufacturing
-
Togheter / both
- Init code
- Interuppt handlers
- Harware assembly