Files
numbers 7755ec9fb8 Fix BCORNE firmware build for vial-qmk on modern Python.
Include m57.c for RGB matrix linking, add Python 3.14 math patch and platform fallback, and keep brightness step in info.json only.
2026-09-06 18:03:36 -05:00

2.6 KiB

BCORNE firmware (DH747 / STM32F401)

Keyboard target: sh01/m36:via

Prerequisites

  1. Install QMK CLI 1.2.0 (or QMK MSYS on Windows).
  2. Use Python 3.11 or 3.12 for the build. Python 3.14 breaks the pinned vial-qmk commit unless patched (see Troubleshooting).
  3. Clone vial-qmk at the IFKB-pinned commit:
git clone https://github.com/vial-kb/vial-qmk.git
cd vial-qmk
git checkout fcd56b119ea8c60142c9a03e997be5a7acba52b7
make git-submodule

Install this keyboard port

Copy the contents of this folder into vial-qmk:

mkdir -p keyboards/sh01/m36
cp -r /path/to/kb-layouts/corne/firmware/* keyboards/sh01/m36/

The make target comes from that path: keyboards/sh01/m36sh01/m36:via.

If you are on Python 3.14+, apply the QMK math patch from inside your vial-qmk checkout:

cd /path/to/vial-qmk
patch -p1 < /path/to/kb-layouts/corne/firmware/patches/vial-qmk-math-py.patch

Build

make sh01/m36:via

Output: sh01_m36_via.uf2 in the vial-qmk root.

Flash

Flash both halves with the same UF2 file:

  1. Connect the half to USB (left half is the normal USB host side).
  2. Double-tap the reset button (not single tap).
  3. A drive named IFKB should appear.
  4. Drag the .uf2 file onto the drive.
  5. Repeat for the other half.

After flashing, load ../corne.vil in Vial to restore your keymap.

RGB brightness dial

Brightness step size is set in info.json under rgb_matrix.val_steps (currently 1).

With max_brightness: 50, step 1 gives 51 brightness levels. Increase to 2 or 4 if the dial feels too slow.

Do not also define RGB_MATRIX_VAL_STEP in config.h — QMK warns when both are set.

Troubleshooting

AttributeError: module 'ast' has no attribute 'Num'

The pinned vial-qmk commit uses ast.Num, which was removed in Python 3.14. Fix options:

  1. Recommended: build with Python 3.11 or 3.12 (python3.12 -m venv .venv && source .venv/bin/activate && pip install qmk).
  2. Alternative: apply patches/vial-qmk-math-py.patch inside your vial-qmk checkout (see Install step above).

Platform not defined

Usually a follow-on error from the ast.Num failure — QMK never parses processor: STM32F401 from info.json. Fixing the Python issue should resolve this. post_rules.mk also provides a fallback (PLATFORM_KEY = chibios, MCU = STM32F401).

RGB_MATRIX_VAL_STEP in config.h is overwriting rgb_matrix.val_steps in info.json

Keep the step size in one place only — use val_steps in info.json, not #define RGB_MATRIX_VAL_STEP in config.h.