Pilot CNC-shield rig

The cheapest stepper-driven mobile rig that completes the end-to-end OctoMY™ firmware flow. Arduino Uno, V3 CNC shield, two A4988 stepper drivers, two NEMA-17 motors. The personality file ships in tree at content/personalities/pilot-cnc-shield/; this howto walks through assembly, wiring, and the first drive.

Pro Tip

The rig is a desk-scale toy — full throttle gets you a few hundred mm/s on stiction-free surfaces. The goal isn't to drive a long way; it's to verify that intent-based control all the way from the Remote joystick down to the stepper-pulse output works on real hardware.


Before you start


Wiring

The V3 CNC shield's pin map maps onto the Uno like this:

Pin Function Wiring note
D2 X-step (left-drive) Step pulse — one rising edge per step
D5 X-dir (left-drive) LOW = forward, HIGH = reverse
D3 Y-step (right-drive) Step pulse
D6 Y-dir (right-drive) Direction line
D8 EN (steppers enable, active-low) Tie to GND for unconditional enable
A0–A2 Limit switches Optional — leave unconnected for this rig

Plug the two A4988 modules into the X and Y slots of the shield. Adjust the current trimmer on each driver until the motor body is warm but not hot at full step. (Stepper sizing is hand-set; rule of thumb: trimmer voltage ≈ rated current × 0.7 Ω.)

Connect the 12 V supply to the shield's +12V / GND screw terminals. Do not power the Uno from the 12 V supply — keep the Uno on USB or a separate 5 V supply; the shield's onboard regulator is unreliable above 1 A.

Tie the shield's EN pin to GND using the dedicated jumper. The differential-drive lobe doesn't currently drive EN; without this jumper the drivers stay disabled and the motors won't move.


Deploy the personality

  1. Open the Hub.
  2. Navigate to Deploy.
  3. Pick the pilot-cnc-shield personality from the in-tree list.
  4. The Hub builds the firmware for the uno board target — the CNC shield is a passive accessory, so no separate board entry is needed.
  5. The flash step writes the AVR ELF to the Uno over USB via stk500v2 (or AVR109 on newer bootloaders).
  6. After flash, the Agent's runtime advances to Running and opens the numex serial link.

Drive it from Remote

  1. Open the Remote app.
  2. Controller menu → Ground Drive.
  3. The joystick maps:
  4. The auto-mounted port bank below the joystick exposes the optional inputs:

Push the joystick forward — both motors should advance equally. Twist sideways — one motor goes forward, the other goes backward; the rig pivots.

Pro Tip — sign convention

yaw = +1 is a left turn (CCW from above). If your rig turns the wrong way when you push left on the joystick, swap the cable polarity on one motor or flip its direction in the Studio actuator config (reverse flag). The lobe always emits left-turn-for-positive-yaw; the actuator wiring decides what "left" means.


Hazards


What's next