# open-rknpu: Rockchip NPU task-program reconstruction

> open-rknpu reconstructs a task-program interface for the Rockchip RV1103/RV1106 NPU from board experiments and black-box comparisons. Its Python compiler emits register commands, weight and quantization blocks, and a container for bounded static ONNX convolution graphs; a C runtime submits them through /dev/rknpu. Research files document register and numerical findings.

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

## Requirements & limits

- **Prerequisites:** Host compilation needs Python, NumPy and ONNX; hardware runs need a compatible board and cross toolchain.
- **Prerequisites:** The reference board is a Luckfox Pico Mini B with the shared RV1106 NPU IP and driver v0.8.2.
- **Scope:** Dynamic shapes, LSTM/GRU, 1-D convolution, MatMul/Gemm and multi-stage detection heads are outside the documented scope.
- **License:** MIT license for the compiler, runtime, tests, examples and documentation.

## Primary sources

1. <https://github.com/dnhkng/open-rknpu/blob/0e0afcd1b00058255590bf19d644e12bea13af38/README.md>
2. <https://github.com/dnhkng/open-rknpu/blob/0e0afcd1b00058255590bf19d644e12bea13af38/docs/architecture.md>

## More in Protocols

- [hardsid4u: reconstructing the HardSID 4U USB protocol](https://awesomerea.org/resources/hardsid4u-case/index.md) · Case study
- [PyEilik: a client for the Eilik robot's USB protocol](https://awesomerea.org/resources/pyeilik-case/index.md) · Case study
- [libfprint-goodixtls: a reconstructed Goodix GXFP5187 fingerprint driver](https://awesomerea.org/resources/libfprint-goodixtls-case/index.md) · Case study
- [RazerStream: reconstructing Stream Controller device control](https://awesomerea.org/resources/razerstream-case/index.md) · Case study
- [DABplay+: reconstructing USB DAB+ dongle control](https://awesomerea.org/resources/dabplayplus-case/index.md) · Case study
- [PocketPrinter5890: reconstructing the Lidl 5890 printer protocol](https://awesomerea.org/resources/pocketprinter5890-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.
