Skip to content

[Keyboard] Add Keyboardio Model 100 - #26397

Open
shieldsd wants to merge 1 commit into
qmk:masterfrom
shieldsd:keyboardio-model100-pr
Open

[Keyboard] Add Keyboardio Model 100#26397
shieldsd wants to merge 1 commit into
qmk:masterfrom
shieldsd:keyboardio-model100-pr

Conversation

@shieldsd

Copy link
Copy Markdown
Contributor

The Model 100 shares the Model 01's split hardware design: both halves are ATtiny key scanners the main MCU talks to over I2C, using the same wire protocol, scanner addresses, and 64-LED layout. The custom matrix and LED drivers are therefore adapted from the Model 01.

The main MCU differs: the Model 01's ATmega32U4 (AVR) is replaced by a GD32F303CG (ARM Cortex-M4). This is built as an STM32F103 with the high-density board variant, following the mlego/m65/rev2 precedent, so no dedicated GD32 ChibiOS port is required. Scanner power moves to B9 (open-drain), power-sense to B14/B15, and the scanners hang off I2C1 (B6/B7).

Pin assignments and the 8 MHz HXTAL / 48 MHz USB clock were cross-checked against the Kaleidoscope Model 100 hardware plugin and the ArduinoCore-GD32-Keyboardio keyboardio_model_100 variant.

Description

Types of Changes

  • Core
  • Bugfix
  • New feature
  • Enhancement/optimization
  • Keyboard (addition or update)
  • Keymap/layout (addition or update)
  • Documentation

Issues Fixed or Closed by This PR

Checklist

  • My code follows the code style of this project: C, Python
  • I have read the PR Checklist document and have made the appropriate changes.
  • My change requires a change to the documentation.
  • I have updated the documentation accordingly.
  • I have read the CONTRIBUTING document.
  • I have added tests to cover my changes.
  • I have tested the changes and verified that they work and don't break anything (as well as I can manage).

Comment thread keyboards/keyboardio/model100/matrix.c
Comment thread keyboards/keyboardio/model100/keymaps/default/keymap.c Outdated
Comment thread keyboards/keyboardio/model100/readme.md
@shieldsd
shieldsd force-pushed the keyboardio-model100-pr branch 2 times, most recently from 7a4025e to 132fc8b Compare August 14, 2026 10:51
shieldsd pushed a commit to shieldsd/qmk_firmware that referenced this pull request Aug 14, 2026
Bring the personal branch's shared port files in line with the upstream PR
(qmk#26397) after review round 1:

- matrix.c: convert to lite custom matrix (matrix_init_custom /
  matrix_scan_custom); core owns the matrix array, debounce and print.
- default keymap: drop the numpad-colour indicator to keep it minimal.
- keyboard.json / rules.mk: stop selecting `bootloader: stm32duino` by name
  (which lets platforms/chibios/bootloader.mk hard-override DFU_ARGS back to
  the Maple 1EAF:0003 default, clobbering ours). Declare the board and set the
  bootloader flags manually so our 3496:0005 DAPBoot DFU identifiers survive.

The dshields personal keymap is unchanged and still builds/links.
@shieldsd
shieldsd force-pushed the keyboardio-model100-pr branch 5 times, most recently from 5010408 to 59df44d Compare August 15, 2026 12:05
The Model 100 shares the Model 01's split hardware design: both halves are
ATtiny key scanners the main MCU talks to over I2C, using the same wire
protocol, scanner addresses, and 64-LED layout. The custom matrix and LED
drivers are therefore adapted from the Model 01.

The main MCU differs: the Model 01's ATmega32U4 (AVR) is replaced by a
GD32F303CG (ARM Cortex-M4). This is built as an STM32F103 with the
high-density board variant, following the mlego/m65/rev2 precedent, so no
dedicated GD32 ChibiOS port is required. Scanner power moves to B9
(open-drain), power-sense to B14/B15, and the scanners hang off I2C1 (B6/B7).

Pin assignments and the 8 MHz HXTAL / 48 MHz USB clock were cross-checked
against the Kaleidoscope Model 100 hardware plugin and the
ArduinoCore-GD32-Keyboardio keyboardio_model_100 variant.
@shieldsd
shieldsd force-pushed the keyboardio-model100-pr branch from 59df44d to 2c74538 Compare August 15, 2026 12:35
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants