Personal project

Started

As of

TRX-4 Bronco, autonomous

Build log · Navio2 · ArduRover

Wheels off the ground.

A Traxxas TRX-4 Ford Bronco, orange, with an Emlid Navio2 autopilot on a Raspberry Pi in place of its receiver. ArduRover drives the steering servo, the ESC and the crawler's aux servos over ordinary hobby PWM; a RadioLink handset stays bound as the override; a ground station watches over Wi-Fi. Drive-by-wire, an arm switch, battery telemetry and a lidar are verified on the bench. A forward/reverse ESC has just gone in, still to be calibrated, and GPS missions are next.

Every step so far has happened on a stand, with the truck unable to drive off the bench. This page is the plan in five phases, what is verified against it, the wiring as built, the parameters that mattered, and the mistakes that cost time. It moves as the build does.

Five phases

The plan, and where it stands

  1. Phase 0

    In progress

    Drive-by-wire

    Prove the autopilot can command the truck and the operator can always take it back.

    • Done: Autopilot drives steering and throttleSERVO1 as GroundSteering, SERVO3 as Throttle, standard 50 Hz PWM.
    • In progress: ESC throttle range calibrated to the Navio2's outputThe XL-5 HV drove from the Navio2's output. The forward/reverse ESC that replaced it on 2026-09-25 has to learn neutral at 1500 and the ends at 1100 and 1900, wheels up, and its BEC gets metered first.
    • In progress: ReverseWorked only through the XL-5 HV's double-tap. A forward/reverse ESC should remove the lockout; confirmed once it is calibrated and its direction checked.
    • Done: 2-speed and both diff locks on RC passthroughSERVO6, SERVO7 and SERVO8 pass the handset switches straight through.
    • Done: Manual / Hold / Auto on a three-position switchMODE_CH = 5.
    • Done: Arm and disarm on a dedicated switchCH9, verified 2026-09-23: only fully high arms; middle and low both disarm, so a knocked switch fails safe. Stick arming is off.
    • Done: Link-loss failsafeTransmitter off drops Manual to Hold and recovers when the link returns. It also fired for real on 2026-09-23, when the receiver lead came off mid-session.

    Verified

    5 of 7

  2. Phase 1

    In progress

    Assisted driving

    Sensors online, operator still in charge.

    • Done: Live telemetry to a ground stationMAVLink over UDP to Mission Planner on the bench network.
    • Planned: First GPS fix outdoors, then heading holdThe bench is indoors. The M8N needs sky, and so does the attitude estimator.
    • In progress: Battery telemetry and low-voltage failsafeThe power module is on the POWER port and the monitor has read the pack since 2026-09-23. Still to do: calibrate the voltage multiplier against a meter, set the 5,000 mAh capacity, then a failsafe near 3.5 V per cell.
    • In progress: Camera streamThe Camera Module 3 cannot run on the autopilot's Pi (see the lessons). The recommendation is a companion computer, with a USB webcam as the stopgap; where it goes is not yet decided.
    • Planned: Auto speed and turn tuningHalf the waypoint speed and half again more turn authority, queued for the next powered session.
    • Planned: Track and IMU logging reviewed after each drive

    Verified

    1 of 6

  3. Phase 2

    Planned

    Autonomous navigation

    It drives a route on its own, inside a fence.

    • Planned: GPS waypoint missions in AutoReverse should become available once the new forward/reverse ESC is calibrated and its direction checked.
    • Planned: Return to launch
    • Planned: Geofence
    • Planned: Auto-shift to low gear on a grade
    • Planned: Diff-lock automation

    Verified

    0 of 5

  4. Phase 3

    In progress

    Perception and avoidance

    The truck reacts to the world, not only to coordinates.

    • In progress: Lidar range into the autopilotAn RPLIDAR A1M8 on the Pi's USB, 2026-09-24: eight sectors of range into ArduRover once the motor's DTR gating was worked around. Switched out on the 25th after its plug came loose; back once it is strain-relieved.
    • In progress: Proximity stopAvoidance is enabled at half a metre, with no sensor behind it while the lidar is switched out. It acts only outside Manual, in modes that need a velocity estimate, so it waits on a GPS fix or wheel encoders.
    • Planned: Obstacle avoidance in AutoPath planning around obstacles, once missions run.
    • Planned: Camera path following
    • Planned: ArUco-marker docking
    • Planned: Follow-me

    Verified

    0 of 6

  5. Phase 4

    Planned

    Full stack

    Research-grade autonomy on a ROS 2 layer over the autopilot.

    • Planned: Companion computerA Raspberry Pi 5 is the candidate: ROS 2 and SLAM, the Camera Module 3 and the lidar's full scan, on a direct Ethernet link to the autopilot Pi with its own BEC.
    • Planned: 2D SLAM mappingIndoor, flat-floor work: a crawler's articulation tilts the scan plane.
    • Planned: Autonomous exploration
    • Planned: On-board object detection
    • Planned: Sensor fusion: wheel encoders, GPS and IMU

    Verified

    0 of 5

Each phase is only safe once the one before it is solid. verified in progress planned

In this order

Next moves

  1. Bring up the forward/reverse ESC

    Meter its receiver-lead BEC before it touches the board, and pull the red pin if it reads above 5.3 V. Calibrate its throttle range to the Navio2's 1500 neutral and 1100 to 1900 ends, wheels up, then check direction. It also took the winch's power with the old ESC's accessory plug, so the spare 5 A UBEC goes on a splitter leg for the winch.

  2. Strain-relieve every connector

    The receiver lead and the lidar's USB plug both fell off within two days. A zip tie anchoring each cable near its plug, then the lidar goes back on and PRX_TYPE returns to 5.

  3. Finish the battery monitor

    Compare the reported pack voltage with a meter and scale the multiplier until they agree within 0.1 V, set the capacity to 5,000 mAh, then the low-voltage failsafe: about 3.5 V per cell, Hold or return to launch.

  4. Get a GPS fix outdoors

    Then heading hold, the slower and tighter auto tuning, and the first waypoint mission on open ground.

  5. Decide the camera's home

    The Module 3 cannot run on the autopilot's Pi. A companion computer carries it properly; a USB webcam on the existing Pi gets a picture off the truck sooner. The two are not exclusive.

  6. Wheel encoders on the Arduino

    Hall sensors and magnets on a driveshaft, counted by the Arduino: the Navio2's GPIO cannot count pulses reliably. Encoders are what make avoidance work indoors, and what makes "forward 1.5 m and stop" repeatable.

Most recent first

Log

  1. A forward/reverse ESC, and a master switch

    The XL-5 HV comes out for an ESC with forward and reverse, which should let the autopilot back up on its own; its BEC gets metered and its throttle calibrated before it drives anything, and the winch needs a new supply. An XT60 master switch goes on the pack lead, and the truck stays off between sessions, which turns out to be what every "dropout" was. The lidar's USB plug had come loose and blocked arming, so the lidar is switched out until it is strain-relieved.

  2. Eyes and ears

    The Camera Module 3 is ruled out on the autopilot's Pi: Emlid's image carries the legacy camera stack and the kernel the Navio2 needs, and neither knows the sensor. An RPLIDAR A1M8 goes on the Pi's USB instead: healthy, and silent to ArduPilot until the motor's DTR gating was found and fixed; then eight sectors of range flow and avoidance is enabled at half a metre. Earlier the same night a dead motor was traced to a throttle trim of 1100, and the receiver, off since the failsafe, was back on the link by the time avoidance went on.

  3. An arm switch, battery telemetry, and a real failsafe

    CH9 becomes the arm switch and stick arming is turned off; only fully high arms, everything else disarms. The power module goes on the POWER port and the battery monitor reads the pack. And the receiver lead came off mid-session: the failsafe put the truck in Hold on its own, an unplanned test, passed.

  4. This log goes public

    The plan, the wiring and the bench results, written up here from the build documents.

  5. Phase 0 verified on the bench

    Steering, throttle, reverse, the 2-speed, both lockers and the link-loss failsafe all answer the autopilot with the wheels off the ground. The output map is cleaned up: lockers on passthrough, a stray SERVO4 function set back to 0. Open items: a dead 3S pack and charger, and the power module.

  6. The power module goes

    Early in the month, wired backwards. It let the smoke out. The Navio2 and the Pi survived because the six-pin cable was not in the board at the time. Until the replacement, the 5 V servo BEC carried the Pi through the board's diode-OR, and there was no battery telemetry.

  7. The build starts

    A stock TRX-4 Bronco, a Navio2 on a Raspberry Pi 3B, a RadioLink handset and an inventory of BECs, splitters and a power module. The plan is written in five phases and the first rule is set: nothing above 5.3 V touches the board.

