An Arduino wrapper to @sdima1357's usb_soft_host esp-idf example
This is mainly a wrapper around the excellent work of Dmitry Samsonov (@sdima1357) with esp32_usb_soft_host
Some parts of the code (e.g. the timer group isr calls) have been regressed to fit esp-idf 3.3 needs but it has been tested up to 4.4.2.
ESP32 USB-LS Soft host (:warning: LS=low speed) is a pure software implementation of USB host thru general IO pins.
The library supports up to 4 HID low speed devices simultaneously. A callback can be attached both for detection and events.
This library has been tested on ESP32-Wroom/Wrover and works fine as long as the pins aren't shared (beware of the psram pins!).
It has partial support for ESP32-S2, and remains untested on ESP32-S3 && ESP32-C3.
Status | Brand | Model Name | idVendor | idProduct | Init | Events | Comments |
---|---|---|---|---|---|---|---|
:smile: | LogiLink | ID0062 | 0x1a2c | 0x0042 | 10/10 | 10/10 | Low cost 3 buttons mouse |
:smile: | Microsoft | Intellimouse 1.1 | 0x045e | 0x0039 | 10/10 | 10/10 | |
:smile: | A4Tech | SWOP-48 | 0x093a | 0x2510 | 10/10 | 10/10 | |
:smile: | Genius | Netscroll 110X | 0x0458 | 0x003a | 10/10 | 10/10 | |
:no_mouth: | Logitech | M-UV55A | 0x046d | 0xc016 | 10/10 | 7/10 | Brand is advertised as ASUS/Logitech |
:no_mouth: | Microsoft | Wheel Mouse | 0x045e | 0x0040 | 6/10 | 6/10 | |
:no_mouth: | A4Tech | OP-720 | 0x093a | 0x2510 | 10/10 | 5/10 | |
:cold_face: | Logitech | M-BT83 | 0x046d | 0xc03e | 5/10 | 5/10 | |
:cold_face: | Logitech | B100 | 0x046d | 0xc077 | 10/10 | 3/10 | |
:skull: | Oklick | 305m | n/a | n/a | 10/10 | 0/10 | |
:skull: | Exegate | SH-9018 | n/a | n/a | 10/10 | 0/10 | Device reaction looks like Oklick-305m |
:skull: | A4Tech | X-7??? | 0x09da | 0x8090 | 0/10 | 0/10 | Gaming mouse w/o label |