Volterra Adaptive Layer Fusion - Klipper Configuration for Large Format CoreXY 3D Printer
This repository contains the Klipper firmware configuration files for the Volterra-ALF (Adaptive Layer Fusion) 3D printer by Fracktal Works. The Volterra-ALF is a large-format industrial CoreXY printer designed for high-temperature materials with advanced thermal management features.
| Specification | Value |
|---|---|
| Kinematics | CoreXY |
| Build Volume | 400 × 400 × 435 mm |
| Max Velocity | 200 mm/s |
| Max Acceleration | 1500 mm/s² |
| Max Z Velocity | 20 mm/s |
| Nozzle Diameter | 0.4 mm |
| Max Hotend Temp | 480°C |
| Max Bed Temp | 150°C |
| Max Chamber Temp | 160°C |
- Stepper Drivers: TMC5160 on all axes (SPI mode with StealthChop)
- X/Y Motors: 1.2A run current, 16 microsteps
- Z Motor: 2.8A run current, 8 microsteps
- Extruder: Dual extrusion system with primary and side extruder steppers
- MCU: STM32H723xx (BTT Manta M8P or similar)
- Serial: USB connection via
/dev/serial/by-id/
- Hotend: PT1000 sensor, PID controlled (up to 480°C)
- Heated Bed: ATC Semitec 104GT-2 thermistor, watermark control
- Chamber Heater: PID controlled with dedicated heater
- Filament Heater: Separate heating zone for filament preheating
- AOF Fan: Always-on fan for hotend cooling
- Z Probe: Bed-mounted probe with automatic mesh leveling
- Bed Mesh: 5×5 probe grid with bicubic interpolation
- Bed Screws: 3-point manual leveling (Front Left, Front Right, Rear Centre)
Volterra-ALF/
├── printer.cfg # Main printer configuration
├── CORE_GCODE_MACROS.cfg # Core G-code macros for Marlin compatibility
├── macro.cfg # Additional custom macros
├── mainsail.cfg # Mainsail web interface configuration
├── moonraker.conf # Moonraker API server configuration
├── KlipperScreen.conf # KlipperScreen touch interface settings
└── config_backups/ # Timestamped configuration backups
The configuration includes Marlin-compatible G-code macros for seamless operation:
| Macro | Description |
|---|---|
G28 |
Custom homing override (Z→Y→X sequence) |
G29 |
Automatic bed mesh calibration |
M106 |
Part cooling fan control (inverted PWM) |
M114 |
Position reporting |
M190 |
Heated bed temperature wait with tolerance |
M218 |
Tool offset configuration |
M290 |
Babystepping with persistent storage |
M420 |
Bed mesh load/clear |
M500 |
Save configuration |
M503 |
Report settings |
M851 |
Z probe offset adjustment |
M900 |
Pressure advance configuration |
- Runout Detection: Switch-based filament sensors (T0/T1)
- Jam Detection: Motion-based encoder sensors
- Macros:
SET_FILAMENT_RUNOUT_SENSOR,SET_FILAMENT_JAM_SENSOR
- Multi-zone heating (bed, chamber, filament)
- Automatic idle timeout with temperature management
- Configurable verify_heater settings for reliable operation
- Raspberry Pi (or similar SBC) running Raspberry Pi OS
- Klipper firmware installed
- Moonraker API server
- Mainsail or Fluidd web interface
-
Clone the repository:
cd ~/printer_data/config git clone https://github.com/FracktalWorks/Volterra-ALF.git .
-
Flash Klipper to MCU:
cd ~/klipper make menuconfig # Select: STM32H723, 128KiB bootloader, USB communication make make flash FLASH_DEVICE=/dev/serial/by-id/usb-Klipper_stm32h723xx_XXXXX
-
Configure Moonraker:
- Update
moonraker.confwith your network settings - Add trusted clients for your network
- Update
-
Restart Services:
sudo systemctl restart klipper sudo systemctl restart moonraker
- Home the printer:
G28 - Level the bed screws:
SCREW_ADJUST - Run bed mesh calibration:
G29 - Adjust Z probe offset:
M851 Z=<offset> - Save configuration:
M500
; Preheat
M140 S60 ; Bed temperature
M104 S200 ; Hotend temperature
SET_HEATER_TEMPERATURE HEATER=Chamber TARGET=50 ; Chamber
; Home and level
G28 ; Home all axes
M420 S1 ; Load bed mesh
; Start printingM290 Z0.05 ; Raise nozzle by 0.05mm
M290 Z-0.05 ; Lower nozzle by 0.05mmAccess the printer through Mainsail at:
- Local:
http://<raspberry-pi-ip> - Default port: 80 (web) / 7125 (API)
- Mainsail - Primary web interface
- KlipperScreen - Touch screen interface
- OctoPrint - Compatible via
octoprint_compat
Configuration backups are automatically saved in config_backups/ with timestamps:
- Format:
printer-YYYYMMDD_HHMMSS.cfg - Useful for reverting to previous working configurations
| Issue | Solution |
|---|---|
| Homing fails | Check endstop connections, verify position_endstop values |
| Probe not triggering | Verify probe pin configuration and wiring |
| Temperature errors | Adjust verify_heater settings, check thermistor connections |
| Stepper motor issues | Check TMC5160 SPI connections and run_current values |
QUERY_ENDSTOPS ; Check endstop states
QUERY_PROBE ; Check probe state
QUERY_FILAMENT_RUNOUT_SENSOR ; Check filament sensor status
M503 ; Report current settingsContributions are welcome! Please:
- Fork the repository
- Create a feature branch
- Submit a pull request with detailed description
This project is licensed under the GNU General Public License v3.0 - see the included mainsail.cfg header for details.
- Vijay Raghav Varada - Fracktal Works
- Yashas B Padmashali - Fracktal Works
For more information about Fracktal Works printers, visit fracktal.in
.png)