A month means the day was not written down. Entries are added as the build moves.

As built

How it is wired

Principle

Everything downstream of the autopilot is ordinary hobby PWM, so the mechanical side is a drop-in: the Navio2's outputs plug in where the receiver's did. The care goes into two places, power and the override path. A real radio link stays bound to the autopilot so a switch on the handset hands the truck back at once, and nothing above 5.3 V is allowed to reach the board.

Ground station Mission Planner · MAVLink over UDP Companion computer planned · Camera Module 3 · ROS 2 · Ethernet RadioLink AT10II R12DSM receiver · SBUS · 12 channels Raspberry Pi 3B + Navio2 ArduRover 4.0 · dual IMU · barometer · M8N GNSS RCIO co-processor · 14 PWM outputs Wi-Fi SBUS · manual override Arduino planned · encoders · temperature UART RPLIDAR A1M8 USB · 8 sectors · switched out 09-25 USB Winch own fob · supply pending · no channel Steering servo SERVO1 · GroundSteering Forward/reverse ESC SERVO3 · Throttle Lockers and 2-speed SERVO6 · SERVO7 · SERVO8 · passthrough PWM · 1500 µs neutral · 50 Hz Titan 550 brushed · pack voltage
The autopilot is the hub. The handset's twelve channels arrive on one SBUS lead; the ground station talks MAVLink over Wi-Fi; the lidar fed range in over USB until its plug came loose; the RCIO co-processor turns commands into servo pulses independent of the Pi's timing. The winch never touches it: it answers its own fob and uses no autopilot channel.
3S LiPo 5,000 mAh · XT60 master switch Power module 5.3 V + V and I sense live since 2026-09-23 XT60 1 to 4 · star ground six-pin cable · 5.3 V + voltage and current sense Navio2 POWER port battery monitor · ADC pins 2 and 3 leg 1 · unfused Forward/reverse ESC new · BEC to be metered Titan 550 brushed · pack voltage receiver BEC · meter first use undecided · lights need a supply 7.5 A leg 2 Servo BEC 8 A · about 5.3 V at the rail Navio2 servo rail servos · ORed backup for the Pi leg 3 · planned UBEC 5 A · 5 to 6 V for the 8856 winch leg 4 · capped star ground at the splitter: pack − · ESC − · BEC − · Navio2 ground
Three rails off one pack, one star ground. The master switch cuts everything. The power module feeds the Navio2 at 5.3 V and reports the pack; the ESC takes pack voltage unfused; the servo rail takes a fused BEC at about 5.3 V that also backs up the Pi. The Navio2's power port, servo rail and the Pi's USB are diode-ORed into one supply, so an ESC's receiver-lead BEC is metered before it goes anywhere near the board, and pulled if it is above 5.3 V. The winch lost its supply with the old ESC; the spare UBEC takes a splitter leg for it.
Every connection, what it carries and its notes
FromToCarries
Navio2 CH1 Steering servo Servo PWM at 50 Hz, 1500 µs centred3.3 V logic drives the servo directly.
Navio2 CH3 ESC signal PWM throttle, 1500 µs neutral, 1100 to 1900 µs endsSignal and ground only unless the ESC's BEC measures 5.3 V or less. The XL-5 HV's 6 V red wire came out; the new ESC's is to be metered.
Navio2 CH6, CH7, CH8 Front locker, rear locker, 2-speed servos PWM on RC passthroughEach channel mirrors its handset switch.
R12DSM SBUS lead Navio2 PPM/SB column All 12 channels on one three-wire leadThe board powers the receiver. Signal on the top row, ground on the board edge.
Power module, six-pin cable Navio2 POWER port 5.3 V, plus pack voltage and current on ADC pins 2 and 3Live since 2026-09-23.
Servo BEC, about 5.3 V Navio2 servo rail Servo power, and the Pi through the diode-ORBehind a 7.5 A fuse on the splitter. Never 6 V: the rail feeds the Pi.
LiPo pack XT60 master switch on the pack lead, then the power module and the splitter Pack voltageLeg 1 to the ESC, unfused; leg 2 to the servo BEC; a leg for the winch's UBEC next. The splitter's negative bus is the star ground.
RPLIDAR A1M8 Pi USB Serial over USB: ArduPilot SERIAL4, Lidar360 at 115200The motor is gated by the port's DTR line; a small service clears it after ArduRover starts. Unplugged since 2026-09-25, PRX_TYPE at 0, until it is back on.
Pi Wi-Fi Ground station MAVLink over UDPTo Mission Planner on the bench network.
VL53L1X Navio2 I2C Range, natively supportedPlanned. The barometer shares the bus at another address.
Pi Camera Module 3 A companion computer's CSI port Image data over the ribbon cableRecommended, not decided. Not the autopilot's Pi: its image cannot see the sensor.
Arduino TX/RX Pi UART Serial telemetryPlanned. The Arduino's 5 V TX needs a level shift into the Pi's 3.3 V RX.
Channel map: handset to SBUS to ArduRover
ChannelDrivesOn the handset
CH1 Steering Right stick, left and right
CH2 Throttle Right stick, up and downRCMAP_THROTTLE = 2 puts throttle on the same stick as steering; RC2_REVERSED sets which way is forward.
CH5 Mode: Manual / Hold / Auto Three-position switchThe override. Flip it and the truck is yours.
CH6 Front diff lock Toggle
CH7 Rear diff lock Toggle
CH8 2-speed transmission Toggle
CH9 Arm / disarm Three-position switchOnly fully high arms. Middle and low both disarm.
CH10 Light modes TogglePlanned.
CH11, CH12 Camera gimbal pan and tilt KnobsPlanned, with the gimbal.

