# MK Typist research: mapping a keyboard and its bootloader

> MK Typist research maps the Mechanical Keyboards MK Typist keyboard and its stock firmware while developing a QMK port. The notes cover its Holtek HT32F52352 board, flash layout, Cheng Yong IAP boot flow, USB identities, update behavior, pinout and captured command output from one unit.

- Type: Case study
- Targets: Firmware · Protocol
- Category: Independent reconstruction cases
- Relationship: Independent reconstruction project
- Sources reviewed: 2026-11-06
- Added to the catalog: 2026-11-08
- Original resource: <https://github.com/jpsutton/mk-typist-research>
- Primary source: <https://github.com/jpsutton/mk-typist-research/blob/4b2ca5f1355ab68b738b407196ea2f7c63df06b0/README.md>
- Catalog page: <https://awesomerea.org/resources/mk-typist-research-case/>
- Record JSON: <https://awesomerea.org/resources/mk-typist-research-case/record.json>
- Chinese version: [简体中文](https://awesomerea.org/zh/resources/mk-typist-research-case/index.md)

## Requirements & limits

- **Scope:** Findings come from one MK Typist unit with stock firmware V1.00.05; the QMK port is maintained in a separate repository.
- **Limits:** The chip ships with flash protection enabled; unlocking it mass-erases the stock IAP bootloader.
- **License:** Documentation, photos and OpenOCD configuration use CC BY 4.0.

## Primary sources

1. <https://github.com/jpsutton/mk-typist-research/blob/4b2ca5f1355ab68b738b407196ea2f7c63df06b0/README.md>
2. <https://github.com/jpsutton/mk-typist-research/blob/4b2ca5f1355ab68b738b407196ea2f7c63df06b0/docs/boot-modes.md>

## More in Firmware and hardware

- [Huawei MUT Unbrick Tool: reconstructing router multicast recovery](https://awesomerea.org/resources/huawei-mut-unbrick-tool-case/index.md) · Case study
- [Tizen T-KTS firmware research: mapping the VDFS4 filesystem](https://awesomerea.org/resources/tizen-kts-research-case/index.md) · Case study
- [Philips Avent: reconstructing SCD923/26 local communication](https://awesomerea.org/resources/philips-avent-local-protocol-case/index.md) · Case study
- [igpsport-binavi-poi: reconstructing BiNavi route points](https://awesomerea.org/resources/igpsport-binavi-poi-case/index.md) · Case study
- [es4308cfg: reconstructing the Edgecore ES4308-PoE config format](https://awesomerea.org/resources/es4308cfg-case/index.md) · Case study
- [microfreak-emu: rehosting Arturia MicroFreak firmware in Renode](https://awesomerea.org/resources/microfreak-emu-case/index.md) · Case study

## About this entry

The description was reviewed against primary sources.
Original editorial content: MIT. Linked projects, papers and assets retain their own rights and licenses.
