.. | ||
main | ||
CMakeLists.txt | ||
README.md | ||
sdkconfig.defaults |
MouseMoveDemo for SSD1306
Demo of moving a circle using the mouse.
The circle moves when you move the mouse.
I used this as a reference.
Hardware requirements
-
ESP32S2/S3
These have USB-HOST functionality. -
USB mouse
2-button or 3-button usb mouse.
Button 3 is not used in this project.
USB wiring
To stabilize the power supply, I placed a 100uF electrolytic capacitor between 5V and GND.
ESP32-S2/S3 BOARD USB CONNECTOR
+--+
[ 5V ] +---------> | || VCC
[GPIO 19] |---------> | || D-
[GPIO 20] |---------> | || D+
[ GND ] |--------+> | || GND
| | +--+
+---||---+
100uF
How to Use
The circle moves when you move the mouse.
Right click the mouse to go back.
USB hot socket
There are times when it works correctly and times when it doesn't.
It works more stably if you connect before starting the firmware.
When it works correctly, a log like this will be displayed.
I (1166) usb_hid: hid_host_device_callback
I (1166) usb_hid: HID Device, protocol 'MOUSE' CONNECTED
Using USB-HUB
I tried it, but it doesn't work properly via USB-HUB.
Transfer failed
For some reason, the following errors may occur.
The cause is unknown, but it may be resolved by unplugging the mouse.
E (12287696) hid-host: Transfer failed, status 1
E (12287696) usb_hid: HID Device, protocol 'MOUSE' TRANSFER_ERROR
E (15953516) USBH: Device 1 gone