ArduRover

Parameters that mattered

Output map

An Ackermann rover needs two outputs assigned and every aux servo told to follow its switch. These are the values that made the truck drive, after the ones that did not.

ArduRover parameters and why each is set
ParameterValueWhy
SERVO1_FUNCTION 26 GroundSteering on output 1.
SERVO3_FUNCTION 70 Throttle on output 3.
SERVO3_TRIM 1500 Throttle neutral. At 1100 the ESC sees a permanent brake and the motor is dead.
SERVO6_FUNCTION 56 RCIN6: the front locker follows its switch.
SERVO7_FUNCTION 57 RCIN7: the rear locker follows its switch.
SERVO8_FUNCTION 58 RCIN8: the 2-speed follows its switch. Left at 0 the output sends no pulse, the servo never moves, and the transmission stays in neutral.
SERVO4_FUNCTION 0 Was a stray 102 from the shuffle. Unused outputs stay at 0.
RCMAP_THROTTLE 2 Throttle reads the right stick's vertical axis.
RC2_REVERSED 1 Flipped from 0 to 1 on 2026-09-25 to swap the stick's direction; not yet verified, and the new ESC may want it the other way. A radio calibration resets it.
MODE_CH 5 The three-position switch selects Manual, Hold or Auto.
RC9_OPTION 41 Arm/disarm on CH9. 41 is the value on Rover 4.0; it became 153 in 4.2.
ARMING_RUDDER 0 No stick arming. Steering and throttle share a stick, so a hard right at neutral used to arm the truck.
FS_ACTION 2 Hold when the radio link is lost.
BATT_MONITOR 4 Voltage and current from the power module. It was 0, which is why Mission Planner saw nothing.
BATT_VOLT_PIN, BATT_CURR_PIN 2, 3 The Navio2's ADC channels for the module's sense lines.
BATT_VOLT_MULT 10.1 Seed value. To be scaled until the reading matches a meter at the pack.
BATT_AMP_PERVLT 17 Seed value. Only affects the mAh count, not the voltage failsafe.
SERIAL4_PROTOCOL, SERIAL4_BAUD 11, 115 Lidar360 at 115200 on the USB serial port the lidar enumerates as.
PRX_TYPE 5, now 0 5 is the RPLidar. Set to 0 on 2026-09-25 so a loose plug cannot block arming; back to 5 when it is remounted.
PRX_ORIENT 0 Upright, with the driver assuming the cable points to the rear; the mount has not been checked against that yet.
AVOID_ENABLE 7 Use the proximity sensor and fences.
AVOID_MARGIN 0.5 Half a metre. The 2 m default is for a full-size vehicle.
AVOID_BEHAVE 1 Stop, rather than slide along the obstacle.
OA_TYPE 0 No path planning yet; that comes with waypoint missions.
SCHED_LOOP_RATE 50 Left at the default. The docs suggest 400 for this lidar, and that is a lot to ask of a Pi 3 already flying the autopilot.

