# dj-midi-sender: reconstructing Pro DJ Link tempo exchange

> dj-midi-sender reconstructs the Pioneer Pro DJ Link tempo exchange and bridges it to MIDI clock. A shared C++ parser and state machine read beat and status packets, track the tempo master and drive a 24 PPQN clock on desktop or ESP32-S3 hardware. The repository includes packet captures, protocol offsets and replay tools.

- Type: Case study
- Targets: Protocol
- Category: Independent reconstruction cases
- Relationship: Independent reconstruction project
- Sources reviewed: 2026-11-08
- Added to the catalog: 2026-11-08
- Original resource: <https://github.com/Calvin-Zikakis/dj-midi-sender>
- Primary source: <https://github.com/Calvin-Zikakis/dj-midi-sender/blob/c5fce3cdb0eff0b4c05b9190d1ab9466e6e85a57/docs/architecture.md>
- Catalog page: <https://awesomerea.org/resources/dj-midi-sender-case/>
- Record JSON: <https://awesomerea.org/resources/dj-midi-sender-case/record.json>
- Chinese version: [简体中文](https://awesomerea.org/zh/resources/dj-midi-sender-case/index.md)

## Requirements & limits

- **Prerequisites:** Hardware operation requires an ESP32-S3 with W5500 Ethernet and MIDI output hardware; the desktop build uses the listed CMake and MIDI dependencies.
- **Testing evidence:** The author reports live tempo-master handoff tests with XDJ-XZ and XDJ-700; committed captures contain beat packets only.
- **License:** PolyForm Noncommercial License 1.0.0.

## Primary sources

1. <https://github.com/Calvin-Zikakis/dj-midi-sender/blob/c5fce3cdb0eff0b4c05b9190d1ab9466e6e85a57/docs/architecture.md>
2. <https://github.com/Calvin-Zikakis/dj-midi-sender/blob/c5fce3cdb0eff0b4c05b9190d1ab9466e6e85a57/README.md>
3. <https://github.com/Calvin-Zikakis/dj-midi-sender/blob/c5fce3cdb0eff0b4c05b9190d1ab9466e6e85a57/LICENSE>

## More in Protocols

- [Wellue O2Ring-S: reconstructing the OxyII BLE protocol](https://awesomerea.org/resources/o2ring-s-protocol-case/index.md) · Case study
- [Blackmacro-lib: reconstructing the Speed Editor USB HID exchange](https://awesomerea.org/resources/blackmacro-lib-case/index.md) · Case study
- [libfprint Goodix SPI Driver: reconstructing GDIX51C0 support](https://awesomerea.org/resources/libfprint-goodix-spi-case/index.md) · Case study
- [Insta360 GO Ultra: reconstructing its Wi-Fi camera protocol](https://awesomerea.org/resources/insta360-go-ultra-sdk-case/index.md) · Case study
- [Chuwi CoreBook X: recovering the left-speaker audio path on Linux](https://awesomerea.org/resources/chuwi-corebook-x-left-speaker-case/index.md) · Case study
- [LIBREPODS-RS: rebuilding AirPods AAP control in Rust](https://awesomerea.org/resources/librepods-rs-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.
