Amalgam Calibration Guide
This guide walks you through calibrating your Amalgam printer from first power-on to validated prints. The process is designed around Klipper’s capabilities and the Amalgam hardware.
Philosophy: Get it working, then optimize. Don’t chase perfection on step 1 before confirming step 2 works.
Calibration Order
Follow this sequence. Each phase builds on the previous one.
| Phase | Goal | Time |
|---|---|---|
| 1. Mechanical Setup | Frame square, belts tight, Z aligned | First build |
| 2. First Layers | Consistent adhesion across the bed | 30-60 min |
| 3. Dimensional Accuracy | Parts come out the right size | 30 min |
| 4. Klipper Tuning | Input Shaper + Pressure Advance | 1-2 hours |
| 5. Filament Profiles | Temp, retraction, flow per material | Per filament |
| 6. Validation | Benchy + victory print | Fun |
Phase 1: Mechanical Setup
Before any calibration prints, ensure the machine is mechanically sound.
Frame Squaring
Scaffold path (M10 threaded rod): - Use the MDF base as your reference — it’s the squaring jig - Check 90° at each corner with a machinist square - Tighten jam nuts only after square is confirmed
Mill/Lathe path (aluminum extrusion): - Extrusions should be perpendicular to MDF base - Check diagonal measurements — should be equal - Tighten all frame bolts after confirming square
Belt Tension
Belts should be firm but not guitar-string tight.
- Too loose: Layer shifts, ghosting, dimensional inaccuracy
- Too tight: Motor strain, premature bearing wear, noise
Test: Press belt at midpoint. Should deflect 2-3mm with moderate finger pressure.
Z-Axis: Triple-Z Leveling
Run Klipper’s Z_TILT_ADJUST to level the bed using the three Z motors.
G28 ; Home all axes
Z_TILT_ADJUST ; Auto-level using Triple-Z
Run 2-3 times until adjustments are minimal (< 0.01mm).
Verify Motion
Before printing, verify all axes move correctly:
G28 ; Home
G1 X110 Y110 Z50 F3000 ; Move to center
G1 X10 F3000 ; Move X
G1 X210 F3000
G1 Y10 F3000 ; Move Y
G1 Y210 F3000
G1 Z10 F1000 ; Move Z
G1 Z100 F1000
Watch for: - Smooth motion (no grinding, skipping) - Correct direction (X+ moves right, Y+ moves back, Z+ moves up) - No binding at travel limits
Phase 2: First Layers
The first layer is the foundation of every print. Get this right before anything else.
Bed Mesh Calibration
Create a mesh map of bed surface variations:
G28 ; Home
BED_MESH_CALIBRATE ; Probe the bed
SAVE_CONFIG ; Save mesh to printer.cfg
Re-run after any bed surface change (new G10 sheet, re-leveling, etc.).
Z-Offset Calibration
The Z-offset determines first layer squish. Too high = no adhesion. Too low = elephant foot.
Using paper method:
G28
PROBE_CALIBRATE ; Start interactive calibration
Adjust until paper drags slightly under the nozzle. Save with SAVE_CONFIG.
Using baby-stepping during print: Start a first layer test and adjust Z live:
SET_GCODE_OFFSET Z_ADJUST=0.01 MOVE=1 ; Raise nozzle slightly
SET_GCODE_OFFSET Z_ADJUST=-0.01 MOVE=1 ; Lower nozzle slightly
First Layer Test Print
Print the first layer grid — a 5×5 grid of small squares across the bed.
What to look for:
| Symptom | Cause | Fix |
|---|---|---|
| Lines not touching | Z too high | Lower Z-offset |
| Transparent/rough surface | Z too high | Lower Z-offset |
| Ridges between lines | Z too low | Raise Z-offset |
| Corners lifting | Poor adhesion | Clean bed, adjust temp, check level |
| Varies across bed | Bed not flat | Re-run BED_MESH_CALIBRATE |
Good first layer: - Lines slightly overlap - Smooth top surface - Consistent across entire bed - Adheres without lifting
Phase 3: Dimensional Accuracy
Once first layers are good, verify dimensional accuracy.
Calibration Cube
Print a 20mm calibration cube (or threaded bolt cube).
Measure with calipers: - X dimension (should be 20.00mm) - Y dimension (should be 20.00mm) - Z dimension (should be 20.00mm)
If dimensions are off:
| Issue | Likely Cause | Fix |
|---|---|---|
| All dimensions small | Under-extrusion | Increase flow rate / check extruder |
| All dimensions large | Over-extrusion | Decrease flow rate |
| X or Y off, Z correct | Steps/mm wrong | Calibrate steps/mm in Klipper |
| First layer elephant foot | Z too low | Raise Z-offset slightly |
Flow Rate Calibration
Print a single-wall cube (1 perimeter, 0 infill, 0 top layers).
Measure wall thickness with calipers. Should match your line width (typically 0.4mm for 0.4mm nozzle).
Adjust flow rate:
New flow % = (Expected width / Measured width) × Current flow %
Example: If expecting 0.4mm but measuring 0.44mm with flow at 100%:
New flow = (0.4 / 0.44) × 100 = 91%
Threaded Bolt Cube (Optional)
If using the threaded bolt cube, also test: - Thread engagement with a real nut (M6 or M8) - If nut doesn’t thread on: check for over-extrusion or Z calibration
Phase 4: Klipper Tuning
These Klipper-specific calibrations significantly improve print quality.
Input Shaper (Resonance Compensation)
Input Shaper eliminates ringing/ghosting artifacts. This is one of Klipper’s superpowers.
Option A: Manual with ringing tower
Print the ringing tower at moderate speed (80-100mm/s)
Examine walls for ringing patterns
Configure shaper in printer.cfg:
[input_shaper] shaper_freq_x: 40 ; Adjust based on test shaper_freq_y: 40 shaper_type: mzv
Option B: Automatic with ADXL345 accelerometer (recommended)
If you have an ADXL345 accelerometer connected:
SHAPER_CALIBRATE ; Automatic calibration
Klipper will measure resonances and suggest optimal settings.
Verify: Print ringing tower again. Ghosting should be eliminated or greatly reduced.
Pressure Advance
Pressure Advance compensates for filament pressure in the hotend, eliminating corner bulging and improving line consistency.
Calibration process:
Use Klipper’s tuning tower:
SET_VELOCITY_LIMIT SQUARE_CORNER_VELOCITY=1 ACCEL=500 TUNING_TOWER COMMAND=SET_PRESSURE_ADVANCE PARAMETER=ADVANCE START=0 FACTOR=.005Print the PA test pattern (square tower)
Measure height where corners look best
Calculate PA value:
PA = START + (measured_height × FACTOR)Set in printer.cfg:
[extruder] pressure_advance: 0.05 ; Your calculated value
Typical values: | Filament | PA Range | |———-|———-| | PLA | 0.02 - 0.08 | | PETG | 0.05 - 0.10 | | TPU | 0.10 - 0.20 |
Phase 5: Filament Profiles
Each filament type (and brand) needs its own profile.
Temperature Tower
A temperature tower prints sections at different temperatures to find the optimal printing temp.
Method: Use Klipper’s SET_HEATER_TEMPERATURE with layer-based changes, or use your slicer’s temperature tower feature.
What to look for: | Temp too low | Temp too high | |————–|—————| | Poor layer adhesion | Stringing/oozing | | Weak parts | Blobbing | | Rough surface | Discoloration |
Typical ranges: | Filament | Range | Start Point | |———-|——-|————-| | PLA | 190-220°C | 205°C | | PETG | 230-250°C | 240°C | | TPU | 220-240°C | 230°C |
Retraction Tuning
Retraction prevents stringing during travel moves.
Print a retraction tower (multiple columns with travels between them).
Adjust: - Retraction distance: Start at 0.5mm (direct drive) or 4mm (Bowden) - Retraction speed: 25-45mm/s typical
PETG note: PETG is stringy. Use lower retraction than PLA (it’s more viscous) and enable “wipe” in your slicer.
TPU note: Minimal or zero retraction for flexible filaments — they compress and jam.
Per-Filament Settings
Create profiles in your slicer for each filament:
| Setting | PLA | PETG | TPU |
|---|---|---|---|
| Hotend temp | 200-210°C | 235-245°C | 225-235°C |
| Bed temp | 55-60°C | 75-85°C | 50-60°C |
| Cooling fan | 100% | 50-70% | 50-100% |
| Retraction | 0.5-1.0mm | 0.3-0.8mm | 0-0.5mm |
| Print speed | 70-120mm/s | 50-80mm/s | 20-40mm/s |
| Pressure Advance | 0.02-0.08 | 0.05-0.10 | 0.10-0.20 |
Phase 6: Validation Prints
Benchy
The 3D Benchy is the standard “torture test.” Print one to validate your calibration.
What to check: - Hull: Smooth, no layer lines visible - Bow overhang: Clean without drooping - Cabin roof: Flat bridging - Chimney: No stringing, round hole - Text: Readable on stern - Dimensions: Hull should be ~60mm long
Download: 3DBenchy.com
Victory Prints
Once Benchy passes, print your Amalgam victory prints:
- Amalgam Maker Coin — Octagonal coin with Logo 10
- Amalgam Fidget Bolt — Working threaded nut and bolt
These are your “I built an Amalgam” badges. If the threads work smoothly, your printer is well-calibrated.
Calibration Prints Reference
| File | Purpose | |
|---|---|---|
| First Layer Grid | cad/parts/first_layer_grid.py |
Bed level verification |
| Calibration Cube | Standard 20mm XYZ cube | Dimensional accuracy |
| Threaded Bolt Cube | cad/parts/calibration_bolt_cube.py |
Dimensions + threads |
| Ringing Tower | Input Shaper test | Resonance tuning |
| Benchy | External (3DBenchy.com) | Comprehensive validation |
| Maker Coin | cad/parts/amalgam_maker_coin.py |
Victory print |
| Fidget Bolt | cad/parts/amalgam_fidget_bolt.py |
Victory print |
Troubleshooting Quick Reference
| Problem | Likely Cause | Solution |
|---|---|---|
| First layer doesn’t stick | Z too high, dirty bed | Lower Z-offset, clean with IPA |
| Elephant foot | Z too low, bed too hot | Raise Z-offset, lower bed temp |
| Layer shifts | Loose belts, too fast | Tighten belts, reduce speed/accel |
| Ghosting/ringing | No Input Shaper | Run SHAPER_CALIBRATE |
| Blobby corners | No Pressure Advance | Calibrate PA |
| Stringing | Retraction, temp | Tune retraction, lower temp |
| Under-extrusion | Flow rate, clog | Calibrate flow, check nozzle |
| Over-extrusion | Flow rate too high | Reduce flow rate |
| Warping | Bed adhesion, drafts | Brim, enclosure, bed temp |
| Z banding | Lead screw issues | Check coupling, lubricate |
Maintenance Schedule
| Interval | Task |
|---|---|
| Every print | Check first layer, remove debris |
| Weekly | Clean bed with IPA, check belt tension |
| Monthly | Lubricate Z lead screws, check for loose bolts |
| Quarterly | Re-run BED_MESH_CALIBRATE, check bearing wear |
| Annually | Full mechanical inspection, replace worn parts |
References
- Klipper Configuration Reference
- Klipper Pressure Advance
- Klipper Input Shaper
- Ellis’ Print Tuning Guide
- 3D Benchy
- ADR-028: Target Filament Selection (PLA, PETG, TPU)
- ADR-027: Build Plate Surface Selection
“Calibration is not a destination, it’s a journey. But at some point, you should actually print something.”