Smk
A keyboard firmware for sinowealth-8051-based devices
Install / Use
/learn @carlossless/SmkREADME
SMK - Small (device) Mechanical Keyboard Firmware
This is a keyboard firmware similar to QMK, but targeting 8051-based devices like the SinoWealth SH68F90A (labeled as BYK916 or BYK901). It's aimed to be at least partially compatible with QMK configurations.
The S (Small) in SMK comes from this firmware using SDCC to build itself.
⚠️ WARNING ⚠️
This firmware is still highly experimental, so be cautious when trying to use it or extend it.
You can very easily end up with a bricked device if the written firmware can't jump back into ISP mode, so before testing or modifying it, it's best to have a full dump of your stock firmware and a programming tool (like an Arduino Nano + sinodude-serial or SinoWealth SinoLink + ProWriter) that can write it back.
Supported Devices
| Keyboard | MCU | ISP | USB | Wireless | Details | | -------- | --- | --- | --- | -------- | ------- | | NuPhy Air60 v1 | SH68F90A / BYK916 | ✅ | ✅ | 2.4G (BT WIP) | Details | | E-YOOSO Z11 | SH68F90A / BYK901 | ✅ | ✅ | N/A | Details |
Developing
Prerequisites
Nix
Currently, this project is primarily developed with the help of Nix and Nix flakes. Please consider using Nix and the provided flake to automatically set up a reproducible development environment.
With Nix installed and flakes enabled, use nix develop or direnv to enter a shell with all prerequisites installed.
Manual
If setting up prerequisites without nix, you will need the following tools installed and available within your environment:
- sdcc >= 4.3.0
- meson >= 0.53
- ninja >= 1.11.1
- sinowealth-kb-tool latest version - required only for flashing
Building & Flashing
Once all prerequisites are set up, you can build and flash firmware for a specific combination of keyboard and layout using the following commands:
meson setup build # configure meson build dir
meson compile -C build nuphy-air60_default_smk.hex # build firmware for nuphy-air60 with the default layout
meson compile -C build nuphy-air60_default_flash # write firmware to the device via sinowealth-kb-tool
Acknowledgements
Related Skills
node-connect
346.4kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
107.2kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
346.4kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
qqbot-media
346.4kQQBot 富媒体收发能力。使用 <qqmedia> 标签,系统根据文件扩展名自动识别类型(图片/语音/视频/文件)。
