Frame Assembly

Frame Assembly

Building the M10 threaded rod skeleton for your 235×235mm bed.

Overview

The Amalgam frame uses M10 threaded rods as the primary structural element. This approach offers:

  • Low cost: Hardware store materials
  • Easy sourcing: Available worldwide
  • Adjustability: Fine-tune dimensions with nuts
  • Rigidity: M10 provides 3× the stiffness of M8

Materials Required

Threaded Rods (M10)

Based on your bed size (235×235mm):

Axis Quantity Length Notes
X 4 0mm Front/back horizontals
Y 4 0mm Left/right horizontals
Z 4 0mm Vertical uprights
TipCut List

If frame dimensions show 0, run python scripts/analyze.py to calculate them.

Hardware

Item Quantity Notes
M10 nuts 96 8 per joint × 12 joints
M10 washers 48 4 per corner × 12
Printed corners 8 See STL list below

Smooth Rods (M10)

Axis Quantity Length Notes
X gantry 2 ~0mm Check CAD output
Y axis 2 ~0mm Check CAD output
Z axis 2-4 ~0mm 2 for belt-Z, 4 for triple-Z

Printed Parts

Build the corner pieces before starting assembly:

cd cad
./build.sh build corner_front_left
./build.sh build corner_front_right
./build.sh build corner_back_left
./build.sh build corner_back_right
# ... and 4 more for bottom corners

Or build all at once:

./build.sh build_all

Assembly Steps

Step 1: Prepare Rods

  1. Cut M10 threaded rods to length (see table above)
  2. Deburr cut ends with file
  3. Clean threads with wire brush
  4. Test-fit nuts on all rods
WarningGalvanized vs Zinc

Galvanized rods have thicker coating and more variation. Use LUMPY_FACTOR = 0.5 or higher in config.py.

Step 2: Bottom Frame

  1. Lay out 4 bottom corners
  2. Insert X rods (0mm) through front/back
  3. Insert Y rods (0mm) through left/right
  4. Hand-tighten all nuts
    Y rods
    ←———→
  [C]═══════[C]  ↑
   ║         ║   │ X rods
   ║         ║   │
  [C]═══════[C]  ↓

  C = Corner piece

Step 3: Add Verticals

  1. Thread Z rods (0mm) through bottom corners
  2. Attach top corners
  3. Hand-tighten

Step 4: Square the Frame

Critical step! An out-of-square frame causes: - Layer shifting - Binding on Z - Poor print quality

Use diagonal measurements to verify squareness (both diagonals should match within 1-2mm).

Verification

Before proceeding, verify:

Next Steps

  1. Verify frame squareness with diagonal measurements
  2. Install motion system on the squared frame

NoteConfiguration-Specific

This guide uses dimensions from your config.py: - Bed: 235×235mm - Smooth rods: M10 - Z type: Triple Independent Z