/MK32

Keyboard firmware for ESP32 microcontrollers

Primary LanguageC

MK32 - Simple BLE keyboard for ESP32

*** This repo is not maintained ***

*** This was one of my first software projects and is very poorly designed and written. I recommend seeking an alternative FW solution ***

dungphan90's fork:

Easy build process with Docker.

git clone https://github.com/Galzai/MK32.git
cd MK32
chmod +x ./build.sh
chmod +x ./run.sh
./build.sh
./run.sh

Once you're inside the container, you can run make to buid, make flash to flash the firmware, and make monitor to run debug.


MK32 is a BLE keyboard firmware for ESP32 Microcontrollers,designed to be relatively easily customizable.
Please refer to the MK32 Wiki page for information about building your own keyboard. Also note that this repository is not heavily maintained.

Many thanks to:

Features:

  • Split Keyboards
  • I2C/SPI displays
  • Customizable layouts
  • Macros
  • Rotary Encoders (With customizable encoder commands)
  • Battery Monitoring
  • Power Management
  • Basic plugin support

To-do:

  • Refactor some bad coding habits (magic numbers etc, sorry I started this project when I had 0 experience!).
  • Plugin API support(Implemented):
    • Currently only one plugin can run at a time (to modify).
  • More than 2 pads with espnow (currently supports 2 pads) - Optional.
  • Connection switching.
  • Modify keymap via webserver:
    • Functions for storing (and reading) AP data on flash complete.
    • Starting web server from plugin complete.
    • need to create proper web GUI for keymap modifications.
  • Wifi manager:
    • Add plugin for adding AP.
    • Functions for storing (and reading) AP from flash done.
    • ESPNOW does not work if wifi AP is not on the same channel (Problematic for ESPNOW Based split boards).