Open tywtyw2002 opened 6 months ago
Thanks for testing! Does sound like a few things need to mature just a tad more for it to be considered a real viable option though, as you noted.
Support for USB OTG is planned though no specific timeline yet. See https://github.com/zephyrproject-rtos/zephyr/issues/29394
This week, I did some tests on my ESP32-S3 (ESP32-S3R2) corne/corneish clone with the ZMK firmware.
The positive outcome is that the ESP32-S3 SoC can run ZMK directly without any code modifications with Zephyr v3.6.
At present, the ESP32-S3 can only communicate with the host via Bluetooth. This is because Zephyr v3.6 does not yet support ESP32 USB OTG.
A few things need to be mentioned.
usbd
; instead, it usesusb_serial
for jtag/serial. To enableZMK_USB_LOGGING
, you need to comment outUSB_DEVICE_STACK
andUSB_CDC_ACM
inKconfig
.Settings
, only theFCB
is functional. TheNVS
leads to a core dump. I haven't thoroughly investigated this issue, but my best guess is that there are some bugs related to theNVS
API at thehal_espressif
level.tinyuf2
bootloader. However, I was unable to successfully build the UF2 ZMK firmware.I would like to note that I don't believe the ESP32-S3 is a suitable MCU for keyboards at this point. This is primarily because Zephyr does not fully support the ESP32 yet, particularly the USB OTG. I'm also unsure about the practicality of a keyboard that connects via BLE but is powered by USB.
Regarding power consumption, my keyboard uses approximately 0.1A@5V when active.
The ESP32-C3 should also works with ZMK as it has ble5
Reference: https://github.com/tywtyw2002/zmk/tree/z/esp32