Identify the hardware and select the runtime
Match the Uno Q, carrier-board revision, 15 serial servos and accessories against your kit list. The linked Luwu Dynamics repositories document the Uno Q adaptation. Pollen Robotics' original Microduck is a related design with different hardware and policies. Keep software, calibration and models matched to your build.
Use the master branch for basic browser motion, servo setup and calibration. Use the AI branch when you need its supported USB audio or video and optional ToF functions. Keep a note of the branch and revision, since buttons and setup steps can change between versions.
Connect the Uno Q and open the control page
Connect the board using a USB-C data cable and finish the first-run setup in Arduino App Lab. Put the board and computer on the same local network. If you are unsure whether the board is reachable, run an App Lab LED example, confirm that the board responds, stop it, then record the board's IP from Network Info.
Prepare the Bridge according to the README for the runtime you selected. Run that project in App Lab and open the web link it provides, or use the board's IP with port 9527 for motor control. Keep the control page on your local network.
Label servo IDs and follow the assembly drawings
Power off before changing wiring. When assigning an ID, connect just one servo, scan it, change the ID and scan again to verify. Label the servo before installing it. The reference map is left leg 10–14, right leg 20–24, neck and head 30–33, and mouth 34.
Use the 25-page assembly PDF for screw locations, part orientation and cable routing. Test the fit of printed bearing seats and servo mounts before final assembly. Check clearance and cable slack before closing each section, especially where left and right installations differ.
Calibrate the joints before the first walk
Support the robot with its feet clear. The current base runtime starts with inference enabled and motors unloaded. Before enabling motion, check that the UI reports all 15 servos and the IMU online. Follow the calibration controls in the version you installed. In current master, center one joint mechanically, then use Set center & hold for that joint. The servo can move when it starts holding.
Back up your own data/zero_pos.json privately after calibration. Test Default pose with the robot supported, then try a low movement command on a clear, level surface. Stop if a joint binds or moves unexpectedly. Torque off can make the robot collapse, so keep it supported when testing that control.
Diagnose connection, servo and standing problems
If the browser cannot connect, check that the app is running, confirm the board IP and confirm both devices are on the same network. If the page opens but motor feedback is missing, check the matching runtime's Bridge preparation and diagnostics.
If a servo is missing, stop motion, power down before touching wiring, then check the supply, connector seating and IDs. If IMU or motor feedback is stale, resolve it before retrying movement. If the robot leans or a joint binds, compare assembly orientation and mechanical zeros with the reference. Record which joint and action reproduce the fault.
Bring up audio, video and ToF one at a time
Use the AI branch's dedicated App Lab ZIP and verify it against the published SHA-256 file. Back up your app and data before updating. Follow that branch's USB Host and Bridge setup. Prepare the documented network connection before changing USB mode, which can disconnect the computer's USB connection.
Check the AI cockpit at the board's root address and the motor page at port 9527. Verify the microphone, speaker and camera separately. Voice requires the branch's account binding and agent selection. For ToF, match the exact supported module, connector and revision before connecting it, then verify distance readings before testing avoidance.
Test policies in simulation before deploying
Use the downstream Uno Q training project for this hardware. Train on a separate CUDA-capable computer, test the intended task in simulation and export ONNX according to that repository's instructions. Check the runtime's joint order, observations and normalization before loading the model.
Record your hardware revision, runtime and training commits, calibration date and model checksum. Start real-hardware checks with the robot supported and stop on unexpected feedback or movement. A simulated result or another robot's ONNX file does not establish compatibility with your build.