# tinycoral: reconstructing the Coral Edge TPU instruction set and USB runtime

> tinycoral reconstructs the Google Coral Edge TPU instruction set and USB runtime for a tinygrad backend. It includes decoded instruction layouts, a code generator, DarwiNN executable handling and a Python driver for firmware upload, register access and DMA transfers; the author reports byte-identical generated programs against Google's compiler for supported operations.

- Type: Case study
- Targets: 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/FrederikRogalski/tinycoral>
- Primary source: <https://github.com/FrederikRogalski/tinycoral/blob/60794943cca3ddc63a4438cfff91b520b12bcfef/README.md>
- Catalog page: <https://awesomerea.org/resources/tinycoral-edge-tpu-case/>
- Record JSON: <https://awesomerea.org/resources/tinycoral-edge-tpu-case/record.json>
- Chinese version: [简体中文](https://awesomerea.org/zh/resources/tinycoral-edge-tpu-case/index.md)

## Requirements & limits

- **Prerequisites:** Google Coral USB Accelerator, Python 3.11+, libusb and the pinned tinygrad revision.
- **Prerequisites:** Offline compiler comparison needs the Google compiler, Docker and the tools dependencies.
- **Limits:** Whole-network compilation is limited to documented convolution, pooling and linear-layer chains.
- **License:** MIT license.

## Primary sources

1. <https://github.com/FrederikRogalski/tinycoral/blob/60794943cca3ddc63a4438cfff91b520b12bcfef/README.md>
2. <https://github.com/FrederikRogalski/tinycoral/blob/60794943cca3ddc63a4438cfff91b520b12bcfef/NOTES.md>
3. <https://github.com/FrederikRogalski/tinycoral/blob/60794943cca3ddc63a4438cfff91b520b12bcfef/docs/ARCHITECTURE.md>

## More in Protocols

- [ninebot-go: reconstructing Ninebot app cloud communication](https://awesomerea.org/resources/ninebot-go-case/index.md) · Case study
- [open-g2-hub: a local Even G2 client built on BLE protocol findings](https://awesomerea.org/resources/open-g2-hub-case/index.md) · Case study
- [Edifier Speakers BLE: reconstructing M60 and M90 speaker control](https://awesomerea.org/resources/edifier-speakers-ble-case/index.md) · Case study
- [Halyard: reconstructing Shadow cloud PC streaming on handhelds](https://awesomerea.org/resources/halyard-case/index.md) · Case study
- [Axial: mapping and controlling the DJI RS 4 Mini over Bluetooth](https://awesomerea.org/resources/axial-dji-rs4-mini-case/index.md) · Case study
- [Fiat Ducato X250: decoding the body CAN bus](https://awesomerea.org/resources/fiat-ducato-x250-wican-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.
