Elektronik 14 dakika okuma

ESP32-S3 ile USB HID Cihaz Tasarımı: Özel Klavye Firmware

ESP32-S3 native USB özelliğini kullanarak sıfırdan bir HID klavye cihazı nasıl yapılır? TinyUSB ile adım adım.

E
Emre Cihan
· · 191 görüntüleme

ESP32-S3 ve Native USB

ESP32-S3, seleflerinden farklı olarak native USB desteğine sahip. Harici USB-Serial bridge e gerek kalmadan doğrudan USB HID, CDC veya MSC cihazı olarak davranabiliyor.

Donanım Bağlantısı

ESP32-S3 DevKit üzerinde GPIO19 USB D- hattına, GPIO20 USB D+ hattına bağlanır. GND ortak toprak hattına bağlanır.

TinyUSB Konfigürasyonu

idfcomponent.yml dosyasına espressif/esptinyusb bağımlılığı eklenir. idf versiyonu 5.0 veya üstü gereklidir.

HID Descriptor

HID report descriptor, TUDHIDREPORTDESCKEYBOARD makrosu kullanılarak tanımlanır. Bu descriptor USB host a cihazın standart bir HID klavye olduğunu bildirir.

Tuş Gönderme Mantığı

tudhidready() kontrolü yapılır. Hazırsa 6 elemanlı keycode dizisi oluşturulur, tudhidkeyboard_report() ile gönderilir. Ardından kısa bir gecikme sonrası NULL raporu gönderilerek tuş bırakma sinyali verilir.

Makro Tuş Uygulaması

GPIO0 butonuna basıldığında önceden tanımlı bir metin dizisi USB klavye olarak gönderilir. Örneğin git commit -m metni otomatik yazılabilir.

Sonuç

ESP32-S3 ile 10 dolar altında tam özellikli bir USB HID cihazı geliştirebilirsiniz. Mekanik klavye, macro pad veya özel input cihazları için mükemmel bir platform.

Etiketler: #ESP32 #PCB #USB HID
Paylaş: Twitter / X
E
Emre Cihan
Sistem Yöneticisi · Maker · Elektronik Meraklısı

İlgili yazılar

Embedded Systems
FreeRTOS vs Zephyr RTOS: 2025 Karşılaştırması
11 dk
#ESP32
3D Tasarım
FreeCAD 1.0 ile Parametrik PCB Kutusu Tasarımı
7 dk
#PCB
Gomulu Sistemler
ESP32 ile FreeRTOS: Cok Gorevli Sistem Tasarimi
1 dk
#ESP32