Essentially, it integrates a USB docking station, SD card reader, mouse, and STM32F103CBT6 as a USB device onto a single board.
I took two mice from a school's cleanup project and found the circuit remarkably simple. The optical encoder has built-in USB communication capabilities, and the lens can be used directly, which sparked this idea.
The casing is still under design (I'm new to 3D modeling). This post is just for verification.
For the mouse, I researched for a long time and finally settled on the Inster A704E, which can be bought directly on Taobao. It has built-in USB encoding and supports forward/backward navigation, a one-click return to desktop, and a "fire" button that allows continuous left-clicking. The circuit design is very simple.
The second idea is to integrate a card reader. Anyway, in my project... Since wired mice require carrying a USB drive to copy data during class, integrating the mouse directly into the mouse is preferable. It doesn't take up much space; the space in front of the thumb is just right.
As for the side buttons, I want to make them replaceable modules. I'm currently working on a 32-bit project, which can emulate USB devices, so I'll integrate them directly. This will only occupy one USB port and can be expanded via the side panel to create a matrix of side buttons.
It can also connect to a joystick, trackball, knob, etc., providing more interaction methods. The SL2.1a provides four USB 2.0 ports; my previous device used three, leaving one to connect to a 2.4GHz transmitter for a wireless keyboard, hidden inside the mouse.
Testing showed the design is flawless, except the card reader gets quite hot.
Areas for optimization: Currently, the 32-bit component can only be programmed externally; I plan to research a solution for remapping the buttons on a host computer in the next step.