Cheaper to read

What cost bench time

Output map

The servo function map cost hours

The SERVOn_FUNCTION table got shuffled, and every symptom pointed somewhere else. The fix for this Ackermann truck is short: SERVO1 = 26, SERVO3 = 70, every aux servo on RC passthrough, everything else 0. A channel left disabled sends no pulse at all, so its servo never moves: that is how a 2-speed ends up stuck in neutral with the motor spinning and the wheels still.

Trim

A throttle trim of 1100 is a dead motor

After a round of settings changes the motor would not run. SERVO3_TRIM had moved from 1500 to 1100, so the ESC was being fed a permanent brake instead of neutral and refused to arm. Save a parameter file from a known-good truck; then a scramble is a diff, not a hunt.

Modes

It only drives in Manual

Hold and Auto keep the throttle at neutral until there is a mission and a position, which from the bench looks exactly like a dead ESC. Manual is the mode for bring-up; Auto waits for GPS.

Arming

A hard right turn used to arm the truck

With steering and throttle on one stick, ArduPilot's stick arming meant full right at neutral throttle armed it. Now a dedicated switch is the only way: CH9 fully high arms, and middle or low disarms, so a knocked switch or a failsafe parking the channel fails toward safe.

Connectors

Two plugs fell off in two days

The receiver's three-wire lead came off mid-session and the failsafe caught it. Then the lidar's USB-C came loose and the pre-arm check reported bad lidar health. On a truck that vibrates and is handled constantly, every connector wants a zip tie anchoring the cable near its plug.

Reverse

The old ESC would not back up for the autopilot

The XL-5 HV reversed only after a double-tap: reverse, neutral, reverse. ArduRover holds a steady value, so in Auto it could brake and never reverse, and missions were planned forward-only. The forward/reverse ESC fitted on 2026-09-25 should remove the lockout; calibration will tell.

Power module

The power module went in backwards

It let the smoke out. The Navio2 and the Pi survived because the six-pin cable was not in the board at the time. The replacement was wired correctly, and then read nothing in Mission Planner for a different reason: the battery monitor was switched off. Connecting the module is half the job.

Cells

The XL-5 HV was a 3S ESC

A 4S pack tripped its over-voltage alarm, red and green, and it refused to arm. Its low-voltage cutoff was set to LiPo by holding EZ-Set for about ten seconds until the LED was solid green. The packs are 3S, 5,000 mAh.

Rail voltage

Nothing above 5.3 V touches the Navio2

Its power port, servo rail and the Pi's USB are diode-ORed into one supply, so a 6 V BEC on the servo rail feeds 6 V to the Pi. The XL-5 HV's own 6 V receiver BEC was exactly that, which is why its red wire came out of the lead. The new ESC's BEC gets a meter before it gets a socket.

Camera

The camera this Pi cannot see

The Camera Module 3's sensor is known only to libcamera and a far newer kernel. Emlid's image is the older stack on a custom kernel, and that kernel is what carries the Navio2's driver. Upgrading the OS to chase the camera risks the autopilot, so the camera goes to a companion computer instead.

Lidar

The lidar's motor stops when ArduPilot opens the port

Over the USB adapter the RPLIDAR's motor is gated by the serial DTR line. ArduPilot's driver expects direct-UART wiring where the motor always spins, and opening the port asserted DTR and switched it off, so the sensor sat silent with every parameter correct. A small service clears DTR a few seconds after ArduRover starts, and the range data flows.

Avoidance

Avoidance does nothing in Manual

Manual is pure stick passthrough by design. Simple avoidance acts in Acro, Steering, Loiter and Guided, and those need a velocity estimate the truck does not have indoors: no GPS fix, no encoders. So the lidar can see the room and the truck cannot yet act on it.

GPIO

The Navio2 cannot count encoder pulses

ArduPilot's wheel-encoder driver needs GPIO interrupts, which Linux autopilots do not reliably provide, so the encoders go on the Arduino. I2C is fine on the board: the time-of-flight sensors plug straight into the Navio2 and ArduPilot reads them itself.

Seating

Half-seated HATs fail in a particular way

