SkillAgentSearch skills...

Smk

A keyboard firmware for sinowealth-8051-based devices

Install / Use

/learn @carlossless/Smk
About this skill

Quality Score

0/100

Supported Platforms

Universal

README

<div align="center"> <img src="https://github.com/carlossless/smk/assets/498906/30535a69-47a5-4229-8e08-fe2a840d8355" alt="SMK" /> </div>

SMK - Small (device) Mechanical Keyboard Firmware

Build

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:

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

View on GitHub
GitHub Stars119
CategoryDevelopment
Updated1d ago
Forks18

Languages

C

Security Score

100/100

Audited on Apr 2, 2026

No findings