# M3. The whole arm moves

> For agents: start with the [agent guide](https://parol6.build/llms.txt). Every page is Markdown by default; add `Accept: text/html` for HTML.

**Whole task:** build the rest of the arm, wrist to base: joints 5 to 1, then the base and electronics. Wire the base, test it, close it, then home the arm, jog every joint and check the witness marks.

The official order is wrist to base, because every wire passes down through the robot ([building instructions](https://docs.source-robotics.com/PAROL-docs/1.1/assets/pdf/PAROL6_building_instructions.pdf#page=7), page 7). Joint 6 is already built in [M2](/lore/m2-one-joint).

## Parts

Everything else in the [bill of materials](https://docs.source-robotics.com/PAROL-docs/1.1/build/bill-of-materials/):

- The two EG 20:1 planetary gearboxes, for joints 2 and 3.
- The three 40 mm motors for joints 3, 4 and 5, and the two 60 mm motors for joints 1 and 2 ([Drives, ratios and resolution](https://docs.source-robotics.com/PAROL-docs/1.1/03-technical-data/drives-and-ratios/)).
- The belts, bearings and couplers.
- Limit switches for joints 2, 3 and 5, and inductive sensors for joints 1 and 4 ([Electronics and wiring](https://docs.source-robotics.com/PAROL-docs/1.1/build/electronics-and-wiring/)).
- The control board, the GX16 socket, the fan and the E-stop from [M1](/lore/m1-bench-it).

[Print timelapses](/lore/timelapses): [Plate 1: J5 forearm part and lids](/lore/timelapses#timelapse-plate1-forearm-j5), [Plate 3: pulleys](/lore/timelapses#timelapse-plate3-pulleys).

## Concepts

- **Joint numbering, limits and directions** ([Joint limits](https://docs.source-robotics.com/PAROL-docs/1.1/03-technical-data/joint-limits/)).
- **Kinematics:** the DH model, the workspace and singularities ([Kinematics](https://docs.source-robotics.com/PAROL-docs/1.1/03-technical-data/kinematics/); [Configurations and singularities](https://docs.source-robotics.com/PAROL-docs/1.1/theory/configurations-and-singularities/)).
- **Homing is the only position reference** ([Homing](https://docs.source-robotics.com/PAROL-docs/1.1/05-operation/homing/); [Homing and mastering](https://docs.source-robotics.com/PAROL-docs/1.1/theory/homing-and-mastering/)).
- **Open loop and lost steps.** An overloaded stepper loses steps silently, and the only cure is to home again ([Drives, ratios and resolution](https://docs.source-robotics.com/PAROL-docs/1.1/03-technical-data/drives-and-ratios/), "Why open loop works here").

## How-to

- The [building instructions PDF](https://github.com/Source-Robotics/PAROL6-Desktop-robot-arm/blob/main/Building%20instructions/Parol%20building%20instructions.pdf) and the official playlist, joint by joint.
- The wiring diagram and "Test before you close the base" ([Electronics and wiring](https://docs.source-robotics.com/PAROL-docs/1.1/build/electronics-and-wiring/)).
- First power-on, direction fixes and homing ([Firmware and first run](https://docs.source-robotics.com/PAROL-docs/1.1/build/firmware-and-first-run/)).
- Witness marks and mastering ([Mastering](https://docs.source-robotics.com/PAROL-docs/1.1/05-operation/mastering/)).

## Practice

- The M2 assembly skills at higher reps: bearings, belts, couplers and threadlocker.
- Labelling wires to the *Wire\_markings* sheet in the [print table](https://github.com/Source-Robotics/PAROL6-Desktop-robot-arm/blob/main/Print%20table/PR_EXCEL.xlsx).
- Homing drills: pose joint 6 within one turn of its sensor, and stand at the E-stop.

## Done check

1. Homing finishes and the simulator matches the robot.
2. The pin passes through every joint's witness marks ([Firmware and first run](https://docs.source-robotics.com/PAROL-docs/1.1/build/firmware-and-first-run/), section 5).
3. Every joint jogs in its correct direction.
4. Joel explains, unprompted, why the arm must home again after a stall.

## Terms

- **homing**: driving each joint to its limit switch or sensor, then a known number of steps to the after-homing pose. It is needed after every power-up, collision, stall or move by hand ([Homing](https://docs.source-robotics.com/PAROL-docs/1.1/05-operation/homing/)).
- **witness marks**: holes in neighbouring links that line up in the after-homing pose, so a pin pushed through them proves the pose ([Mastering](https://docs.source-robotics.com/PAROL-docs/1.1/05-operation/mastering/)).
- **mastering**: correcting each joint's homed position in the firmware until a homed robot stands exactly at its witness marks ([Mastering](https://docs.source-robotics.com/PAROL-docs/1.1/05-operation/mastering/)).
- **jogging**: moving one joint, or the tool along one axis, for as long as a button is held or a command repeats ([Jogging](https://docs.source-robotics.com/PAROL-docs/1.1/05-operation/jogging/)).
- **limit switch**: the mechanical switch that homes joints 2, 3 and 5, wired from 24 V to a LIMIT terminal ([Electronics and wiring](https://docs.source-robotics.com/PAROL-docs/1.1/build/electronics-and-wiring/)).

## Video

[The M3 video](/lore/video-m3) is planned.

## Sources

1. [PAROL6 building instructions](https://docs.source-robotics.com/PAROL-docs/1.1/assets/pdf/PAROL6_building_instructions.pdf)
   Source Robotics. The wrist-to-base build order on page 7, and each assembly step. Accessed 2026-11-07.

2. [Bill of materials, PAROL6 docs 1.1](https://docs.source-robotics.com/PAROL-docs/1.1/build/bill-of-materials/)
   Source Robotics. Gearboxes, motors, belts, bearings, couplers and sensors for joints 2 to 6. Accessed 2026-11-07.

3. [Electronics and wiring, PAROL6 docs 1.1](https://docs.source-robotics.com/PAROL-docs/1.1/build/electronics-and-wiring/)
   Source Robotics. Limit switches on joints 2, 3 and 5, inductive sensors on 1, 4 and 6, and testing before closing the base. Accessed 2026-11-07.

4. [Joint limits, PAROL6 docs 1.1](https://docs.source-robotics.com/PAROL-docs/1.1/03-technical-data/joint-limits/)
   Source Robotics. Joint numbering, limits and directions. Accessed 2026-11-07.

5. [Kinematics, PAROL6 docs 1.1](https://docs.source-robotics.com/PAROL-docs/1.1/03-technical-data/kinematics/)
   Source Robotics. The DH model and the workspace. Accessed 2026-11-07.

6. [Homing, PAROL6 docs 1.1](https://docs.source-robotics.com/PAROL-docs/1.1/05-operation/homing/)
   Source Robotics. Why homing is needed after every power-up, and the joint order. Accessed 2026-11-07.

7. [Mastering, PAROL6 docs 1.1](https://docs.source-robotics.com/PAROL-docs/1.1/05-operation/mastering/)
   Source Robotics. Witness marks and the procedure for correcting the after-homing pose. Accessed 2026-11-07.

8. [Jogging, PAROL6 docs 1.1](https://docs.source-robotics.com/PAROL-docs/1.1/05-operation/jogging/)
   Source Robotics. Joint jog in the commander and its speed slider. Accessed 2026-11-07.

9. [Drives, ratios and resolution, PAROL6 docs 1.1](https://docs.source-robotics.com/PAROL-docs/1.1/03-technical-data/drives-and-ratios/)
   Source Robotics. Motors per joint and why open loop loses steps when overloaded. Accessed 2026-11-07.

## Lore on this page

- [The PAROL6 milestones](/lore/milestones)
- [M1. Bench it: power, one motor, a safe stop](/lore/m1-bench-it)
- [M2. One joint end to end: the wrist and joint 6](/lore/m2-one-joint)

## What links here

- Agent guide → Joel builds a PAROL6 robot arm, one sourced and filmed milestone at a time. → [Read page](https://parol6.build/llms.txt)

- Build steps by milestone → The official how-to pages for each milestone, in build order, gathered from the milestone pages. → [Read page](https://parol6.build/lore/build-steps)

- Change log → What changed in the files served here, newest first. → [Read page](https://parol6.build/log)

- Concepts by milestone → The mental models each milestone teaches, gathered from the milestone pages, with the glossary for single terms. → [Read page](https://parol6.build/lore/concepts)

- Full agent guide → Joel builds a PAROL6 robot arm, one sourced and filmed milestone at a time. → [Read page](https://parol6.build/llms-full.txt)

- M1. Bench it: power, one motor, a safe stop → The first milestone takes a bare control board and one motor to a live bench rig that powers on, turns a motor and stops when the mains switch goes off. → [Read page](https://parol6.build/lore/m1-bench-it)

- M2. One joint end to end: the wrist and joint 6 → The second milestone prints, assembles and wires the wrist, proves its homing sensor triggers, then jogs joint 6 to a commanded angle and measures the result. → [Read page](https://parol6.build/lore/m2-one-joint)

- M3 video: The whole arm moves → The video for milestone 3 is planned and not yet recorded. → [Read page](https://parol6.build/lore/video-m3)

- M4. Pick and place, repeatably → The fourth milestone fits a gripper, programs a pick-and-place loop and measures how well it repeats. → [Read page](https://parol6.build/lore/m4-pick-and-place)

- Milestone videos → Each milestone ends in one video, and every video is planned until Joel publishes it. → [Read page](https://parol6.build/lore/videos)

- PAROL6 build → Joel builds a PAROL6 robot arm, one sourced and filmed milestone at a time. → [Read page](https://parol6.build/)

- PAROL6 sources and licences → Every build fact on this wiki comes from the official PAROL6 manual and repository, which are linked here with their licences. → [Read page](https://parol6.build/lore/sources)

- PAROL6 wiki | PAROL6 build → The PAROL6 build wiki: the milestones, their videos and the official sources behind them. → [Read page](https://parol6.build/lore)

- Parts by milestone → What goes on the bench at each milestone, gathered from the milestone pages and the official bill of materials. → [Read page](https://parol6.build/lore/parts)

- Print timelapses → Every PAROL6 print plate as a sped-up video from the printer's camera, with its parts, material, layer count, print time and milestones. → [Read page](https://parol6.build/lore/timelapses)

- Source change history (log.md) → The generated change log as Markdown. → [Read page](https://parol6.build/log.md)

- The PAROL6 milestones → Seven milestones take the build from a bare control board to a robot arm that plays a Eurorack skiff. → [Read page](https://parol6.build/lore/milestones)

## Unlinked mentions

- [Build steps by milestone](https://parol6.build/lore/build-steps) → Gripper setup and the homing offset for the tool (Homing; End effectors).¶

- [M1. Bench it: power, one motor, a safe stop](https://parol6.build/lore/m1-bench-it) → The motors have no encoders, so the position is the count of steps commanded since homing (Drives, ratios and resolution).¶

- [M2. One joint end to end: the wrist and joint 6](https://parol6.build/lore/m2-one-joint) → Stock firmware homes all six joints in one sequence (Homing), so a single joint cannot finish homing.

- [M3 video: The whole arm moves](https://parol6.build/lore/video-m3) → The first homing, in real time.¶

- [Parts by milestone](https://parol6.build/lore/parts) → The printed wrist part, the EG 10:1 planetary gearbox, Stepper 1, Sensor 1, the AXK3552 thrust bearing, the shaft coupler and the M3 homing screw, plus an ST-Link and the programming adapter.
