Skip to content

Basic Smart Cart Commands for Zip/Droid Troubleshooting

published Last Updated: Oct 9, 2026 HW: All-smart-carts

Below are a shortlist of commonly used aliases of command-line inputs when operating a smart cart with an aircraft and droid.

First, turn on all nodes: fw-zip-power -i enp3s0 all-on

Then find the command for the node you want to talk to from the sections below.

1 action
This is a command reference page. See the sections below for smart cart commands organized by interface type (Aircraft, Droid, EV2/EV3 servo pinging, zero offset).
  • ping_devices - checks what nodes are reporting back from the ethernet interface
    • Zips should see compute_a, compute_b, distro_a, distro_b, and winch
    • Droids should see droid_compute, droid_safety, thruster_main, thruster_fwd, thruster_aft
  • Turn ON/OFF
    • wake_zip
    • shutdown_all (zip and droid)
      • other option: shutdown_zip
  • Turn ON/OFF motor nodes
    • fw-zip-power -i enp3s0 all-on
    • fw-zip-power -i enp3s0 avionics-only
  • Access
    • ssh_compute_a / ssh_compute_b
  • Turn ON/OFF
    • n/a - droid should auto-turn on
    • shutdown_droid
  • Access
    • ssh_droid

If you’re working on triaging either via visual inspection of the connection, you can use these targeted commands on a smart cart to see if the hover node is able to talk to the servo (ping).

  • Distro A: fw-update --ip fe80::20%enp3s0 --port 50051 read-config-proto

  • Distro B: fw-update --ip fe80::21%enp3s0 --port 50051 read-config-proto

    Tail: fw-update --ip fe80::22%enp3s0 --port 50051 read-config-proto

    • Servo Roll: fw-update --ip fe80::22%enp3s0 --port 50057 read-config-proto
    • Servo Tilt: fw-update --ip fe80::22%enp3s0 --port 50059 read-config-proto
    • Servo Tail Stbd Fwd: fw-update --ip fe80::22%enp3s0 --port 50053 read-config-proto
    • Servo Tail Port Fwd: fw-update --ip fe80::22%enp3s0 --port 50055 read-config-proto
  • Winch: fw-update --ip fe80::23%enp3s0 --port 50051 read-config-proto

    • Servo Tail Stbd Aft: fw-update --ip fe80::23%enp3s0 --port 50053 read-config-proto
    • Servo Tail Port Aft: fw-update --ip fe80::23%enp3s0 --port 50055 read-config-proto
  • Hover Port Fwd: fw-update --ip fe80::30%enp3s0 --port 50051 read-config-proto

    • Servo Wing Port Fwd: fw-update --ip fe80::30%enp3s0 --port 50053 read-config-proto
  • Hover Port Aft: fw-update --ip fe80::31%enp3s0 --port 50051 read-config-proto

    • Servo Wing Port Aft: fw-update --ip fe80::31%enp3s0 --port 50053 read-config-proto
  • Hover Stbd Fwd: fw-update --ip fe80::32%enp3s0 --port 50051 read-config-proto

    • Servo Wing Stbd Fwd: fw-update --ip fe80::32%enp3s0 --port 50053 read-config-proto
  • Hover Stbd Aft: fw-update --ip fe80::33%enp3s0 --port 50051 read-config-proto

    • Servo Wing Stbd Aft: fw-update --ip fe80::33%enp3s0 --port 50053 read-config-proto
  • Hover Mixed: fw-update --ip fe80::24%enp3s0 --port 50051 read-config-proto

There is no tail node. Only the Wings and Tails are Different from EV2

  • Controlled by the winch
    • Servo Tail Stbd Fwd: fw-update --ip fe80::23%enp3s0 --port 50053 read-config-proto
    • Servo Tail Port Fwd: fw-update --ip fe80::23%enp3s0 --port 50055 read-config-proto
  • Controlled by the aft motor nodes
    • Servo Wing Stbd Fwd: fw-update --ip fe80::33%enp3s0 --port 50053 read-config-proto
    • Servo Wing Port Fwd: fw-update --ip fe80::31%enp3s0 --port 50053 read-config-proto

Successful pinging will start to read back what the node is.

This one was a servo_wing_port_fwd that reads back the pn and sn

image-20250604-023229.png

Unsuccessful pinging will cause it to continuously retry for 10 sec.

WARNING:fw2_chip.rpc_device:Connection timeout at t=2.0121400356292725, retrying...
WARNING:fw2_chip.rpc_device:Connection timeout at t=3.5713353157043457, retrying...
WARNING:fw2_chip.rpc_device:Connection timeout at t=5.191635847091675, retrying...
WARNING:fw2_chip.rpc_device:Connection timeout at t=6.724374055862427, retrying...
WARNING:fw2_chip.rpc_device:Connection timeout at t=8.281983375549316, retrying...
WARNING:fw2_chip.rpc_device:Connection timeout at t=10.359217166900635, retrying...

Example:

  • I want to see if we can ping the servo_wing_stbd_aft
  • Turn on all nodes fw-zip-power -i enp3s0 all-on
  • Send: fw-update --ip fe80::33%enp3s0 --port 50053 read-config-proto

Position the control surface or tail such that it is flush with the rest of the wing or tail

  • Controlled by the tail node
    • Servo Tail Stbd Fwd: fw-update --ip fe80::22%enp3s0 --port 50053 set-zero-offset
    • Servo Tail Port Fwd: fw-update --ip fe80::22%enp3s0 --port 50055 set-zero-offset
  • Controlled by the forward motors
    • Servo Wing Stbd Fwd: fw-update --ip fe80::32%enp3s0 --port 50053 set-zero-offset
    • Servo Wing Port Fwd: fw-update --ip fe80::30%enp3s0 --port 50053 set-zero-offset
  • Controlled by the winch
    • Servo Tail Stbd Fwd: fw-update --ip fe80::23%enp3s0 --port 50053 set-zero-offset
    • Servo Tail Port Fwd: fw-update --ip fe80::23%enp3s0 --port 50055 set-zero-offset
  • Controlled by the aft motor nodes
    • Servo Wing Stbd Fwd: fw-update --ip fe80::33%enp3s0 --port 50053 set-zero-offset
    • Servo Wing Port Fwd: fw-update --ip fe80::31%enp3s0 --port 50053 set-zero-offset

Did this guide help you get unblocked?

Open suggestions

There are no open suggestions.

Open pull requests

There are no open pull requests.