# orba-protocol: reconstructing Artiphon Orba 2 control messages

> orba-protocol reconstructs the Artiphon Orba 2 control protocol across USB-MIDI and BLE-MIDI. Its specification maps SysEx framing, codec, CRC and device registers, while Python and JavaScript libraries decode messages and build commands for device settings. The author reports comparing the implementation with captured traffic and live responses.

- Type: Case study
- Targets: Protocol
- Category: Independent reconstruction cases
- Relationship: Independent reconstruction project
- Sources reviewed: 2026-11-06
- Added to the catalog: 2026-11-09
- Original resource: <https://github.com/holofermes/orba-protocol>
- Primary source: <https://github.com/holofermes/orba-protocol/blob/055610bc357fb5abf1fbb539f97fdb679e9d240c/spec/SPEC.md>
- Catalog page: <https://awesomerea.org/resources/orba-protocol-artiphon-orba-2-case/>
- Record JSON: <https://awesomerea.org/resources/orba-protocol-artiphon-orba-2-case/record.json>
- Chinese version: [简体中文](https://awesomerea.org/zh/resources/orba-protocol-artiphon-orba-2-case/index.md)

## Requirements & limits

- **Prerequisites:** An Artiphon Orba 2 is required for live device control.
- **Prerequisites:** The Python reference requires Python 3.8 or later; the JavaScript module runs in a browser or Node.
- **Limits:** Some specification items marked snoop still require an in-app capture to determine exact enum bytes.
- **License:** Code is MIT licensed; the specification is additionally CC BY 4.0 licensed.

## Primary sources

1. <https://github.com/holofermes/orba-protocol/blob/055610bc357fb5abf1fbb539f97fdb679e9d240c/spec/SPEC.md>
2. <https://github.com/holofermes/orba-protocol/blob/055610bc357fb5abf1fbb539f97fdb679e9d240c/README.md>

## More in Protocols

- [TrikiEmu: reconstructing the Żabka Triki BLE controller](https://awesomerea.org/resources/trikiemu-zabka-triki-case/index.md) · Case study
- [TrikiScope: decoding the Żabka Triki BLE motion stream](https://awesomerea.org/resources/trikiscope-zabka-triki-case/index.md) · Case study
- [G2CC: a replacement Even G2 client built from Bluetooth traffic analysis](https://awesomerea.org/resources/g2cc-even-g2-client-case/index.md) · Case study
- [Melitta Barista & Nivona: reconstructing coffee-machine BLE control](https://awesomerea.org/resources/melitta-barista-nivona-ha-case/index.md) · Case study
- [OpenHX: rebuilding Line 6 HX preset control over USB](https://awesomerea.org/resources/openhx-case/index.md) · Case study
- [BunATV: reconstructing Apple TV control protocols in TypeScript](https://awesomerea.org/resources/bunatv-apple-tv-protocol-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.
