ARC Web-BLE Core

Beyond Humanity: Colonies · companion-app BLE protocol (reconstructed) disconnected

Connection

device discovery

Frame settings

Frame = [start][flag][len][...payload][crc8], len=total bytes, CRC-8 poly 0x07. The flag is the protocol version — the app uses 0x05 (and probes down to 1 on failure). Earlier sessions used 0x00, an invalid version, which is likely why queries only returned the 00 ff 47 ACK. Default is now 0x05; try 0x04/0x03 if needed.

Commands

⚑ = exact bytes confirmed in app. ≈ = payload shape inferred. Hover a button to see the wire frame.

Custom frame

Auth / new game ⚗ experimental

Flow: query Device ID + Battery (the ARC must answer with data, not the 00 ff 47 ACK — try a freshly powered/woken ARC). arcId/boot/battery auto-fill above. Then 1 sends the new-game init, 2 sends MD5(init·arcId·battery·boot) as 01 01 01 04 …. If it takes, the engine/fleet/saved-state queries should start returning real data.
Session log