Nolan Nguyen a14d2d839f Refactor main.c for improved functionality and structure
Updated the main.c file to include additional functionalities and improved code structure. Adjusted key mappings and enhanced UART message handling.
2025-12-07 16:11:42 -08:00
2025-09-14 11:56:20 -07:00
2025-09-17 12:51:01 -07:00
2025-12-03 13:36:59 -08:00
2025-08-17 20:02:34 -07:00
2025-09-14 11:56:20 -07:00

MSKBD - Modularly Simple KeyBoarD

Warning

This is under development. If you want the latest developments check out the dev branch.

A customizable modular keyboard system where each key cluster is its own module, connected through a grid-like commnication. The goal is to create a flexible keyboard that can scale, reconfigure layouts, and support hot-swapping modules.

Features

  • 🧩 Modular design — attach modules in any direction
  • 🎛️ Configurable firmware — master + module code, easily updated
  • Hotplug detection — modules can be discovered dynamically

Numpad Module

Numpad Rear

Repo Structure

├─firmware/ - Embedded code for the core system
├─hardware/ - Schematics and PCB layouts
├─software/ - Host tools (keymap editor, etc.) (not yet implemented - soon hopefully!)
├─docs/ - Design notes, communication protocol, build guides
└─assets/ - Renders, diagrams, and media

Branch Structure

main              # Stable, production-ready code (only tested & reviewed changes go here)
│
├─ dev            # Integration branch for features; "staging" area before merging to main
│  ├─ software-xxxxxx     # New features, experiments, improvements, or PCB uploads    
|  ├─ firmware-xxxxxx     # Please indicate in the branch the wether if its software
│  └─ hardware-xxxxxx     # firmware, or hardware
│
├─ hotfix/        # Quick fixes for urgent bugs in main
│   └─ hotfix/usb-detection
│
└─ docs/          # Documentation updates
    └─ docs/protocol-update

License

MIT free to use, modify, and share.

Description
A modular keyboard framework
Readme GPL-3.0 286 MiB
Languages
HTML 39.1%
C 35.4%
C++ 13.9%
Ruby 6.7%
CMake 3%
Other 1.9%