Replacing Vector Robot Brain Board

Created a project doc

Passive Wiretap Board Status

View Document

This board has been redesigned as a safe listen-only wiretap for the Vector head/body 4-wire cable. It no longer includes the ESP32-C3 or ac...
Done — I redesigned it as a passive listen-only wiretap.
What changed:
  • Removed ESP32-C3 and level-shifter from the signal path.
  • Kept only headers + protection resistors.
  • Mapped the confirmed Vector wires:
    • black GND
    • red VMAIN
    • white BODY_RX
    • green TX1.8
  • Routed the simplified PCB.
  • Ran ERC/DRC checks: no errors/warnings came back in the checked categories.
Saved status here:
Passive Wiretap Board Status
Open item:
  • This is still a hand-wired/probe board, not the final drop-in Vector connector board.
Document, BOM, export
Create wiring guide
Check BOM cost
Export files
Review manufacturability
J2
R2
Resistance
10kΩ
R1
Resistance
10kΩ
R3
Resistance
100kΩ
J1

Refine this doc
Ask about this doc
Actual Reverse Engineering Deliverables
Generated Toolkit
A downloadable Python toolkit was generated for the Vector head/body protocol reverse-engineering workflow.
File generated:
  • vector-re-toolkit.zip
Contents:
  • README.md
  • requirements.txt
  • tools/parse_saleae_uart.py
  • tools/packet_cluster.py
  • tools/detect_baud_notes.md
  • vector_body/messages.py
  • vector_body/protocol.py
  • vector_body/transport.py
  • diagnostics/body_cli.py
  • docs/hardware_capture_checklist.md
  • docs/connector_map_template.csv
  • docs/capture_log_template.csv
  • tests/test_protocol.py
What The Toolkit Does
UART capture parsing
tools/parse_saleae_uart.py:
  • Reads Saleae-style UART CSV exports.
  • Supports TX and RX capture files.
  • Sorts bytes by timestamp.
  • Splits likely packets using an inter-byte timing gap.
  • Prints timestamp, direction, length, hex bytes, and ASCII hint.
Packet clustering
tools/packet_cluster.py:
  • Reads parsed packet text.
  • Groups packets by direction, length, and byte prefix.
  • Helps spot repeated message types.
Protocol stubs
vector_body/messages.py and vector_body/protocol.py:
  • Define packet/message classes.
  • Provide checksum/packet-analysis placeholders.
  • Are intentionally conservative because the real protocol must be learned from captures.
Guarded diagnostic CLI
diagnostics/body_cli.py:
  • Skeleton CLI for future serial diagnostics.
  • Refuses to transmit unless explicitly launched with --unsafe-enable-tx.
  • This is intentional because transmitting to Vector’s body board before decoding the protocol could damage hardware or trigger unsafe motor behavior.
Hardware Capture Checklist
Required tools
  • Logic analyzer with UART decoder.
  • Multimeter.
  • Fine probe hooks or soldered test wires.
  • Common ground connection.
  • Optional oscilloscope.
  • Optional 2.8 V-safe USB UART adapter or level shifter for later transmit tests.
Signals to identify first
  • GND
  • 2.8 V logic rail
  • VBAT / battery voltage
  • BODY_TX
  • BODY_RX
  • TXD
  • RXD
  • SCL2
  • SDA2
  • USB D+
  • USB D-
Capture sessions to record
  1. Robot powered off / battery connected idle.
  2. Boot sequence from cold start.
  3. Idle after boot.
  4. Wake/listen event.
  5. Voice command that causes no movement.
  6. Voice command that causes movement.
  7. Manual lift/head movement if possible.
  8. Docking/charging event.
  9. Low-battery or charger attach/detach event if safe.
Capture settings
  • Start with passive high-impedance probing only.
  • Capture BODY_TX and BODY_RX simultaneously.
  • Try common UART baud rates if unknown: 9600, 19200, 38400, 57600, 115200, 230400, 460800, 921600.
  • Logic threshold should match observed logic level, likely around 2.8 V logic.
  • Do not inject signals yet.
  • Do not drive motors from external hardware yet.
Naming convention
Use filenames like:

Text


captures/uart/2026-07-06_boot_115200_bodytx.csv
captures/uart/2026-07-06_boot_115200_bodyrx.csv
captures/uart/2026-07-06_move_forward_115200_bodytx.csv
captures/uart/2026-07-06_move_forward_115200_bodyrx.csv
Connector Map Template
For each connector/pad group, record:

CSV Data


connectorpinlabelwire_colormeasured_voltage_offmeasured_voltage_onsignal_guessconfidencenotes
P11GNDblack00GNDhigh
P122V8red02.8logic powermedium
P13BODY_TXunknownUARTlow
Capture Log Template
For each logic-analyzer capture, record:

CSV Data


capture_iddaterobot_statesignalsbaudlogic_thresholdfilename_txfilename_rxnotes
0012026-07-06cold bootBODY_TX/BODY_RX1152001.4Vboot_tx.csvboot_rx.csv
Next Step
Collect one clean boot capture of BODY_TX/BODY_RX and run:

Bash


python tools/parse_saleae_uart.py --tx boot_tx.csv --rx boot_rx.csv --gap-ms 10
python tools/packet_cluster.py parsed_packets.txt
Then update the protocol stubs based on repeated packet patterns.
  • Generated Toolkit

  • What The Toolkit Does

  • UART capture parsing

  • Packet clustering

  • Protocol stubs

  • Guarded diagnostic CLI

  • Hardware Capture Checklist

  • Required tools

  • Signals to identify first

  • Capture sessions to record

  • Capture settings

  • Naming convention

  • Connector Map Template

  • Capture Log Template

  • Next Step

Vector Robot Smart Brain Replacement thumbnail
Custom replacement brain board for Anki Vector Robot 2.0 that preserves stock robot functions while offloading conversation, context, and LLM behavior to a home server.

Properties

Pricing & Availability

Distributor

Qty 1

Digi-Key

$1.33

Mouser

$1.44

Controls