# AON3D M2+ - BTT Octopus Pro v1.0.1 Conversion Controller board upgrade from Azteeg X3 to BigTreeTech Octopus Pro v1.0.1 running Klipper firmware. ## Machine Configuration | Component | Specification | |-----------|---------------| | Printer | AON3D M2+ (IDEX) | | Controller | BTT Octopus Pro v1.0.1 | | Firmware | Klipper | | Host | Raspberry Pi 4/5 (FluiddPi) | | Stepper Drivers | External DM542T | | Kinematics | Cartesian with Dual Carriage (IDEX) | ## Motor Assignments | Motor Slot | Axis | Function | |------------|------|----------| | MOTOR0 | X | Primary carriage | | MOTOR1 | X2 | Dual carriage (IDEX) | | MOTOR2 | Y | Y axis | | MOTOR3 | Y1 | Y axis (second motor) | | MOTOR4 | Z | Z axis | | MOTOR5 | Z1 | Z axis (second motor) | | MOTOR6 | E0 | Extruder 0 | | MOTOR7 | E1 | Extruder 1 | ## Build Volume - X: 450mm (540mm total with dual carriage travel) - Y: 450mm - Z: 600mm - Heated Chamber: Yes (up to 175°C) ## Project Structure ``` AON3D-M2/ ├── klipper/ │ ├── printer.cfg # Main Klipper configuration │ └── macros.cfg # G-code macros (IDEX, pause/resume, etc.) ├── original/ │ └── klipper_config/ # Original Azteeg X3 configs (reference) ├── docs/ │ └── wiring.md # Wiring guide for Octopus Pro └── README.md ``` ## Quick Start 1. **Flash Klipper** to the Octopus Pro (see [docs/wiring.md](docs/wiring.md)) 2. **Wire the board** according to the pin assignments in [docs/wiring.md](docs/wiring.md) 3. **Copy config files** to your Pi: ```bash scp klipper/*.cfg pi@192.168.86.20:~/printer_data/config/ ``` 4. **Update serial port** in `printer.cfg`: ```bash ssh pi@192.168.86.20 ls /dev/serial/by-id/* # Edit printer.cfg with the correct serial ID ``` 5. **Restart Klipper** and verify connection ## Key Differences from Original Setup | Setting | Original (Azteeg X3) | New (Octopus Pro) | |---------|---------------------|-------------------| | MCU | ATmega2560 (Arduino) | STM32F446 | | Pin format | `ar##` aliases | Direct STM32 pins | | Communication | FTDI USB-Serial | Native USB | | Voltage reference | 5V ADC | 3.3V ADC | ## Calibration Checklist After wiring, perform these calibrations: - [ ] Verify motor directions (invert DIR pins if needed) - [ ] Check endstop triggering (`QUERY_ENDSTOPS`) - [ ] Verify thermistor readings at room temperature - [ ] PID tune extruders: `PID_EXTRUDER` / `PID_EXTRUDER1` - [ ] PID tune bed: `PID_BED` - [ ] PID tune chamber: `PID_CHAMBER` - [ ] Calibrate Z endstop: `Z_ENDSTOP_CALIBRATE` - [ ] Run bed mesh: `BED_MESH_CALIBRATE` - [ ] Verify IDEX tool changes: `T0` / `T1` ## Useful Commands ```gcode T0 # Switch to extruder 0 T1 # Switch to extruder 1 CALIBRATE_M2 # Full calibration routine PID_EXTRUDER TEMP=250 # PID tune extruder at 250°C PID_BED TEMP=110 # PID tune bed at 110°C LOAD_FILAMENT # Load filament UNLOAD_FILAMENT # Unload filament ``` ## Links - [Klipper Documentation](https://www.klipper3d.org/) - [BTT Octopus Pro GitHub](https://github.com/bigtreetech/BIGTREETECH-OCTOPUS-Pro) - [Klipper Config Reference](https://www.klipper3d.org/Config_Reference.html) - [IDEX Configuration](https://www.klipper3d.org/Config_Reference.html#dual_carriage)