How sb-ocr/cmdeck works
CM Deck is an open-hardware clamshell cyberdeck built around a Raspberry Pi Compute Module 5, with a custom carrier board, low-profile mechanical keyboard, enclosure, and QMK firmware. A builder uses the documented board designs, bills of materials, fabrication files, and enclosure exports to assemble the device; during use, keyboard input is mapped by firmware and sent to the host. The tree shows separate keyboard and main-board design/fabrication assets. Firmware behavior is based on the sampled keymap and configuration; other subsystem connections are not inferred from filenames alone.
Main entry points: keymap.c QMK keymap · Keyboard _Board.brd Keyboard design · Main Board _Board.brd Main board design · config.h QMK configuration
Components 15
Circuit boards
- Keyboard design
pcbs/keyboard/src/Keyboard _Board.brd - Keyboard fabrication
pcbs/keyboard/fab - Main board design
pcbs/main board/src/Main Board _Board.brd - Main board fabrication
pcbs/main board/fab
Keyboard firmware
- QMK keymap
firmware/qmk/cmdeck/keymaps/default/keymap.c - QMK configuration
firmware/qmk/cmdeck/config.h - MCU SPI config
firmware/qmk/cmdeck/mcuconf.h - QMK board setup
firmware/qmk/readme.md
Enclosure
- Enclosure parts
enclosure/exports/STL
Build references
- Project bills
boms - Keyboard BOM
pcbs/keyboard/bom/ibom.html - Main board BOM
pcbs/main board/bom/ibom.html
Other components
- Builder
- Compute Module 5
- Cyberdeck host
Connections 15
- Builder → Keyboard fabrication: uses to build
- Builder → Main board fabrication: uses to build
- Builder → Enclosure parts: uses to build
- Builder → Project bills: consults
- Builder → Keyboard BOM: consults
- Builder → Main board BOM: consults
- Keyboard design → Keyboard fabrication: fabrication data
- Main board design → Main board fabrication: fabrication data
- Keyboard design → QMK keymap: keyboard layout
- QMK keymap → Cyberdeck host: sends key events
- Compute Module 5 → Main board design: carrier board design
- Compute Module 5 → Cyberdeck host: runs cyberdeck
- QMK board setup → QMK keymap: documents setup
- QMK configuration → QMK keymap: configures features
- MCU SPI config → QMK configuration: configures SPI