Esp32-s3 usb-otg

Bonjour,
Je possède l'ESP32-S3 devkit clone,
https://mischianti.org/vcc-gnd-studio-yd-esp32-s3-devkitc-1-clone-high-resolution-pinout-and-specs/

J'essaye de faire fonctionner les exemples USB-OTG depuis un mois et je n'y arrive pas.
J'utilise Arduino IDE 2.3.1 et 1.8.19.

Derrière la platine ESP-32 S3 clone il y a un jumper CMS USB-OTG que j'ai relié par soudure, qui permet d'alimenter ce qui est sur le port USB-OTG.

J'essaye de faire fonctionner l'exemple KeyboardSerial, en branchant un clavier sur le port OTG, le premier port USB-C est connecté sur le port USB du PC pour l'alimenter et faire l'upload du sketch.

Dans arduino j'ai sélectionné ESP32-S3 Dev Module ou ESP32-S3-USB-OTG pour les tests.

Upload Mode est sur UART0
USB CDC on boot est sur disable. (j'ai essayé disable et enable)
USB Mode est sur USB-OTG (TinyUSB)

La version core arduino ESP32 est 2.0.14

Avez vous une idée?
Merci.

En mettant Core Level a verbose, dans les examples, lorsque j'appuie sur le clavier du PC sur un terminal (teraterm) par exemple, j'ai ceci:

[ 41966][E][USBHID.cpp:346] SendReport(): not ready

Lorsque je fait un reset avec le bouton de la platine esp32-S3, j'ai ceci:

ESP-ROM:esp32s3-20210327
Build:Mar 27 2021
rst:0x1 (POWERON),boot:0x8 (SPI_FAST_FLASH_BOOT)
SPIWP:0xee
mode:DIO, clock div:1
load:0x3fce3808,len:0x44c
load:0x403c9700,len:0xbd8
load:0x403cc700,len:0x2a80
entry 0x403c98d0
[ 85][D][esp32-hal-tinyusb.c:680] tinyusb_enable_interface(): Interface HID enabled
[ 85][D][USBHID.cpp:61] tinyusb_enable_hid_device(): Device[0] len: 67
[ 95][D][esp32-hal-tinyusb.c:569] tinyusb_load_enabled_interfaces(): Load Done: if_num: 1, descr_len: 41, if_mask: 0x4

Bonjour @andromeda92

D'après ce que j'ai compris (donc avec des réserves ..et le droiut à l'erreur !) le fait de choisir dans l'IDE mode USB-OTG ne place pas systématiquement l'ESP32-S3 en mode HOST

J'essaye de faire fonctionner l'exemple KeyboardSerial, en branchant un clavier sur le port OTG

Il y a un malentendu, induits par le terme 'OTG'
Dans ton test l'ESP32-S3 se comporte en clavier USB (DEVICE) à relier à un ordinateur.

Installes la bibliothèque ESP32TinyUSB
image

Tu auras alors accès à deux types d'exemples : 8 en mode Device .....et 3 seulement en mode Host (pas de HOST HID :roll_eyes:)

Je ne sais pas s'il est posssible aujourd'hui , en l'état d'avancement d'ESP32TinyUSB, de faire prendre en charge un clavier USB par un ESP32-S3

Impression: le 'potentiel 'hardware 'OTG des ESP32-S3 (et -S2) ne sera concrétisé qu'avec des bibliothèques à venir......

le jumper que tu mentionnes me parait servir uniquement à pouvoir alimenter en 5V un DEVICE

j'avais mal compris l'exemple, en ces cas là je vais devoir laisser le jumper smt ouvert donc le dessouder, car ca envoi du 5v, mon but après était d'essayer de mettre sur le port USB HOST OTG un adaptateur usb uart, comme on en trouve sur amazon, d'un coté un port usb et de l'autre une prise db9 série, mais je ne sais si ca peut fonctionner comme cela.

la bibliothèque est déjà installée sur arduino ESP32TinyUSB mais il est indiqué
USB function for ESP32-S2 et non S3.

ah non au niveau des lib elle n'était pas installée, c'est au niveau board que esp32tinyusb était installé.

Dans ce cas l'exemple acm.ino du groupe d'exemples Host (bibliothèque ESP32TinyUSB) est peut être à tester , même sur -S3

J'ai essayé le code acm.ino mais ca reboot à l'infini

[EDIT]
En fait tous les exemple fait rebooter indéfiniment l'esp32-s3

il faut peut etre que je sélectionne dans l'IDE, Erase all flash before uplaod sketch ?

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.