Final project of ECE 445L (Embedded Systems Design Lab) at UT Austin with Mark McDermott (Fall 2023)
The Keebi is a USB and Bluetooth enabled wireless hotswappable 60% keyboard with an attached color TFT LCD
MCUs: TM4C123G and the BGM220P
LCD: Adafruit 1.8" TFT LCD (Product ID 358)
A bill of materials is included in this repository
- April Douglas - Schematic and PCB Design, Firmware
- Matija Jankovic - Schematic and PCB Design, PCB Assembly
- Jenna May - Firmware
- Eric Wang - Case
- Fn+B - Toggle Bluetooth
- Fn+Period - Cycle between apps
- All keys are defined in Switch_Matrix.c
- The bottom row of keys is unconnected to the main MCU
- Fix - Solder a wire from the bottom of the Left Arrow key diode to the TDO pin of the JTAG pinout. Holding down both shift keys will return TDO to it's JTAG confirguration and allow for flashing
- There is crosstalk between the control, alt, shift, and windows keys in the bottom right. Win+RShift for example is detected as Ctrl+Win+RShift and Ctrl+Z is sometimes detected as Ctrl+Alt+Z
- No Fix
- Bluetooth will sometimes break and cause the keyboard to become entirely unresponsive outside of the current app on the display
- Workaround - When using bluetooth make sure to toggle the blank screen app with Fn+Period, this will avoid the crash in most situations
- Theorized Cause - Crosstalk between LCD SPI traces and UART traces to the BGM220P or some other issue leading to malformed UART packets which the BGM220P firmware is not designed to handle

