Display Keyboard
This project is the hardware design and software for a USB keyboard with an integrated touch display.
Hardware features:
- Mechanical keys.
- FeatherS2. This is a ESP32-S2 based embedded development board.
- 2.8" LCD capacitive touch display.
- 0.91" vertical OLED display for volume display.
- Volume control knob.
The FeatherS2 conforms to the Adafruit Feather requirements, and allows for the possibility of replacing that MCU with another Feather with little (if any) PCB rework.
Hardware Design
Design is done in KeyCad. Files are located in the pcb directory.
Software Requirements
- ESP-IDF
- VS Code extensions (optional)
Getting Code
git clone https://github.com/BigMumf/display-keyboard.git
./make.py submodules
Note: Because this project makes use of new features (USB) of the ESP32-S2 it requires a version of ESP-IDF more recent than v4.2. At present this means the "master" branch of esp-idf.
Building
Configuration (GPIO pins, etc.) is stored in the sdkconfig file. This is set using menuconfig as so:
./make.py config
Build and flash to the attached ESP32-S2 device as so:
. $HOME/esp/esp-idf/export.sh # only do this once
./make.py build && ./make.py flash