Case study
PyEilik: a client for the Eilik robot's USB protocol
PyEilik implements control of an Eilik desk robot over a recovered USB serial protocol. Its C library and Python wrapper move four servos, read and update the 128×64 display, and play video with synchronized movement. The protocol reference documents 125000-baud framing, command IDs, checksums and acknowledgements.
- Targets
- Protocol
- Category
- Independent reconstruction cases
- Relationship
- Independent reconstruction project
- Sources reviewed
Requirements & limits
- Prerequisites: macOS and Python 3.9 or newer are required; the serial link uses an Apple-specific ioctl for 125000 baud.
- Prerequisites: Video playback requires ffmpeg on PATH; PNG display requires the image extra.
- Limits: The robot's speaker cannot receive audio through the documented protocol.
- License: MIT license.
About this entry
The description was reviewed against primary sources.
Primary sources
- README.md GitHub · aklto/PyEilik · Revision b1bf7ea
- PROTOCOL.md GitHub · aklto/PyEilik · Revision b1bf7ea
More in Protocols
- libfprint-goodixtls: a reconstructed Goodix GXFP5187 fingerprint driver · Case study
- RazerStream: reconstructing Stream Controller device control · Case study
- DABplay+: reconstructing USB DAB+ dongle control · Case study
- PocketPrinter5890: reconstructing the Lidl 5890 printer protocol · Case study
- Parking sensor kit: reconstructing its display protocol · Case study
- pyhaseiq: reconstructing the older Hase iQ stove's WebSocket protocol · Case study