This directory contains research and documentation for reverse engineering the communication protocol between the Allwinner A33 main processor and the GigaDevice GD32F103VCT6 microcontroller in the 3irobotix CRL-200S vacuum robot.
Implementation: This protocol has been fully implemented in VacuumTiger as part of the CRL-200S driver.
- GD32 Protocol - VERIFIED ⭐ - Complete verified protocol specification
- Checksum Algorithm - VERIFIED ✅ - Decompiled from AuxCtrl binary (99.8% success on 14,609 packets)
- Protocol Discovery Changelog - Evolution of understanding through 5 phases
- Initial Protocol Analysis - Binary reverse engineering (
⚠️ contains some outdated info) - AuxCtrl Binary Details - Deep analysis of the AuxCtrl process
- Serial MITM Approach - PTY-based protocol capture methodology
- AuxCtrl-Rust - Open-source Rust implementation
- Core: ARM Cortex-M3 @ 108 MHz
- RAM: 48 KB
- Flash: 256 KB
- Location: U1 on motherboard
- Datasheet: GigaDevice GD32F103
- Core: ARM Cortex-A7 Quad-Core
- Interfaces: 5x UART, 4x I2C (TWI), SPI, PWM
- Location: U23 on motherboard
- Datasheet: Allwinner A33
Protocol: UART (verified via serial MITM capture)
- Port:
/dev/ttyS3(UART3 on A33) - Baud Rate: 115200
- Format: 8N1 (8 data bits, no parity, 1 stop bit)
- Mode: Bidirectional (A33↔GD32)
- Packet Format:
FA FB [LEN] [CMD] [DATA...] [CRC]
See Connection Evidence for hardware connection analysis.
- Motherboard Documentation - Component identification
- Component Diagram - Detailed connections
- Connection Evidence - A33-GD32 physical connections
- Software Analysis - Firmware analysis and system architecture