zmkfirmware / zmk

ZMK Firmware Repository
https://zmk.dev/
MIT License
2.64k stars 2.7k forks source link

Proof of Concept: ZMK works with ESP32-S3 #2173

Open tywtyw2002 opened 6 months ago

tywtyw2002 commented 6 months ago

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.

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

petejohanson commented 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.

septatrix commented 3 weeks ago

Support for USB OTG is planned though no specific timeline yet. See https://github.com/zephyrproject-rtos/zephyr/issues/29394