If Emlid's test reports the IMUs, barometer and GPS failing while the RCIO passes, the Navio2 is not fully on the header: SPI to the RCIO survives a partial seat and the sensor rail does not. Reseat and screw it down. An empty test while ArduRover is running is a different thing: the autopilot holds the sensors, so stop it first.

Switch

The dropouts were the power switch

The Pi kept vanishing from the network mid-session, and a Wi-Fi power-saving fix went in to stop it. The Wi-Fi was probably fine: the truck was being switched off at the new XT60 master switch between sessions. Before hunting a network fault, ask whether the rover is on.

Inventory

On the truck

Parts, what each does and its state
PartDoesState
Traxxas TRX-4 Ford Bronco (92076-4) Chassis: portal axles, two-speed transmission, remote-locking differentials On the truck
Titan 550 brushed motor Drive On the truck
Forward/reverse ESC Motor control, forward and reverse; expected to have no reverse lockoutFitted 2026-09-25. Make and model to be recorded; BEC to be metered; throttle range and direction to be calibrated. On the truck
Traxxas XL-5 HV ESC Motor control, 3S maximum, reverse only after a double-tapReplaced 2026-09-25. Its accessory plug had powered the winch. Retired
Emlid Navio2 on a Raspberry Pi 3B Autopilot: ArduRover 4.0 on Emlid's ArduPilot imageDual IMU, barometer, u-blox M8N GNSS, and an RCIO co-processor for 14 PWM outputs. On the truck
RadioLink AT10II with an R12DSM receiver Manual override, 12 channels over SBUSOne three-wire lead into the Navio2; the board powers the receiver. The lead has already fallen off once. On the truck
Power module 5.3 V to the Navio2 plus battery voltage and currentOn the POWER port since 2026-09-23; the monitor reads the pack. Multiplier still to calibrate. On the truck
Emlid power module (the first) The same jobWired backwards, early September. Dead
3S LiPo packs, 5,000 mAh Main packNominal 11.1 V; the monitor reads it as 3S, as the XL-5 HV did. On the truck
XT60 master switch Cuts the pack from everythingOn the pack lead. The truck is off between sessions. On the truck
XT60 1-to-4 splitter Distribution block and star ground On the truck
Servo BEC, 8 A, about 5.3 V at the rail Servo rail supplyAlso carried the Pi through the Navio2's diode-OR while the power module was out. On the truck
UBEC, 5 A Accessory supply for the winchNeeded again: the winch lost the XL-5 HV's accessory plug. Proposed for a splitter leg at 5 to 6 V. Spare
Traxxas Pro Scale lights LightingRan from the XL-5 HV's 6 V receiver BEC; without a supply since the swap. On the truck
Traxxas 8856 winch with the 8857 fob RecoveryIts own 2.4 GHz link, no autopilot channel. Needs a supply since the ESC swap. On the truck
Slamtec RPLIDAR A1M8 360° range for proximity, and later mappingGave ArduRover eight sectors of range over the Pi's USB on 2026-09-24. Its plug came loose; unplugged, with PRX_TYPE at 0, until it is strain-relieved and back on. In hand
Raspberry Pi Camera Module 3, 12 MP Vision: a stream first, then path following and marker dockingCannot run on the autopilot's Pi. Recommended for a companion computer; not yet decided. In hand
VL53L1X time-of-flight sensors Close-range stop, about 4 mI2C into the Navio2, which ArduPilot supports natively. One is easy; several need their addresses changed. In hand
Hall-effect sensors Wheel odometryOn a driveshaft, counted by the Arduino. In hand
Magnets for the encoders Wheel odometryOn order as of 2026-09-24. Planned
SMT172 temperature sensor Motor or ESC temperatureNot the logic-level shifter its part number suggests. Reads through the Arduino. In hand
Companion computer ROS 2, SLAM, the camera and the lidar's full scanA Raspberry Pi 5, 8 GB, is the candidate, with its own 5 V BEC of 6 A or more. Planned
Arduino with a level shifter Real-time peripherals over UARTEncoders, the temperature sensor, lights sequencing, a gimbal. Planned
GNSS mast Gets the M8N antenna away from the motor and ESC leads Planned
Vibration-damped mounting plate Isolates the IMU from the crawler's pounding Planned

Written from the build's own documents and bench notes. Nothing about the bench network is here on purpose.