{
  "version": "2.7.0",
  "generated": "2026-04-29T18:00:00Z",
  "source": "https://github.com/sunnyday-technologies/M3-CRETE",
  "parts": [
    {
      "id": 5,
      "category": "Frame Hardware & Brackets",
      "name": "Straight Line Internal Connectors (20-Series)",
      "description": "In-slot connector bars for modular X-direction 2m members. M3-2 uses 3 butt joints x 4 connector bars per joint = 12 total. Bars fit inside the top and bottom V-slots across each joint and clamp with two set screws on either side. These are alignment aids, not the primary stiffness or centering method: SN 001 can flex this joint under gravity with connector bars alone. Each 2m X-direction splice is therefore centered and reinforced by a 1000mm 2040 insert friction-fit inside the 4080 C-Beam and held with printed retainers (id 65/id 85). The 2040 insert also avoids relying on steel set screws as the primary centering feature, reducing galvanic-corrosion concern at the joint. Stagger splice locations across parallel rails to avoid aligned weak planes. For M3-1: qty 0.",
      "qty": 12,
      "unit": "pieces",
      "mfg_type": "buy",
      "sort_order": 15,
      "mpn": null,
      "substitute_ok": true,
      "exclude_from_kit": true,
      "suppliers": [
        {
          "id": 14,
          "supplier_name": "Amazon",
          "product_url": "https://amazon.com",
          "notes": "20-series straight line connector bar, 100mm, with M5 set screws. Alignment aid only; 2040 insert provides primary centering/stiffness.",
          "sku": null,
          "step_url": null,
          "approved": true
        },
        {
          "id": 15,
          "supplier_name": "Amazon",
          "product_url": "https://amazon.com",
          "notes": "2020/20-series straight connector bar. Use 4 per 2m X-direction joint.",
          "sku": null,
          "step_url": null,
          "approved": true
        },
        {
          "id": 16,
          "supplier_name": "Bulkman3D",
          "product_url": "https://bulkman3d.com/",
          "notes": "20-series internal connector bar. Use 4 per 2m X-direction joint.",
          "sku": null,
          "step_url": null,
          "approved": true
        },
        {
          "id": 1300,
          "supplier_name": "MakerStore USA",
          "product_url": "https://makerstore.cc/product/joining-strip/",
          "notes": "Internal connector bars, 20-series compatible. Use 4 per 2m X-direction joint.",
          "sku": null,
          "step_url": null,
          "approved": true
        }
      ]
    },
    {
      "id": 6,
      "category": "Frame Hardware & Brackets",
      "name": "T-Slot Drop-In Nuts M5 (20-Series)",
      "description": "300 total — M5 is the standard fastener for 4080 C-beam (20-series compatible 6mm slot width). Spring-loaded drop-in style recommended for easier assembly. NOT M6 — M6 is for 40-series only.",
      "qty": 3,
      "unit": "packs of 100",
      "mfg_type": "buy",
      "sort_order": 20,
      "mpn": null,
      "substitute_ok": true,
      "exclude_from_kit": false,
      "suppliers": [
        {
          "id": 17,
          "supplier_name": "Bulkman3D",
          "product_url": "https://bulkman3d.com/",
          "notes": "M5 spring-loaded T-nut 20-series",
          "sku": null,
          "step_url": null,
          "approved": true
        },
        {
          "id": 18,
          "supplier_name": "ZYLtech",
          "product_url": "https://www.zyltech.com/",
          "notes": "M5 T-nut for 2020/2040/2080",
          "sku": null,
          "step_url": null,
          "approved": true
        },
        {
          "id": 19,
          "supplier_name": "McMaster-Carr",
          "product_url": "https://mcmaster.com",
          "notes": "M5 drop-in nut for 20mm T-slot",
          "sku": null,
          "step_url": null,
          "approved": true
        },
        {
          "id": 20,
          "supplier_name": "Amazon",
          "product_url": "https://amazon.com",
          "notes": "M5 T-nut 100-pack (20-series 6mm slot)",
          "sku": null,
          "step_url": null,
          "approved": true
        },
        {
          "id": 1301,
          "supplier_name": "MakerStore USA",
          "product_url": "https://makerstore.cc/product/tee-nuts/",
          "notes": "M5 drop-in T-nuts, 20-series",
          "sku": null,
          "step_url": null,
          "approved": true
        },
        {
          "id": 1304,
          "supplier_name": "JLCMC",
          "product_url": "https://jlcmc.com/product/s/T02/TPAA/m3-m4-m5-t-nut-20-series-aluminum-profile-fasteners",
          "notes": "M3/M4/M5 T-nut for 20-series aluminum profile (6mm slot) — same SKU family covers M3 and M4 as well",
          "sku": null,
          "step_url": null,
          "approved": true
        }
      ]
    },
    {
      "id": 7,
      "category": "Frame Hardware & Brackets",
      "name": "Eccentric Spacers (V-Slot)",
      "description": "One per wheel, all 32 positions (2026-04-23: eccentric on every wheel for maximum preload adjustability on prototype). 6mm tall, 10mm OD, 6mm bore, off-center. Adds 6mm of axial offset along the bolt axis only — zero protrusion in the travel direction. Stack per wheel: M5 bolt -> plate -> eccentric spacer (6mm) -> V-wheel -> 6mm plain spacer (id 83) -> washer -> lock nut. NOTE: check all wheels for inner bearing spacer between the two 625ZZ races — missing inner spacer causes axial wheel slop.",
      "qty": 32,
      "unit": "pieces",
      "mfg_type": "buy",
      "sort_order": 25,
      "mpn": null,
      "substitute_ok": true,
      "exclude_from_kit": false,
      "suppliers": [
        {
          "id": 21,
          "supplier_name": "Bulkman3D",
          "product_url": "https://bulkman3d.com/",
          "notes": "Eccentric spacer for V-Slot (6mm bore, 10mm OD)",
          "sku": null,
          "step_url": "https://github.com/sunnyday-technologies/M3-CRETE/raw/main/CAD/Components/Hardware/Eccentric Spacer 6mm.step",
          "approved": true
        },
        {
          "id": 22,
          "supplier_name": "MakerStore USA",
          "product_url": "https://makerstore.cc/",
          "notes": "Eccentric spacer — precision ground",
          "sku": null,
          "step_url": null,
          "approved": true
        },
        {
          "id": 23,
          "supplier_name": "Amazon",
          "product_url": "https://www.amazon.com/Eccentric-Spacers-Full-Size-Wheels/dp/B01D2FAV44",
          "notes": "V-Slot eccentric spacer 10-pack",
          "sku": "B01D2FAV44",
          "step_url": null,
          "approved": true
        }
      ]
    },
    {
      "id": 8,
      "category": "Frame Hardware & Brackets",
      "name": "Adjustable Leveling Feet M16",
      "description": "DEPRECATED for the reference kit. Bed leveling is handled via measurement on the build plate, not mechanical M16 feet on the frame. If the frame needs foot pads, use printed or CNC base plates as a separate field option.",
      "qty": 4,
      "unit": "pieces",
      "mfg_type": "buy",
      "sort_order": 30,
      "mpn": null,
      "substitute_ok": true,
      "exclude_from_kit": true,
      "suppliers": [
        {
          "id": 24,
          "supplier_name": "McMaster-Carr",
          "product_url": "https://mcmaster.com",
          "notes": "Heavy duty 1000lb swivel leveling foot",
          "sku": null,
          "step_url": null,
          "approved": true
        },
        {
          "id": 25,
          "supplier_name": "Grainger",
          "product_url": "https://grainger.com",
          "notes": "Vibration dampening leveling mount",
          "sku": null,
          "step_url": null,
          "approved": true
        },
        {
          "id": 26,
          "supplier_name": "Amazon",
          "product_url": "https://amazon.com",
          "notes": "Standard M16 leveling foot",
          "sku": null,
          "step_url": null,
          "approved": true
        }
      ]
    },
    {
      "id": 9,
      "category": "X-Axis Motion System",
      "name": "NEMA23 Stepper Motor (X-axis, 8mm shaft)",
      "description": "MUST be 8mm shaft variant to match pulleys and couplers. TMC5160 StallGuard for sensorless homing. 3Nm minimum torque recommended.",
      "qty": 1,
      "unit": "motor",
      "mfg_type": "buy",
      "sort_order": 10,
      "mpn": "23HS45-4204S1",
      "substitute_ok": false,
      "exclude_from_kit": false,
      "suppliers": [
        {
          "id": 28,
          "supplier_name": "StepperOnline US",
          "product_url": "https://www.omc-stepperonline.com",
          "notes": "NEMA23 4.5Nm High Torque 8mm shaft",
          "sku": null,
          "step_url": "https://www.omc-stepperonline.com/download",
          "approved": true
        },
        {
          "id": 29,
          "supplier_name": "AutomationDirect",
          "product_url": "https://automationdirect.com",
          "notes": "NEMA23 3Nm — verify 8mm shaft",
          "sku": null,
          "step_url": null,
          "approved": true
        },
        {
          "id": 27,
          "supplier_name": "StepperOnline US",
          "product_url": "https://www.omc-stepperonline.com/nema-23-bipolar-3nm-425oz-in-8mm-diameter-4-2a-57x57x113mm-4-wires-stepper-motor-23hs45-4204s1",
          "notes": "NEMA23 3Nm 8mm shaft",
          "sku": "23HS45-4204S1",
          "step_url": "https://www.omc-stepperonline.com/download",
          "approved": true
        },
        {
          "id": 191,
          "supplier_name": "Amazon",
          "product_url": "https://www.amazon.com/STEPPERONLINE-Stepper-Bipolar-57x57x113mm-Engraving/dp/B0CG58KY17",
          "notes": "STEPPERONLINE 23HS45-4204S1 3Nm 4.2A 8mm shaft",
          "sku": "B0CG58KY17",
          "step_url": null,
          "approved": true
        }
      ]
    },
    {
      "id": 10,
      "category": "X-Axis Motion System",
      "name": "GT2 Timing Belt 10mm (Y-axis, 2x ~2.5m loops)",
      "description": "Y-axis motion belts, 10mm reinforced GT2",
      "qty": 2,
      "unit": "meters",
      "mfg_type": "buy",
      "sort_order": 20,
      "mpn": null,
      "substitute_ok": true,
      "exclude_from_kit": false,
      "suppliers": [
        {
          "id": 30,
          "supplier_name": "McMaster-Carr",
          "product_url": "https://mcmaster.com",
          "notes": "Gates PowerGrip GT2 10mm",
          "sku": null,
          "step_url": "https://www.gates.com/us/en",
          "approved": true
        },
        {
          "id": 31,
          "supplier_name": "Amazon",
          "product_url": "https://amazon.com",
          "notes": "Fiberglass core GT2 10mm",
          "sku": null,
          "step_url": null,
          "approved": true
        },
        {
          "id": 32,
          "supplier_name": "StepperOnline US",
          "product_url": "https://www.omc-stepperonline.com",
          "notes": "Standard rubber GT2 10mm",
          "sku": null,
          "step_url": null,
          "approved": true
        }
      ]
    },
    {
      "id": 11,
      "category": "X-Axis Motion System",
      "name": "GT2 Pulley 20-Tooth (8mm Bore, all axes)",
      "description": "Drive and idler pulleys — MUST match motor shaft diameter (8mm). Metal recommended for belt tooth engagement under load. Aluminum or steel.",
      "qty": 7,
      "unit": "pulleys",
      "mfg_type": "buy",
      "sort_order": 30,
      "mpn": null,
      "substitute_ok": true,
      "exclude_from_kit": false,
      "suppliers": [
        {
          "id": 33,
          "supplier_name": "StepperOnline US",
          "product_url": "https://www.omc-stepperonline.com",
          "notes": "Aluminum 20T 8mm bore GT2",
          "sku": null,
          "step_url": "https://github.com/sunnyday-technologies/M3-CRETE/raw/main/CAD/Components/Pulleys/GT2 Timing Pulley 20 Tooth.step",
          "approved": true
        },
        {
          "id": 34,
          "supplier_name": "McMaster-Carr",
          "product_url": "https://mcmaster.com",
          "notes": "Steel 20T 8mm bore GT2",
          "sku": null,
          "step_url": null,
          "approved": true
        },
        {
          "id": 35,
          "supplier_name": "ZYLtech",
          "product_url": "https://www.zyltech.com/",
          "notes": "GT2 20T pulley — 5mm/6.35mm/8mm bore options",
          "sku": null,
          "step_url": null,
          "approved": true
        },
        {
          "id": 187,
          "supplier_name": "Amazon",
          "product_url": "https://www.amazon.com/BEMONOC-2GT-Timing-Pulley-printer/dp/B01CL24CAI",
          "notes": "BEMONOC 5-pack GT2 20T 8mm bore 10mm width",
          "sku": "B01CL24CAI",
          "step_url": null,
          "approved": true
        },
        {
          "id": 1302,
          "supplier_name": "MakerStore USA",
          "product_url": "https://makerstore.cc/product/gt2-pulley/",
          "notes": "GT2 20-tooth pulley, 8mm bore",
          "sku": null,
          "step_url": null,
          "approved": true
        }
      ]
    },
    {
      "id": 13,
      "category": "X-Axis Motion System",
      "name": "X-Axis Carriage Plate Assembly",
      "description": "Carries the 1.5kg printhead. Print saves $70+ with CF-Nylon/ABS. Must be compatible with 4080 C-beam rail width. Hose is counter-weighted to reduce gantry loading.",
      "qty": 1,
      "unit": "assembly",
      "mfg_type": "print",
      "sort_order": 50,
      "mpn": null,
      "substitute_ok": true,
      "exclude_from_kit": false,
      "suppliers": [
        {
          "id": 39,
          "supplier_name": "Local CNC Shop",
          "product_url": "",
          "notes": "CNC Aluminum 6061 6mm",
          "sku": null,
          "step_url": "https://github.com/sunnyday-technologies/M3-CRETE/raw/main/CAD/Components/Plates/V-Slot Gantry Plate 20-80mm.step",
          "approved": true
        },
        {
          "id": 40,
          "supplier_name": "Self-Manufacture",
          "product_url": "",
          "notes": "3D Printed Carbon Fiber Nylon",
          "sku": null,
          "step_url": null,
          "approved": true
        },
        {
          "id": 194,
          "supplier_name": "Bulkman3D",
          "product_url": "https://bulkman3d.com/product/vs80-1/",
          "notes": "V-Slot Gantry Bundle Universal 20-80mm",
          "sku": null,
          "step_url": null,
          "approved": true
        },
        {
          "id": 195,
          "supplier_name": "MakerStore USA",
          "product_url": "https://makerstore.cc/product/v-slot-gantry-bundle-2/",
          "notes": "V-Slot Gantry Bundle - ships from US warehouse",
          "sku": null,
          "step_url": null,
          "approved": true
        }
      ]
    },
    {
      "id": 14,
      "category": "Dual Y-Axis Motion System",
      "name": "NEMA23 Stepper Motor (Y-axis, 8mm shaft)",
      "description": "Dual motors for anti-racking — TMC5160 StallGuard compatible. MUST be 8mm shaft variant. Both Y motors must be identical model for matched steps/mm.",
      "qty": 2,
      "unit": "motors",
      "mfg_type": "buy",
      "sort_order": 10,
      "mpn": "23HS45-4204S1",
      "substitute_ok": false,
      "exclude_from_kit": false,
      "suppliers": [
        {
          "id": 43,
          "supplier_name": "StepperOnline US",
          "product_url": "https://www.omc-stepperonline.com",
          "notes": "NEMA23 4.5Nm High Torque 8mm shaft",
          "sku": null,
          "step_url": "https://www.omc-stepperonline.com/download",
          "approved": true
        },
        {
          "id": 44,
          "supplier_name": "AutomationDirect",
          "product_url": "https://automationdirect.com",
          "notes": "NEMA23 3Nm — verify 8mm shaft",
          "sku": null,
          "step_url": null,
          "approved": true
        },
        {
          "id": 42,
          "supplier_name": "StepperOnline US",
          "product_url": "https://www.omc-stepperonline.com/nema-23-bipolar-3nm-425oz-in-8mm-diameter-4-2a-57x57x113mm-4-wires-stepper-motor-23hs45-4204s1",
          "notes": "NEMA23 3Nm 8mm shaft",
          "sku": "23HS45-4204S1",
          "step_url": "https://www.omc-stepperonline.com/download",
          "approved": true
        },
        {
          "id": 192,
          "supplier_name": "Amazon",
          "product_url": "https://www.amazon.com/STEPPERONLINE-Stepper-Bipolar-57x57x113mm-Engraving/dp/B0CG58KY17",
          "notes": "STEPPERONLINE 23HS45-4204S1 3Nm 4.2A 8mm shaft",
          "sku": "B0CG58KY17",
          "step_url": null,
          "approved": true
        }
      ]
    },
    {
      "id": 15,
      "category": "X-Axis Motion System",
      "name": "GT2 Timing Belt 6mm (X-axis, 1x ~2.4m fixed strand)",
      "description": "X-axis belt-pinion drive. Uses 6mm GT2 because the X belt must fit inside the gantry slot; do not substitute the 10mm belt used on Y/Z here.",
      "qty": 1,
      "unit": "meters",
      "mfg_type": "buy",
      "sort_order": 20,
      "mpn": null,
      "substitute_ok": true,
      "exclude_from_kit": false,
      "suppliers": [
        {
          "id": 45,
          "supplier_name": "McMaster-Carr",
          "product_url": "https://mcmaster.com",
          "notes": "Source 6mm GT2 for X-axis only; 10mm stock is for Y/Z belts.",
          "sku": null,
          "step_url": null,
          "approved": true
        },
        {
          "id": 46,
          "supplier_name": "Amazon",
          "product_url": "https://amazon.com",
          "notes": "Source 6mm GT2 for X-axis only; 10mm stock is for Y/Z belts.",
          "sku": null,
          "step_url": null,
          "approved": true
        },
        {
          "id": 47,
          "supplier_name": "StepperOnline US",
          "product_url": "https://www.omc-stepperonline.com",
          "notes": "Source 6mm GT2 for X-axis only; 10mm stock is for Y/Z belts.",
          "sku": null,
          "step_url": null,
          "approved": true
        }
      ]
    },
    {
      "id": 17,
      "category": "Dual Y-Axis Motion System",
      "name": "V-Groove Wheels (Polycarbonate)",
      "description": "32 total confirmed from SN 001 physical assembly (2026-04-23). Breakdown: Z 4x4=16 + Y 2x4=8 + X double-plate 2x4=8. Polycarbonate (Xtreme/Solid) for heavy gantry loads.",
      "qty": 32,
      "unit": "wheels",
      "mfg_type": "buy",
      "sort_order": 40,
      "mpn": null,
      "substitute_ok": true,
      "exclude_from_kit": false,
      "suppliers": [
        {
          "id": 52,
          "supplier_name": "MakerStore USA",
          "product_url": "https://makerstore.cc/",
          "notes": "Solid V-Wheel polycarbonate",
          "sku": null,
          "step_url": "https://github.com/sunnyday-technologies/M3-CRETE/raw/main/CAD/Components/Wheels/Xtreme Solid V Wheel.step",
          "approved": true
        },
        {
          "id": 53,
          "supplier_name": "Amazon",
          "product_url": "https://amazon.com",
          "notes": "V-Slot V-Wheel kit with bearings",
          "sku": null,
          "step_url": null,
          "approved": true
        },
        {
          "id": 51,
          "supplier_name": "Bulkman3D",
          "product_url": "https://bulkman3d.com/product/vk0012/",
          "notes": "Xtreme Solid V-Wheel",
          "sku": "VW02-RS",
          "step_url": null,
          "approved": true
        }
      ]
    },
    {
      "id": 18,
      "category": "Dual Y-Axis Motion System",
      "name": "Y-Axis Gantry Plates",
      "description": "Connects gantry beam to Y-rail carriages. Current design target is the same 125x125mm C-Beam gantry plate geometry used across Y/Z/X where practical; 3D-print prototype allowed. Common plate standard reduces SKU count and supports component swaps.",
      "qty": 2,
      "unit": "plates",
      "mfg_type": "print",
      "sort_order": 50,
      "mpn": null,
      "substitute_ok": true,
      "exclude_from_kit": false,
      "suppliers": [
        {
          "id": 54,
          "supplier_name": "Local CNC Shop",
          "product_url": "",
          "notes": "CNC Aluminum 8mm",
          "sku": null,
          "step_url": "https://github.com/sunnyday-technologies/M3-CRETE/raw/main/CAD/Components/Plates/V-Slot Gantry Plate 20-80mm.step",
          "approved": true
        },
        {
          "id": 55,
          "supplier_name": "Self-Manufacture",
          "product_url": "",
          "notes": "3D Printed CF-Nylon Reinforced",
          "sku": null,
          "step_url": null,
          "approved": true
        },
        {
          "id": 196,
          "supplier_name": "Bulkman3D",
          "product_url": "https://bulkman3d.com/product/vs80-1/",
          "notes": "V-Slot Gantry Bundle Universal 20-80mm",
          "sku": null,
          "step_url": null,
          "approved": true
        },
        {
          "id": 197,
          "supplier_name": "MakerStore USA",
          "product_url": "https://makerstore.cc/product/v-slot-gantry-bundle-2/",
          "notes": "V-Slot Gantry Bundle - ships from US warehouse",
          "sku": null,
          "step_url": null,
          "approved": true
        }
      ]
    },
    {
      "id": 19,
      "category": "Quad Z-Axis System (Self-Tramming)",
      "name": "NEMA23 Stepper Motor (Z-axis, 8mm shaft)",
      "description": "Four independent motors for auto-tramming via Klipper Z_TILT_ADJUST. 8mm shaft to match pulleys. Belt-driven Z — same motor type as X/Y for full parts commonality.",
      "qty": 4,
      "unit": "motors",
      "mfg_type": "buy",
      "sort_order": 10,
      "mpn": "23HS45-4204S1",
      "substitute_ok": false,
      "exclude_from_kit": false,
      "suppliers": [
        {
          "id": 58,
          "supplier_name": "StepperOnline US",
          "product_url": "https://www.omc-stepperonline.com",
          "notes": "NEMA23 4.5Nm High Torque 8mm shaft",
          "sku": null,
          "step_url": "https://www.omc-stepperonline.com/download",
          "approved": true
        },
        {
          "id": 59,
          "supplier_name": "AutomationDirect",
          "product_url": "https://automationdirect.com",
          "notes": "NEMA23 3Nm — verify 8mm shaft",
          "sku": null,
          "step_url": null,
          "approved": true
        },
        {
          "id": 57,
          "supplier_name": "StepperOnline US",
          "product_url": "https://www.omc-stepperonline.com/nema-23-bipolar-3nm-425oz-in-8mm-diameter-4-2a-57x57x113mm-4-wires-stepper-motor-23hs45-4204s1",
          "notes": "NEMA23 3Nm 8mm shaft",
          "sku": "23HS45-4204S1",
          "step_url": "https://www.omc-stepperonline.com/download",
          "approved": true
        },
        {
          "id": 193,
          "supplier_name": "Amazon",
          "product_url": "https://www.amazon.com/STEPPERONLINE-Stepper-Bipolar-57x57x113mm-Engraving/dp/B0CG58KY17",
          "notes": "STEPPERONLINE 23HS45-4204S1 3Nm 4.2A 8mm shaft",
          "sku": "B0CG58KY17",
          "step_url": null,
          "approved": true
        }
      ]
    },
    {
      "id": 20,
      "category": "Quad Z-Axis System (Self-Tramming)",
      "name": "GT2 Timing Belt 10mm (Z-axis, 4x ~2.5m loops)",
      "description": "Belt-driven Z - same GT2 10mm belt as Y-axis; X-axis remains 6mm to fit the gantry slot. ~3m per Z corner (up + down run + tensioner), 12m total for 4 independent Z drives. Belts shed concrete splatters unlike lead screw threads.",
      "qty": 4,
      "unit": "meters",
      "mfg_type": "buy",
      "sort_order": 20,
      "mpn": null,
      "substitute_ok": true,
      "exclude_from_kit": false,
      "suppliers": [
        {
          "id": 60,
          "supplier_name": "McMaster-Carr",
          "product_url": "https://mcmaster.com",
          "notes": "Gates PowerGrip GT2 10mm - same as Y; X uses 6mm.",
          "sku": null,
          "step_url": null,
          "approved": true
        },
        {
          "id": 61,
          "supplier_name": "Amazon",
          "product_url": "https://amazon.com",
          "notes": "Fiberglass core GT2 10mm",
          "sku": null,
          "step_url": null,
          "approved": true
        },
        {
          "id": 62,
          "supplier_name": "StepperOnline US",
          "product_url": "https://www.omc-stepperonline.com",
          "notes": "Standard rubber GT2 10mm",
          "sku": null,
          "step_url": null,
          "approved": true
        }
      ]
    },
    {
      "id": 23,
      "category": "Quad Z-Axis System (Self-Tramming)",
      "name": "Z-Axis Carriage Plates",
      "description": "Connects gantry frame to V-wheel carriages on vertical posts. 4 plates (one per corner). Current design target is the same 125x125mm C-Beam gantry plate geometry used across Y/Z/X where practical; must mount V-wheels + belt clamp.",
      "qty": 4,
      "unit": "plates",
      "mfg_type": "print",
      "sort_order": 50,
      "mpn": null,
      "substitute_ok": true,
      "exclude_from_kit": false,
      "suppliers": [
        {
          "id": 69,
          "supplier_name": "Local CNC Shop",
          "product_url": "",
          "notes": "CNC Aluminum 6mm",
          "sku": null,
          "step_url": "https://github.com/sunnyday-technologies/M3-CRETE/raw/main/CAD/Components/Plates/V-Slot Gantry Plate 20-80mm.step",
          "approved": true
        },
        {
          "id": 70,
          "supplier_name": "Self-Manufacture",
          "product_url": "",
          "notes": "3D Printed CF-Nylon Reinforced",
          "sku": null,
          "step_url": null,
          "approved": true
        },
        {
          "id": 198,
          "supplier_name": "Bulkman3D",
          "product_url": "https://bulkman3d.com/product/vs80-1/",
          "notes": "V-Slot Gantry Bundle Universal 20-80mm",
          "sku": null,
          "step_url": null,
          "approved": true
        },
        {
          "id": 199,
          "supplier_name": "MakerStore USA",
          "product_url": "https://makerstore.cc/product/v-slot-gantry-bundle-2/",
          "notes": "V-Slot Gantry Bundle - ships from US warehouse",
          "sku": null,
          "step_url": null,
          "approved": true
        }
      ]
    },
    {
      "id": 24,
      "category": "Quad Z-Axis System (Self-Tramming)",
      "name": "Z-Axis Motor Mounts (integrated 3D-printed corner brackets)",
      "description": "No purchased Z motor brackets in the current reference design. Z motor mounting is integrated into the printed combined corner bracket/post cap/spacer with belt clearance (see id 75). Print in PETG for prototype or CCF for production.",
      "qty": 4,
      "unit": "mounts",
      "mfg_type": "print",
      "sort_order": 60,
      "mpn": null,
      "substitute_ok": true,
      "exclude_from_kit": false,
      "suppliers": [
        {
          "id": 72,
          "supplier_name": "Self-Manufacture",
          "product_url": null,
          "notes": "Print as part of the combined corner bracket. Do not purchase metal NEMA23 L-brackets for SN 001.",
          "sku": null,
          "step_url": "https://github.com/sunnyday-technologies/M3-CRETE/raw/main/CAD/Custom/Corner_Bracket_Combined.step",
          "approved": true
        },
        {
          "id": 73,
          "supplier_name": "Amazon",
          "product_url": "https://www.amazon.com/s?k=NEMA+23+L+bracket+stepper",
          "notes": "Legacy reference only; current design prints the mounts.",
          "sku": null,
          "step_url": null,
          "approved": false
        },
        {
          "id": 1303,
          "supplier_name": "MakerStore USA",
          "product_url": "https://makerstore.cc/product/nema23-bracket/",
          "notes": "Legacy reference only; current design prints the mounts.",
          "sku": null,
          "step_url": null,
          "approved": false
        }
      ]
    },
    {
      "id": 25,
      "category": "Electronics & Control System",
      "name": "BTT Kraken Mainboard",
      "description": "8 stepper drivers (TMC5160) — perfect for this build: X + 2×Y + 4×Z + Extruder. StallGuard sensorless homing on all axes.",
      "qty": 1,
      "unit": "board",
      "mfg_type": "buy",
      "sort_order": 10,
      "mpn": null,
      "substitute_ok": false,
      "exclude_from_kit": false,
      "suppliers": [
        {
          "id": 75,
          "supplier_name": "Filastruder",
          "product_url": "https://www.filastruder.com",
          "notes": "BTT Kraken v1.0",
          "sku": null,
          "step_url": "https://github.com/bigtreetech/Kraken/tree/master/Hardware",
          "approved": true
        },
        {
          "id": 77,
          "supplier_name": "Filastruder",
          "product_url": "https://www.filastruder.com",
          "notes": "BTT Octopus Pro (alt)",
          "sku": null,
          "step_url": "https://github.com/bigtreetech/BIGTREETECH-OCTOPUS-Pro",
          "approved": true
        },
        {
          "id": 76,
          "supplier_name": "Amazon",
          "product_url": "https://www.amazon.com/BIGTREETECH-Control-Onboard-8%C3%97TMC2160-High-Performance/dp/B0CQX9XJ4W",
          "notes": "BTT Kraken",
          "sku": "B0CQX9XJ4W",
          "step_url": null,
          "approved": true
        }
      ]
    },
    {
      "id": 26,
      "category": "Electronics & Control System",
      "name": "Raspberry Pi 5 (8GB RAM)",
      "description": "Runs Klipper firmware. 8GB recommended for large print files.",
      "qty": 1,
      "unit": "computer",
      "mfg_type": "buy",
      "sort_order": 20,
      "mpn": null,
      "substitute_ok": false,
      "exclude_from_kit": false,
      "suppliers": [
        {
          "id": 78,
          "supplier_name": "Adafruit",
          "product_url": "https://www.adafruit.com",
          "notes": "RPi 5 8GB",
          "sku": null,
          "step_url": null,
          "approved": true
        },
        {
          "id": 80,
          "supplier_name": "Adafruit",
          "product_url": "https://www.adafruit.com",
          "notes": "RPi 4 8GB (alt)",
          "sku": null,
          "step_url": null,
          "approved": true
        },
        {
          "id": 79,
          "supplier_name": "Amazon - CanaKit",
          "product_url": "https://www.amazon.com/Raspberry-Pi-8GB-SC1112-Quad-core/dp/B0CK2FCG1K",
          "notes": "RPi 5 8GB Kit",
          "sku": "B0CK2FCG1K",
          "step_url": null,
          "approved": true
        }
      ]
    },
    {
      "id": 27,
      "category": "Electronics & Control System",
      "name": "7-inch Touchscreen Display",
      "description": "User interface for printer control via KlipperScreen.",
      "qty": 1,
      "unit": "display",
      "mfg_type": "buy",
      "sort_order": 30,
      "mpn": null,
      "substitute_ok": true,
      "exclude_from_kit": false,
      "suppliers": [
        {
          "id": 81,
          "supplier_name": "Adafruit",
          "product_url": "https://www.adafruit.com",
          "notes": "Raspberry Pi 7\" Official",
          "sku": null,
          "step_url": null,
          "approved": true
        },
        {
          "id": 82,
          "supplier_name": "Amazon",
          "product_url": "https://amazon.com",
          "notes": "Waveshare 7\" HDMI",
          "sku": null,
          "step_url": null,
          "approved": true
        },
        {
          "id": 83,
          "supplier_name": "Amazon",
          "product_url": "https://amazon.com",
          "notes": "Generic 7\" capacitive touch",
          "sku": null,
          "step_url": null,
          "approved": true
        }
      ]
    },
    {
      "id": 28,
      "category": "Electronics & Control System",
      "name": "Power Supply 24V 600W",
      "description": "MeanWell for reliability. 600W handles 7 NEMA23 steppers + accessories. 24V bus for Kraken + peripherals.",
      "qty": 1,
      "unit": "PSU",
      "mfg_type": "buy",
      "sort_order": 40,
      "mpn": "LRS-600-24",
      "substitute_ok": false,
      "exclude_from_kit": false,
      "suppliers": [
        {
          "id": 86,
          "supplier_name": "Amazon",
          "product_url": "https://amazon.com",
          "notes": "Generic 24V 600W",
          "sku": null,
          "step_url": null,
          "approved": true
        },
        {
          "id": 85,
          "supplier_name": "Digi-Key",
          "product_url": "https://www.digikey.com/en/products/detail/mean-well-usa-inc/LRS-600-24/16394242",
          "notes": "MeanWell RSP-750-24",
          "sku": "1866-LRS-600-24-ND",
          "step_url": null,
          "approved": true
        },
        {
          "id": 84,
          "supplier_name": "Mouser Electronics",
          "product_url": "https://www.mouser.com/ProductDetail/MEAN-WELL/LRS-600-24",
          "notes": "MeanWell LRS-600-24",
          "sku": "709-LRS-600-24",
          "step_url": null,
          "approved": true
        }
      ]
    },
    {
      "id": 29,
      "category": "Electronics & Control System",
      "name": "Emergency Stop Button",
      "description": "Critical safety component. NC (normally-closed) contacts — pressing opens the circuit and kills 24V via contactor.",
      "qty": 1,
      "unit": "switch",
      "mfg_type": "buy",
      "sort_order": 50,
      "mpn": null,
      "substitute_ok": true,
      "exclude_from_kit": false,
      "suppliers": [
        {
          "id": 87,
          "supplier_name": "McMaster-Carr",
          "product_url": "https://mcmaster.com",
          "notes": "Mushroom E-stop NC",
          "sku": null,
          "step_url": null,
          "approved": true
        },
        {
          "id": 88,
          "supplier_name": "AutomationDirect",
          "product_url": "https://automationdirect.com",
          "notes": "Twist-release E-stop NC",
          "sku": null,
          "step_url": null,
          "approved": true
        },
        {
          "id": 89,
          "supplier_name": "Amazon",
          "product_url": "https://amazon.com",
          "notes": "Panel mount E-stop NC",
          "sku": null,
          "step_url": null,
          "approved": true
        }
      ]
    },
    {
      "id": 30,
      "category": "Electronics & Control System",
      "name": "Cable Drag Chain (Sealed)",
      "description": "Enclosed/sealed type for concrete dust protection. X-axis: 25x50mm ID, 2.5m (M3-2 travel). Y-axis: 25x38mm ID, 1.3m. Open-style chains will clog with concrete dust. igus E2 micro series is ideal for dusty environments.",
      "qty": 4,
      "unit": "meters total (X: 2.5m + Y: 1.3m)",
      "mfg_type": "buy",
      "sort_order": 80,
      "mpn": null,
      "substitute_ok": true,
      "exclude_from_kit": false,
      "suppliers": [
        {
          "id": 90,
          "supplier_name": "igus",
          "product_url": "https://www.igus.com",
          "notes": "E2 micro sealed drag chain — premium, dust-proof",
          "sku": null,
          "step_url": "https://www.igus.com/",
          "approved": true
        },
        {
          "id": 91,
          "supplier_name": "McMaster-Carr",
          "product_url": "https://mcmaster.com",
          "notes": "Heavy duty sealed 35mm cable carrier",
          "sku": null,
          "step_url": null,
          "approved": true
        },
        {
          "id": 92,
          "supplier_name": "Self-Manufacture",
          "product_url": "",
          "notes": "3D Printed parametric sealed chain",
          "sku": null,
          "step_url": null,
          "approved": true
        },
        {
          "id": 190,
          "supplier_name": "Amazon",
          "product_url": "https://www.amazon.com/uxcell-Plastic-Cable-Carrier-Chain/dp/B01LXNJ7NI",
          "notes": "uxcell R55 25x50mm enclosed drag chain 1M",
          "sku": "B01LXNJ7NI",
          "step_url": null,
          "approved": true
        }
      ]
    },
    {
      "id": 31,
      "category": "Electronics & Control System",
      "name": "Shielded Motor Cable - Flex-Rated (18AWG 4C)",
      "description": "4-conductor 18AWG, foil shield + drain, silicone jacket, continuous-flex drag-chain-rated. For X, Y, and extruder motors on moving axes. M3-2 X-axis travel requires ~2m more than M3-1. Critical for reliable StallGuard sensorless homing.",
      "qty": 20,
      "unit": "meters (1 spool)",
      "mfg_type": "buy",
      "sort_order": 100,
      "mpn": null,
      "substitute_ok": true,
      "exclude_from_kit": false,
      "suppliers": [
        {
          "id": 93,
          "supplier_name": "igus",
          "product_url": "https://www.igus.com",
          "notes": "chainflex CF211 — premium drag-chain-rated",
          "sku": null,
          "step_url": null,
          "approved": true
        },
        {
          "id": 94,
          "supplier_name": "Amazon",
          "product_url": "https://amazon.com",
          "notes": "18AWG 4C shielded silicone flex cable",
          "sku": null,
          "step_url": null,
          "approved": true
        },
        {
          "id": 95,
          "supplier_name": "McMaster-Carr",
          "product_url": "https://mcmaster.com",
          "notes": "Continuous-flex shielded cable",
          "sku": null,
          "step_url": null,
          "approved": true
        }
      ]
    },
    {
      "id": 32,
      "category": "Electronics & Control System",
      "name": "Shielded Motor Cable - Static (18AWG 4C)",
      "description": "4-conductor 18AWG, foil shield + drain, PVC jacket, UL2464. For 4 stationary Z-axis motors. Shield drain connects at controller end only (star ground).",
      "qty": 10,
      "unit": "meters (1 spool)",
      "mfg_type": "buy",
      "sort_order": 110,
      "mpn": null,
      "substitute_ok": true,
      "exclude_from_kit": false,
      "suppliers": [
        {
          "id": 96,
          "supplier_name": "Digi-Key",
          "product_url": "https://digikey.com",
          "notes": "Alpha Wire or Belden UL2464 shielded 4C 18AWG",
          "sku": null,
          "step_url": null,
          "approved": true
        },
        {
          "id": 97,
          "supplier_name": "Amazon",
          "product_url": "https://amazon.com",
          "notes": "18AWG 4C foil-shielded cable",
          "sku": null,
          "step_url": null,
          "approved": true
        },
        {
          "id": 98,
          "supplier_name": "McMaster-Carr",
          "product_url": "https://mcmaster.com",
          "notes": "Shielded multi-conductor cable",
          "sku": null,
          "step_url": null,
          "approved": true
        }
      ]
    },
    {
      "id": 33,
      "category": "Electronics & Control System",
      "name": "GX16-4 Aviation Connector Sets",
      "description": "Quick-disconnect for all 8 stepper motors. IP65 when mated — critical for concrete dust protection. Panel-mount female + inline male per set. Apply dielectric grease at assembly.",
      "qty": 10,
      "unit": "sets (8 needed + 2 spare)",
      "mfg_type": "buy",
      "sort_order": 120,
      "mpn": null,
      "substitute_ok": true,
      "exclude_from_kit": false,
      "suppliers": [
        {
          "id": 100,
          "supplier_name": "Digi-Key",
          "product_url": "https://digikey.com",
          "notes": "Amphenol equivalent circular connectors",
          "sku": null,
          "step_url": null,
          "approved": true
        },
        {
          "id": 99,
          "supplier_name": "Amazon",
          "product_url": "https://www.amazon.com/Female-Connector-GX16-4-Silver-Aviation/dp/B07174LCGR",
          "notes": "GX16-4 male-inline + female-panel set",
          "sku": "B07174LCGR",
          "step_url": null,
          "approved": true
        }
      ]
    },
    {
      "id": 34,
      "category": "Electronics & Control System",
      "name": "Power Wire — 12AWG Silicone (Red + Black)",
      "description": "PSU 24V output to BTT Kraken main power input. 12AWG handles 25A max draw at 600W/24V. Also used for E-stop contactor power loop.",
      "qty": 2,
      "unit": "meters each color (4m total)",
      "mfg_type": "buy",
      "sort_order": 130,
      "mpn": null,
      "substitute_ok": true,
      "exclude_from_kit": false,
      "suppliers": [
        {
          "id": 101,
          "supplier_name": "Amazon",
          "product_url": "https://amazon.com",
          "notes": "12AWG silicone stranded wire (red + black)",
          "sku": null,
          "step_url": null,
          "approved": true
        },
        {
          "id": 102,
          "supplier_name": "McMaster-Carr",
          "product_url": "https://mcmaster.com",
          "notes": "12AWG stranded hookup wire",
          "sku": null,
          "step_url": null,
          "approved": true
        }
      ]
    },
    {
      "id": 35,
      "category": "Electronics & Control System",
      "name": "Distribution Wire — 18AWG (Red + Black)",
      "description": "24V branch distribution, accessory power, E-stop signal loop. For internal control panel wiring.",
      "qty": 6,
      "unit": "meters total (3m each color)",
      "mfg_type": "buy",
      "sort_order": 135,
      "mpn": null,
      "substitute_ok": true,
      "exclude_from_kit": false,
      "suppliers": [
        {
          "id": 103,
          "supplier_name": "Amazon",
          "product_url": "https://amazon.com",
          "notes": "18AWG silicone hookup wire assortment",
          "sku": null,
          "step_url": null,
          "approved": true
        },
        {
          "id": 104,
          "supplier_name": "McMaster-Carr",
          "product_url": "https://mcmaster.com",
          "notes": "18AWG stranded hookup wire",
          "sku": null,
          "step_url": null,
          "approved": true
        }
      ]
    },
    {
      "id": 36,
      "category": "Electronics & Control System",
      "name": "Ferrule Crimping Tool + Assortment Kit",
      "description": "Every stranded wire into a screw terminal MUST have a ferrule — critical in high-vibration concrete printer. Expect to use ~100 ferrules.",
      "qty": 1,
      "unit": "kit",
      "mfg_type": "buy",
      "sort_order": 140,
      "mpn": null,
      "substitute_ok": true,
      "exclude_from_kit": false,
      "suppliers": [
        {
          "id": 105,
          "supplier_name": "Amazon",
          "product_url": "https://www.amazon.com/IWISS-Self-Adjusting-AWG23-10-End-Sleeves-Ferrule/dp/B00ODSJGSW",
          "notes": "IWISS or Wirefy ratcheting crimper + ferrule kit",
          "sku": "B00ODSJGSW",
          "step_url": null,
          "approved": true
        },
        {
          "id": 106,
          "supplier_name": "Amazon",
          "product_url": "https://www.amazon.com/IWISS-Crimper-Plier-Self-adjustable-Crimping/dp/B00H950AK4",
          "notes": "Preciva ferrule crimping set",
          "sku": "B00H950AK4",
          "step_url": null,
          "approved": true
        }
      ]
    },
    {
      "id": 37,
      "category": "Electronics & Control System",
      "name": "IEC C14 Power Inlet w/ EMI Filter & Fuse",
      "description": "Panel-mount AC inlet with integrated EMI filter, fuse holder (6A slow-blow for 120V), and rocker switch. Single mains entry point.",
      "qty": 1,
      "unit": "unit",
      "mfg_type": "buy",
      "sort_order": 150,
      "mpn": null,
      "substitute_ok": true,
      "exclude_from_kit": false,
      "suppliers": [
        {
          "id": 108,
          "supplier_name": "Mouser",
          "product_url": "https://mouser.com",
          "notes": "TE Connectivity Corcom series",
          "sku": null,
          "step_url": null,
          "approved": true
        },
        {
          "id": 109,
          "supplier_name": "Amazon",
          "product_url": "https://amazon.com",
          "notes": "IEC C14 inlet fused + filtered",
          "sku": null,
          "step_url": null,
          "approved": true
        },
        {
          "id": 107,
          "supplier_name": "Digi-Key",
          "product_url": "https://www.digikey.com/en/product-highlight/s/schaffner/fn9260-series-power-entry-modules",
          "notes": "Schaffner or Qualtek IEC inlet w/ filter",
          "sku": "FN9260-6-06",
          "step_url": null,
          "approved": true
        }
      ]
    },
    {
      "id": 38,
      "category": "Electronics & Control System",
      "name": "24V Safety Contactor / Relay",
      "description": "E-stop cuts 24V power via this contactor. NC E-stop loop controls the coil. 30A contacts minimum for 600W PSU output.",
      "qty": 1,
      "unit": "unit",
      "mfg_type": "buy",
      "sort_order": 155,
      "mpn": null,
      "substitute_ok": true,
      "exclude_from_kit": false,
      "suppliers": [
        {
          "id": 110,
          "supplier_name": "Digi-Key",
          "product_url": "https://digikey.com",
          "notes": "Omron or Schneider 24VDC coil contactor",
          "sku": null,
          "step_url": null,
          "approved": true
        },
        {
          "id": 111,
          "supplier_name": "AutomationDirect",
          "product_url": "https://automationdirect.com",
          "notes": "IDEC or Fuji 24VDC relay",
          "sku": null,
          "step_url": null,
          "approved": true
        },
        {
          "id": 112,
          "supplier_name": "Amazon",
          "product_url": "https://amazon.com",
          "notes": "24V DC coil contactor 30A+",
          "sku": null,
          "step_url": null,
          "approved": true
        }
      ]
    },
    {
      "id": 39,
      "category": "Electronics & Control System",
      "name": "24V-to-5V DC-DC Buck Converter (5A)",
      "description": "Powers Raspberry Pi 5 and touchscreen from the 24V bus. RPi 5 draws up to 5A with peripherals. Use dedicated converter, NOT Kraken 5V output.",
      "qty": 1,
      "unit": "unit",
      "mfg_type": "buy",
      "sort_order": 160,
      "mpn": null,
      "substitute_ok": true,
      "exclude_from_kit": false,
      "suppliers": [
        {
          "id": 113,
          "supplier_name": "Amazon",
          "product_url": "https://amazon.com",
          "notes": "Pololu 5V 5A step-down regulator",
          "sku": null,
          "step_url": null,
          "approved": true
        },
        {
          "id": 114,
          "supplier_name": "Digi-Key",
          "product_url": "https://digikey.com",
          "notes": "Mean Well DDR-30G-5 DIN-rail mount",
          "sku": null,
          "step_url": null,
          "approved": true
        },
        {
          "id": 115,
          "supplier_name": "Adafruit",
          "product_url": "https://www.adafruit.com",
          "notes": "5V 5A buck converter breakout",
          "sku": null,
          "step_url": null,
          "approved": true
        }
      ]
    },
    {
      "id": 40,
      "category": "Electronics & Control System",
      "name": "DIN-Rail Terminal Block Kit + Rail",
      "description": "10-position terminal blocks, DIN-rail end clamps (plastic clips that hold terminal blocks in place — NOT motion endstops; M3-CRETE uses TMC5160 StallGuard sensorless homing), jumper bars, and 0.5m 35mm DIN rail. Star-ground bus bar for all shield drain wires.",
      "qty": 1,
      "unit": "kit",
      "mfg_type": "buy",
      "sort_order": 165,
      "mpn": null,
      "substitute_ok": true,
      "exclude_from_kit": false,
      "suppliers": [
        {
          "id": 116,
          "supplier_name": "Digi-Key",
          "product_url": "https://digikey.com",
          "notes": "Phoenix Contact UK series + rail",
          "sku": null,
          "step_url": null,
          "approved": true
        },
        {
          "id": 117,
          "supplier_name": "Amazon",
          "product_url": "https://amazon.com",
          "notes": "Dinkle DIN-rail terminal block kit",
          "sku": null,
          "step_url": null,
          "approved": true
        },
        {
          "id": 118,
          "supplier_name": "AutomationDirect",
          "product_url": "https://automationdirect.com",
          "notes": "DINnector terminal block set",
          "sku": null,
          "step_url": null,
          "approved": true
        }
      ]
    },
    {
      "id": 41,
      "category": "Electronics & Control System",
      "name": "Nylon Cable Gland Assortment",
      "description": "IP68 cable glands for every wire entering the control panel. Prevents concrete dust ingress. Mount on bottom/sides only. Sizes: PG7-PG13.5.",
      "qty": 1,
      "unit": "50-pack assorted",
      "mfg_type": "buy",
      "sort_order": 170,
      "mpn": null,
      "substitute_ok": true,
      "exclude_from_kit": false,
      "suppliers": [
        {
          "id": 119,
          "supplier_name": "Amazon",
          "product_url": "https://amazon.com",
          "notes": "Nylon cable gland assortment PG7-PG13.5",
          "sku": null,
          "step_url": null,
          "approved": true
        },
        {
          "id": 120,
          "supplier_name": "McMaster-Carr",
          "product_url": "https://mcmaster.com",
          "notes": "Strain relief cable glands",
          "sku": null,
          "step_url": null,
          "approved": true
        }
      ]
    },
    {
      "id": 42,
      "category": "Electronics & Control System",
      "name": "Snap-On Ferrite Cores (13mm ID)",
      "description": "One per stepper motor cable at the controller end. Suppresses EMI that interferes with StallGuard sensorless homing.",
      "qty": 8,
      "unit": "pieces",
      "mfg_type": "buy",
      "sort_order": 175,
      "mpn": null,
      "substitute_ok": true,
      "exclude_from_kit": false,
      "suppliers": [
        {
          "id": 122,
          "supplier_name": "Digi-Key",
          "product_url": "https://digikey.com",
          "notes": "Fair-Rite or TDK snap ferrite",
          "sku": null,
          "step_url": null,
          "approved": true
        },
        {
          "id": 121,
          "supplier_name": "Amazon",
          "product_url": "https://www.amazon.com/Ferrite-Noise-Filter-Cable-3-5mm/dp/B01N0AV746",
          "notes": "Snap-on ferrite cores 13mm (8-pack)",
          "sku": "B01N0AV746",
          "step_url": null,
          "approved": true
        }
      ]
    },
    {
      "id": 43,
      "category": "Electronics & Control System",
      "name": "Cable Sleeving, Labels & Tie Kit",
      "description": "10m PET braided sleeving (1/2\" + 1/4\"), 100x UV-resistant cable ties, 30x screw-mount bases, self-laminating wire labels. Label both ends: M1-X, M2-YL, M3-YR, M4-Z1..M7-Z4, M8-EXT.",
      "qty": 1,
      "unit": "kit",
      "mfg_type": "buy",
      "sort_order": 180,
      "mpn": null,
      "substitute_ok": true,
      "exclude_from_kit": false,
      "suppliers": [
        {
          "id": 123,
          "supplier_name": "Amazon",
          "product_url": "https://amazon.com",
          "notes": "PET sleeving + cable tie + label bundle",
          "sku": null,
          "step_url": null,
          "approved": true
        },
        {
          "id": 124,
          "supplier_name": "McMaster-Carr",
          "product_url": "https://mcmaster.com",
          "notes": "Braided sleeving, nylon ties, markers",
          "sku": null,
          "step_url": null,
          "approved": true
        }
      ]
    },
    {
      "id": 44,
      "category": "Concrete Extrusion System",
      "name": "Progressive Cavity Pump",
      "description": "REFERENCE ONLY — not included in M3-CRETE motion system kit. The concrete extrusion system operates at high pressure and requires commercial-grade components. Proven options include progressive cavity pump systems from established manufacturers. Contact Sunnyday Technologies for current recommendations.",
      "qty": 1,
      "unit": "pump",
      "mfg_type": "buy",
      "sort_order": 10,
      "mpn": null,
      "substitute_ok": true,
      "exclude_from_kit": true,
      "suppliers": [
        {
          "id": 125,
          "supplier_name": "MAI International (Austria)",
          "product_url": "https://mai.at/en/product-range/3d-printing/mai-2pump-pictor-3d/",
          "notes": "MAI 2PUMP PICTOR-3D — 0.7-15.5 L/min, grain up to 2mm, analog 0-10V control. Industry standard for research and startups.",
          "sku": null,
          "step_url": null,
          "approved": true
        },
        {
          "id": 126,
          "supplier_name": "M-Tec (Germany)",
          "product_url": "https://m-tec.com/",
          "notes": "M-Tec P20 3DCP — 3-24 L/min, grain up to 4mm, Modbus-RTU control. Higher throughput for large-format printing.",
          "sku": null,
          "step_url": null,
          "approved": true
        },
        {
          "id": 127,
          "supplier_name": "StoneFlower 3D (Germany)",
          "product_url": "https://www.stoneflower3d.com/store/concrete-3d-printer/",
          "notes": "Automated concrete pump — up to 10 L/min, 40 bar, aggregates up to 6mm. Includes operator training.",
          "sku": null,
          "step_url": null,
          "approved": true
        },
        {
          "id": 128,
          "supplier_name": "Community Interest: US-Sourced Stepper Pump",
          "product_url": "",
          "notes": "INTEREST CHECK — stepper-driven PC pump using NEMA23 + external driver + Kraken stepper signal. Need 10 commitments for a small production batch.",
          "sku": null,
          "step_url": null,
          "approved": true
        }
      ]
    },
    {
      "id": 46,
      "category": "Concrete Extrusion System",
      "name": "External Stepper Driver — TMC5160 (48V High Current)",
      "description": "Drives geared pump motor via Kraken STEP/DIR/EN signals. External driver recommended: higher current (6A) and 48V for more torque. SPI enables StallGuard for material blockage alarm.",
      "qty": 1,
      "unit": "driver board",
      "mfg_type": "buy",
      "sort_order": 16,
      "mpn": null,
      "substitute_ok": true,
      "exclude_from_kit": false,
      "suppliers": [
        {
          "id": 133,
          "supplier_name": "Amazon",
          "product_url": "https://amazon.com",
          "notes": "BIGTREETECH TMC5160T Pro V1.0 — 48V, SPI/UART.",
          "sku": null,
          "step_url": null,
          "approved": true
        },
        {
          "id": 134,
          "supplier_name": "Digi-Key",
          "product_url": "https://digikey.com",
          "notes": "Analog Devices TMC5160-BOB evaluation board.",
          "sku": null,
          "step_url": null,
          "approved": true
        },
        {
          "id": 132,
          "supplier_name": "West3D (US)",
          "product_url": "https://west3d.com/products/tmc5160-pro-48v-stepper-motor-driver-drivers-btt",
          "notes": "BTT TMC5160 Pro V1.2 — 48V, external MOSFETs, SPI.",
          "sku": "TMC5160T-Pro-V1.2",
          "step_url": "https://github.com/bigtreetech/TMC5160T-Pro",
          "approved": true
        }
      ]
    },
    {
      "id": 47,
      "category": "Concrete Extrusion System",
      "name": "Progressive Cavity Pump Element (Rotor + Stator)",
      "description": "Core pumping element — chrome-plated SS rotor inside elastomer stator. For mortar/concrete with aggregates up to 2-6mm. Stator: Buna Nitrile (NBR) for concrete, EPDM for alkaline. Expect stator replacement every 200-500 hours.",
      "qty": 1,
      "unit": "rotor + stator set",
      "mfg_type": "buy",
      "sort_order": 17,
      "mpn": null,
      "substitute_ok": true,
      "exclude_from_kit": false,
      "suppliers": [
        {
          "id": 136,
          "supplier_name": "Progressive Cavity Parts (US)",
          "product_url": "https://www.progressivecavityparts.com/",
          "notes": "Aftermarket replacement rotors and stators for Moyno, Seepex, Netzsch, Continental.",
          "sku": null,
          "step_url": null,
          "approved": true
        },
        {
          "id": 137,
          "supplier_name": "Seepex (via US distributors)",
          "product_url": "https://www.seepex.com/en-nam/products/pumps/standard-progressive-cavity-pumps/bn-pump-with-block-design/",
          "notes": "BN series — industrial PC pump. US distributors: Tencarva, Edelmann, Cummins-Wagner.",
          "sku": null,
          "step_url": null,
          "approved": true
        },
        {
          "id": 138,
          "supplier_name": "Community Interest: Custom Batch",
          "product_url": "",
          "notes": "INTEREST CHECK — small-batch custom rotor+stator. CNC SS rotor + cast NBR stator. Need 10 commitments.",
          "sku": null,
          "step_url": null,
          "approved": true
        },
        {
          "id": 135,
          "supplier_name": "Continental Ultra Pumps (Missouri)",
          "product_url": "https://www.continentalultrapumps.com/store/CP22-progressing-cavity-pump.html",
          "notes": "CP22 pump — 0.4-4.9 GPM, 100 PSI, 3/4\" NPT, chrome SS rotor, Buna stator. Smallest US-made PC pump. Call 636-456-6006.",
          "sku": "CP22",
          "step_url": null,
          "approved": true
        }
      ]
    },
    {
      "id": 48,
      "category": "Concrete Extrusion System",
      "name": "Pump Drive Coupling — Universal Joint + Connecting Rod",
      "description": "Converts motor rotation to rotor orbital motion. PC pump rotors orbit eccentrically — a rigid shaft will break. Use gear-type universal joint or double-cardan joint.",
      "qty": 1,
      "unit": "coupling assembly",
      "mfg_type": "buy",
      "sort_order": 18,
      "mpn": null,
      "substitute_ok": true,
      "exclude_from_kit": false,
      "suppliers": [
        {
          "id": 139,
          "supplier_name": "McMaster-Carr",
          "product_url": "https://mcmaster.com",
          "notes": "Miniature universal joints + flex couplings. Match bore sizes to motor output and rotor drive shaft.",
          "sku": null,
          "step_url": "https://mcmaster.com",
          "approved": true
        },
        {
          "id": 140,
          "supplier_name": "Amazon",
          "product_url": "https://amazon.com",
          "notes": "Stainless steel universal joint couplers (8-14mm bores) + jaw couplings.",
          "sku": null,
          "step_url": null,
          "approved": true
        },
        {
          "id": 141,
          "supplier_name": "Self-Manufacture",
          "product_url": "",
          "notes": "CNC or metal SLS custom connecting rod. STL files in repo /cad/pump/ directory.",
          "sku": null,
          "step_url": null,
          "approved": true
        }
      ]
    },
    {
      "id": 49,
      "category": "Concrete Extrusion System",
      "name": "Pump Housing & Bearing Assembly",
      "description": "Encloses rotor/stator and provides bearing support. Must handle axial thrust. If using Continental CP22, housing is included. For DIY: CNC aluminum + sealed bearings.",
      "qty": 1,
      "unit": "assembly",
      "mfg_type": "cnc",
      "sort_order": 19,
      "mpn": null,
      "substitute_ok": true,
      "exclude_from_kit": false,
      "suppliers": [
        {
          "id": 142,
          "supplier_name": "Continental Ultra Pumps",
          "product_url": "https://www.continentalultrapumps.com/",
          "notes": "CP22 housing included with pump purchase.",
          "sku": null,
          "step_url": null,
          "approved": true
        },
        {
          "id": 143,
          "supplier_name": "McMaster-Carr",
          "product_url": "https://mcmaster.com",
          "notes": "DIY: Flanged ball bearings (sealed, SS) + Schedule 40 SS pipe as stator housing.",
          "sku": null,
          "step_url": null,
          "approved": true
        },
        {
          "id": 145,
          "supplier_name": "Self-Manufacture",
          "product_url": "",
          "notes": "3D printed PETG prototype housing for testing only — concrete slurry is abrasive.",
          "sku": null,
          "step_url": null,
          "approved": true
        }
      ]
    },
    {
      "id": 51,
      "category": "Concrete Extrusion System",
      "name": "48V Power Supply for Pump Driver (Optional)",
      "description": "Only needed if running external TMC5160 pump driver at 48V. Mean Well LRS-200-48 provides dedicated 48V for the geared stepper. Not needed if running pump from Kraken onboard driver at 24V.",
      "qty": 1,
      "unit": "PSU",
      "mfg_type": "buy",
      "sort_order": 21,
      "mpn": "LRS-200-48",
      "substitute_ok": false,
      "exclude_from_kit": false,
      "suppliers": [
        {
          "id": 149,
          "supplier_name": "Mouser Electronics",
          "product_url": "https://mouser.com",
          "notes": "Mean Well LRS-200-48 — 48V 200W enclosed",
          "sku": null,
          "step_url": null,
          "approved": true
        },
        {
          "id": 150,
          "supplier_name": "Digi-Key",
          "product_url": "https://digikey.com",
          "notes": "Mean Well UHP-200-48 — 48V slim profile",
          "sku": null,
          "step_url": null,
          "approved": true
        },
        {
          "id": 151,
          "supplier_name": "Amazon",
          "product_url": "https://amazon.com",
          "notes": "Mean Well 48V PSU — also on Amazon Prime",
          "sku": null,
          "step_url": null,
          "approved": true
        }
      ]
    },
    {
      "id": 52,
      "category": "Concrete Extrusion System",
      "name": "Material Hopper 20-Liter",
      "description": "Material reservoir above the pump. HDPE or stainless for concrete compatibility. Printable in PETG for testing.",
      "qty": 1,
      "unit": "hopper",
      "mfg_type": "print",
      "sort_order": 30,
      "mpn": null,
      "substitute_ok": true,
      "exclude_from_kit": false,
      "suppliers": [
        {
          "id": 152,
          "supplier_name": "McMaster-Carr",
          "product_url": "https://mcmaster.com",
          "notes": "Stainless steel hopper",
          "sku": null,
          "step_url": null,
          "approved": true
        },
        {
          "id": 153,
          "supplier_name": "US Plastic Corp",
          "product_url": "https://usplastic.com",
          "notes": "HDPE funnel 5-gal",
          "sku": null,
          "step_url": null,
          "approved": true
        },
        {
          "id": 154,
          "supplier_name": "Self-Manufacture",
          "product_url": "",
          "notes": "3D Printed PETG hopper",
          "sku": null,
          "step_url": null,
          "approved": true
        }
      ]
    },
    {
      "id": 53,
      "category": "Concrete Extrusion System",
      "name": "Concrete Nozzle Assembly",
      "description": "Critical for print quality. Replaceable-tip design recommended for different layer widths (20-40mm).",
      "qty": 1,
      "unit": "assembly",
      "mfg_type": "cnc",
      "sort_order": 40,
      "mpn": null,
      "substitute_ok": true,
      "exclude_from_kit": false,
      "suppliers": [
        {
          "id": 155,
          "supplier_name": "Local Machine Shop",
          "product_url": "",
          "notes": "Custom machined brass nozzle",
          "sku": null,
          "step_url": null,
          "approved": true
        },
        {
          "id": 156,
          "supplier_name": "Local Machine Shop",
          "product_url": "",
          "notes": "Stainless steel nozzle",
          "sku": null,
          "step_url": null,
          "approved": true
        }
      ]
    },
    {
      "id": 54,
      "category": "Concrete Extrusion System",
      "name": "Tubing & Quick Fittings",
      "description": "Pump to nozzle material flow. Reinforced hose rated for concrete slurry. Counter-weighted to reduce gantry loading.",
      "qty": 1,
      "unit": "kit",
      "mfg_type": "buy",
      "sort_order": 50,
      "mpn": null,
      "substitute_ok": true,
      "exclude_from_kit": false,
      "suppliers": [
        {
          "id": 158,
          "supplier_name": "McMaster-Carr",
          "product_url": "https://mcmaster.com",
          "notes": "Reinforced concrete-rated hose + fittings",
          "sku": null,
          "step_url": null,
          "approved": true
        },
        {
          "id": 159,
          "supplier_name": "US Plastic Corp",
          "product_url": "https://usplastic.com",
          "notes": "Food-grade reinforced hose set",
          "sku": null,
          "step_url": null,
          "approved": true
        },
        {
          "id": 160,
          "supplier_name": "Grainger",
          "product_url": "https://grainger.com",
          "notes": "Industrial reinforced concrete hose",
          "sku": null,
          "step_url": null,
          "approved": true
        }
      ]
    },
    {
      "id": 56,
      "category": "Fasteners & Hardware",
      "name": "M5 Socket Head Cap Screws",
      "description": "Primary structural fasteners for 4080 C-beam frame (20-series compatible slots). M5 is the standard for 6mm slot width.",
      "qty": 1,
      "unit": "500pc kit",
      "mfg_type": "buy",
      "sort_order": 10,
      "mpn": null,
      "substitute_ok": true,
      "exclude_from_kit": false,
      "suppliers": [
        {
          "id": 164,
          "supplier_name": "McMaster-Carr",
          "product_url": "https://mcmaster.com",
          "notes": "M5 SHCS assortment 500pc",
          "sku": null,
          "step_url": null,
          "approved": true
        },
        {
          "id": 165,
          "supplier_name": "Amazon",
          "product_url": "https://amazon.com",
          "notes": "M5 SHCS basic set 500pc",
          "sku": null,
          "step_url": null,
          "approved": true
        },
        {
          "id": 166,
          "supplier_name": "Bolt Depot",
          "product_url": "https://boltdepot.com",
          "notes": "M5 stainless kit 500pc",
          "sku": null,
          "step_url": null,
          "approved": true
        }
      ]
    },
    {
      "id": 57,
      "category": "Fasteners & Hardware",
      "name": "M3 Socket Head Cap Screws",
      "description": "Electronics mounting and small parts. ~50 needed: Kraken (4), Pi 5 (4), buck converters (12), fans (8), DIN rail (12), misc brackets (10).",
      "qty": 1,
      "unit": "100pc kit",
      "mfg_type": "buy",
      "sort_order": 20,
      "mpn": null,
      "substitute_ok": true,
      "exclude_from_kit": false,
      "suppliers": [
        {
          "id": 167,
          "supplier_name": "McMaster-Carr",
          "product_url": "https://mcmaster.com",
          "notes": "M3 SHCS assortment 100pc",
          "sku": null,
          "step_url": null,
          "approved": true
        },
        {
          "id": 168,
          "supplier_name": "Amazon",
          "product_url": "https://amazon.com",
          "notes": "M3 SHCS assortment 100pc",
          "sku": null,
          "step_url": null,
          "approved": true
        },
        {
          "id": 169,
          "supplier_name": "Digi-Key",
          "product_url": "https://digikey.com",
          "notes": "M3 electronics kit",
          "sku": null,
          "step_url": null,
          "approved": true
        }
      ]
    },
    {
      "id": 58,
      "category": "Fasteners & Hardware",
      "name": "Washers & Lock Washers Assorted",
      "description": "Prevent loosening from vibration. Nord-Lock recommended for structural joints.",
      "qty": 1,
      "unit": "kit",
      "mfg_type": "buy",
      "sort_order": 30,
      "mpn": null,
      "substitute_ok": true,
      "exclude_from_kit": false,
      "suppliers": [
        {
          "id": 170,
          "supplier_name": "McMaster-Carr",
          "product_url": "https://mcmaster.com",
          "notes": "Complete M3-M8 kit",
          "sku": null,
          "step_url": null,
          "approved": true
        },
        {
          "id": 171,
          "supplier_name": "Amazon",
          "product_url": "https://amazon.com",
          "notes": "Basic washer set",
          "sku": null,
          "step_url": null,
          "approved": true
        },
        {
          "id": 172,
          "supplier_name": "Grainger",
          "product_url": "https://grainger.com",
          "notes": "Nord-Lock washers",
          "sku": null,
          "step_url": null,
          "approved": true
        }
      ]
    },
    {
      "id": 59,
      "category": "Fasteners & Hardware",
      "name": "Heat-Set Inserts M3/M5",
      "description": "Essential for threaded connections in 3D printed parts.",
      "qty": 1,
      "unit": "200pc kit",
      "mfg_type": "buy",
      "sort_order": 40,
      "mpn": null,
      "substitute_ok": true,
      "exclude_from_kit": false,
      "suppliers": [
        {
          "id": 173,
          "supplier_name": "McMaster-Carr",
          "product_url": "https://mcmaster.com",
          "notes": "Brass insert kit M3+M5",
          "sku": null,
          "step_url": null,
          "approved": true
        },
        {
          "id": 174,
          "supplier_name": "Amazon",
          "product_url": "https://amazon.com",
          "notes": "Economy inserts M3+M5",
          "sku": null,
          "step_url": null,
          "approved": true
        },
        {
          "id": 175,
          "supplier_name": "Amazon",
          "product_url": "https://amazon.com",
          "notes": "Premium knurled (CNC Kitchen style)",
          "sku": null,
          "step_url": null,
          "approved": true
        }
      ]
    },
    {
      "id": 60,
      "category": "Optional Upgrades",
      "name": "Polycarbonate Enclosure Panels",
      "description": "Dust containment for indoor use. Sized to frame dimensions.",
      "qty": 1,
      "unit": "set",
      "mfg_type": "buy",
      "sort_order": 10,
      "mpn": null,
      "substitute_ok": true,
      "exclude_from_kit": false,
      "suppliers": [
        {
          "id": 176,
          "supplier_name": "TAP Plastics",
          "product_url": "https://tapplastics.com",
          "notes": "Clear polycarbonate sheets — cut to size",
          "sku": null,
          "step_url": null,
          "approved": true
        },
        {
          "id": 177,
          "supplier_name": "US Plastic Corp",
          "product_url": "https://usplastic.com",
          "notes": "Corrugated plastic panels",
          "sku": null,
          "step_url": null,
          "approved": true
        }
      ]
    },
    {
      "id": 61,
      "category": "Optional Upgrades",
      "name": "LED Work Lighting",
      "description": "Work area illumination — 24V LED strips powered from main bus.",
      "qty": 1,
      "unit": "kit",
      "mfg_type": "buy",
      "sort_order": 20,
      "mpn": null,
      "substitute_ok": true,
      "exclude_from_kit": false,
      "suppliers": [
        {
          "id": 178,
          "supplier_name": "Amazon",
          "product_url": "https://amazon.com",
          "notes": "24V LED strip 5m",
          "sku": null,
          "step_url": null,
          "approved": true
        },
        {
          "id": 179,
          "supplier_name": "Amazon",
          "product_url": "https://amazon.com",
          "notes": "RGB LED strip 24V",
          "sku": null,
          "step_url": null,
          "approved": true
        }
      ]
    },
    {
      "id": 62,
      "category": "Optional Upgrades",
      "name": "Camera Module for Monitoring",
      "description": "Remote print monitoring via KlipperScreen or Mainsail.",
      "qty": 1,
      "unit": "camera",
      "mfg_type": "buy",
      "sort_order": 30,
      "mpn": null,
      "substitute_ok": true,
      "exclude_from_kit": false,
      "suppliers": [
        {
          "id": 180,
          "supplier_name": "Adafruit",
          "product_url": "https://www.adafruit.com",
          "notes": "RPi Camera v3",
          "sku": null,
          "step_url": null,
          "approved": true
        },
        {
          "id": 181,
          "supplier_name": "Amazon",
          "product_url": "https://amazon.com",
          "notes": "USB Webcam 1080p",
          "sku": null,
          "step_url": null,
          "approved": true
        }
      ]
    },
    {
      "id": 63,
      "category": "Optional Upgrades",
      "name": "HEPA Air Filtration",
      "description": "Concrete dust particle capture for indoor operation.",
      "qty": 1,
      "unit": "system",
      "mfg_type": "buy",
      "sort_order": 40,
      "mpn": null,
      "substitute_ok": true,
      "exclude_from_kit": false,
      "suppliers": [
        {
          "id": 182,
          "supplier_name": "Grainger",
          "product_url": "https://grainger.com",
          "notes": "HEPA filter box fan unit",
          "sku": null,
          "step_url": null,
          "approved": true
        },
        {
          "id": 183,
          "supplier_name": "Amazon",
          "product_url": "https://amazon.com",
          "notes": "DIY HEPA filter + fan",
          "sku": null,
          "step_url": null,
          "approved": true
        }
      ]
    },
    {
      "id": 65,
      "category": "Frame - Reinforcement",
      "name": "X-Direction Internal Reinforcement (centered 2040 insert)",
      "description": "One 1000mm 2040 V-slot insert is friction-fit inside each 2m 4080 C-Beam X-direction member, centered on the butt joint so it spans 500mm on either side. Printed end retainers hold the insert in place; no adhesive is required for the current SN 001 method. The insert provides the primary centering and stiffness at the splice; the smaller in-slot connector bars (id 5) remain alignment aids only and can flex under gravity by themselves. The 2040 insert doubles the central internal features of the C-Beam at the highest-risk splice zone while preserving exterior carriage clearance and reducing reliance on steel set screws at the joint. Earlier analysis claimed less than 0.5mm flex under a 5kg load; SN 001 physical validation shows actual flex is far below that conservative claim. M3-1: not required. M3-2: qty 3 for the three spliced 2m X-direction members.",
      "qty": 3,
      "unit": "bars (1.0m each)",
      "mfg_type": "buy",
      "sort_order": 15,
      "mpn": null,
      "substitute_ok": true,
      "exclude_from_kit": false,
      "suppliers": [
        {
          "id": 209,
          "supplier_name": "MakerStore USA",
          "product_url": "https://makerstore.cc/",
          "notes": "2040 V-slot aluminum extrusion, 1000mm insert centered across each 2m C-Beam butt joint.",
          "sku": null,
          "step_url": null,
          "approved": true
        },
        {
          "id": 210,
          "supplier_name": "Bulkman3D",
          "product_url": "https://bulkman3d.com/",
          "notes": "2040 V-slot, 1000mm insert centered across each 2m C-Beam butt joint.",
          "sku": null,
          "step_url": null,
          "approved": true
        },
        {
          "id": 211,
          "supplier_name": "ZYLtech",
          "product_url": "https://www.zyltech.com/",
          "notes": "2040 V-slot, 1000mm insert centered across each 2m C-Beam butt joint.",
          "sku": null,
          "step_url": null,
          "approved": true
        },
        {
          "id": 212,
          "supplier_name": "Self-Manufacture",
          "product_url": null,
          "notes": "Printed end retainers hold the friction-fit 2040 insert in position; adhesive is not part of the current method.",
          "sku": null,
          "step_url": null,
          "approved": true
        }
      ]
    },
    {
      "id": 66,
      "category": "X-Axis Motion System",
      "name": "Idler Pulley Mounting Plate",
      "description": "3D-printed idler plates for belt return/tension points: 4x Z-axis + 2x Y-axis = 6 total. X-axis uses the 6mm gantry belt path and does not use this common idler plate line. Printed design carries the smooth idler pulley mount and tension feature.",
      "qty": 6,
      "unit": "plates",
      "mfg_type": "print",
      "sort_order": 35,
      "mpn": null,
      "substitute_ok": true,
      "exclude_from_kit": false,
      "suppliers": [
        {
          "id": 213,
          "supplier_name": "Bulkman3D",
          "product_url": "https://bulkman3d.com/product/pl0007/",
          "notes": "Reference commercial option only; SN 001 uses 3D-printed idler plates.",
          "sku": "PL0007",
          "step_url": "https://github.com/sunnyday-technologies/M3-CRETE/raw/main/CAD/Components/Plates/Idler Pulley Plate.step",
          "approved": false
        },
        {
          "id": 214,
          "supplier_name": "MakerStore USA",
          "product_url": "https://makerstore.cc/",
          "notes": "Reference commercial option only; SN 001 uses 3D-printed idler plates.",
          "sku": null,
          "step_url": null,
          "approved": false
        },
        {
          "id": 215,
          "supplier_name": "Amazon",
          "product_url": "https://www.amazon.com/s?k=V-slot+idler+pulley+plate",
          "notes": "Reference commercial option only; SN 001 uses 3D-printed idler plates.",
          "sku": null,
          "step_url": null,
          "approved": false
        },
        {
          "id": 216,
          "supplier_name": "Self-Manufacture",
          "product_url": null,
          "notes": "SN 001 source of truth: print 6 total plates in PETG/CF-Nylon.",
          "sku": null,
          "step_url": null,
          "approved": true
        }
      ]
    },
    {
      "id": 67,
      "category": "Frame - Extrusions",
      "name": "C-beam 40×80 × 1000 mm — Frame Member (SDT Standard)",
      "description": "The M3-CRETE reference frame is a single primary extrusion SKU: C-Beam 40x80 aluminum extrusion cut to 1000mm, quantity 17 reference pieces plus 1 spare for a total order of 18. This is the SDT (Sunnyday Technologies) standard: all primary frame members use 4080 C-Beam, no mixed frame extrusion profiles, no 1200mm stock, no 1500mm stock. The 1000mm length is the longest extrusion that fits a standard UPS/FedEx 42-inch parcel box, which gates whether a kit can ship ground or requires pallet freight. The 17 reference pieces make up: 4 Z-posts, 3 top Y-rails, 2 bottom Y-skids, 2 mid-height Y-gantry rails, 4 top X-rails spliced at center for the 2000mm X-direction spans, and 2 mid X cross-braces spliced at center. Spliced 2m X-direction members use the centered 2040 internal reinforcement insert and printed retainers (id 65/id 85). See https://m3-crete.com/blog/m3-2-full-cad-release/ for the full design rationale.",
      "qty": 18,
      "unit": "pieces",
      "mfg_type": "buy",
      "sort_order": 10,
      "mpn": null,
      "substitute_ok": true,
      "exclude_from_kit": false,
      "suppliers": [
        {
          "id": 1101,
          "supplier_name": "Bulkman3D",
          "product_url": "https://bulkman3d.com/product/v-slot-4080/",
          "notes": "Factory-direct from China, DDP sea freight 30-35 days. Stocks 100-1500 mm in 50 mm increments. Select 1000 mm on the supplier page.",
          "sku": null,
          "step_url": null,
          "approved": true
        },
        {
          "id": 1102,
          "supplier_name": "MakerStore USA",
          "product_url": "https://makerstore.cc/product/c-beam/",
          "notes": "US domestic warehouse, Atoka OK. UPS Ground ~3 days. Stocks 1000 mm, 1500 mm, and 2400 mm (2400 mm requires freight quote). Select 1000 mm Black C-Beam on the supplier page.",
          "sku": null,
          "step_url": null,
          "approved": true
        },
        {
          "id": 1112,
          "supplier_name": "ZYLtech Engineering",
          "product_url": "https://www.zyltech.com/zyltech-4080c-v-groove-aluminum-extrusion-pre-cut-sizes-1000mm-and-1200mm/",
          "notes": "Houston TX warehouse, US domestic ground ship. Stocks 1000 mm and 1200 mm pre-cut lengths. Select 1000 mm on the supplier page.",
          "sku": "4080C-1000",
          "step_url": null,
          "approved": true
        }
      ]
    },
    {
      "id": 69,
      "category": "Motion - Plates",
      "name": "Common 125x125 C-Beam Gantry Plate (Y/Z candidate)",
      "description": "Y/Z carriage plate candidate using the same 125x125mm C-Beam gantry plate geometry across the machine where practical. 4x Z-corner + 2x Y-gantry = 6 total. This replaces the previous smaller-standard-vs-XLarge split and is intended to reduce total part count while allowing component swaps. Fit-check on SN 001 before freezing.",
      "qty": 6,
      "unit": "pc",
      "mfg_type": "buy",
      "sort_order": 10,
      "mpn": null,
      "substitute_ok": true,
      "exclude_from_kit": false,
      "suppliers": [
        {
          "id": 1107,
          "supplier_name": "Bulkman3D",
          "product_url": "https://bulkman3d.com/",
          "notes": "Common 125x125mm C-Beam gantry plate candidate; avoid 125x170 XLarge unless explicitly re-approved.",
          "sku": null,
          "step_url": null,
          "approved": true
        },
        {
          "id": 1108,
          "supplier_name": "MakerStore USA",
          "product_url": "https://makerstore.cc/",
          "notes": "Common 125x125mm C-Beam gantry plate candidate; verify wheel pattern before purchase.",
          "sku": null,
          "step_url": null,
          "approved": true
        }
      ]
    },
    {
      "id": 84,
      "category": "Motion - Plates",
      "name": "Common 125x125 C-Beam Gantry Plate (X-axis pair)",
      "description": "X-axis double-plate carriage pair using the same 125x125mm C-Beam gantry plate geometry targeted across Y/Z/X. 2 plates total (double-plate sandwich on the 2m gantry beam, 4 wheels each = 8 X-axis wheels). Do not use the 125x170mm XLarge plate path unless explicitly re-approved; the common plate strategy reduces total part count and supports component swaps.",
      "qty": 2,
      "unit": "pc",
      "mfg_type": "buy",
      "sort_order": 11,
      "mpn": null,
      "substitute_ok": true,
      "exclude_from_kit": false,
      "suppliers": [
        {
          "id": 1288,
          "supplier_name": "Bulkman3D",
          "product_url": "https://bulkman3d.com/",
          "notes": "125x125mm C-Beam gantry plate; avoid 125x170mm XLarge unless explicitly re-approved.",
          "sku": null,
          "step_url": null,
          "approved": true
        },
        {
          "id": 1289,
          "supplier_name": "MakerStore USA",
          "product_url": "https://makerstore.cc/",
          "notes": "125x125mm C-Beam gantry plate equivalent; verify dimensions before purchase.",
          "sku": null,
          "step_url": null,
          "approved": true
        }
      ]
    },
    {
      "id": 75,
      "category": "3D-Printed Structural",
      "name": "Z Motor Mount / Y-Spacer Plate (3D printed)",
      "description": "Simple printed plate at each Y-motor position (2 total): 80x107x4mm NEMA23 motor mount/spacer that holds the rotated motor flange ~45 deg about its shaft so the 4 NEMA23 mounting holes align with the V-slot centerlines for direct T-nut mounting. As of M3-2_V1.0 design, Z-motors use bot_spacer_idler (id 79) at the top corners instead of this plate.",
      "qty": 2,
      "unit": "pieces",
      "mfg_type": "print",
      "sort_order": 35,
      "mpn": null,
      "substitute_ok": false,
      "exclude_from_kit": false,
      "suppliers": [
        {
          "id": 1275,
          "supplier_name": "Self-Manufacture",
          "product_url": null,
          "notes": "3D print in PETG (8mm walls, prototype) or CCF (3-4mm, production). STL generated from CadQuery script.",
          "sku": null,
          "step_url": null,
          "approved": true
        }
      ]
    },
    {
      "id": 77,
      "category": "3D-Printed Structural",
      "name": "Expanded Center T-Bracket (spreader junction, 3D printed)",
      "description": "Large T-bracket at center Y-spreader / X-rail junctions. 280x160x4mm, 17 M5 holes aligned to C-beam slot centerlines. Grabs both the spreader end and the adjacent X-rail sections for full junction rigidity. CAD: CAD/Custom/Center_T_Bracket_Expanded.step",
      "qty": 2,
      "unit": "pieces",
      "mfg_type": "print",
      "sort_order": 37,
      "mpn": null,
      "substitute_ok": false,
      "exclude_from_kit": false,
      "suppliers": [
        {
          "id": 1277,
          "supplier_name": "Self-Manufacture",
          "product_url": null,
          "notes": "3D print in PETG (8mm walls, prototype) or CCF (3-4mm, production). STL generated from CadQuery script.",
          "sku": null,
          "step_url": null,
          "approved": true
        }
      ]
    },
    {
      "id": 79,
      "category": "3D-Printed Structural",
      "name": "Bottom Spacer/Idler Mount (4mm, combined, 3D printed)",
      "description": "Combined bottom-spacer/idler-mount printed plate (4mm). 8 total: 2 per Z-corner (top + bottom). The TOP variant doubles as the Z-motor mount in the V1.0 design, holding the NEMA23 against the C-beam top. The BOTTOM variant carries the lower idler axle for the Z-belt loop. Identical geometry, different role per position.",
      "qty": 8,
      "unit": "pieces",
      "mfg_type": "print",
      "sort_order": 38,
      "mpn": null,
      "substitute_ok": false,
      "exclude_from_kit": false,
      "suppliers": [
        {
          "id": 1279,
          "supplier_name": "Self-Manufacture",
          "product_url": null,
          "notes": "3D print in PETG (8mm walls, prototype) or CCF (3-4mm, production). STL generated from CadQuery script.",
          "sku": null,
          "step_url": null,
          "approved": true
        }
      ]
    },
    {
      "id": 81,
      "category": "3D-Printed Structural",
      "name": "Y-Motor 4mm Spacer (3D printed)",
      "description": "DEPRECATED in M3-2_V1.0 (2026-04-29). The Y-motor 4mm spacer role is now subsumed by the unified z_motor_mount plate (id 75, qty 2). Kept here for changelog continuity; do not order. 4mm spacer plate between Y-axis NEMA23 motor flange and C-beam 80mm face. Motor is rotated ~45 degrees about its shaft axis so the 4 mounting bolts align with the V-slot centerlines, allowing direct T-nut mounting into the extrusion. The spacer prevents the motor body from intruding into the C-beam channel. Geometry TBD (small NEMA23 mounting footprint with bolt pattern). PETG or CCF.",
      "qty": 0,
      "unit": "pieces",
      "mfg_type": "print",
      "sort_order": 40,
      "mpn": null,
      "substitute_ok": false,
      "exclude_from_kit": true,
      "suppliers": [
        {
          "id": 1281,
          "supplier_name": "Self-Manufacture",
          "product_url": null,
          "notes": "3D print in PETG or CCF.",
          "sku": null,
          "step_url": null,
          "approved": true
        }
      ]
    },
    {
      "id": 82,
      "category": "Frame - Reinforcement",
      "name": "Legacy Frame Splice Backup Plate (6mm aluminum, optional)",
      "description": "DEPRECATED in M3-2_V1.0 (2026-04-29). Internal 2040 V-slot reinforcement (id 65, qty 3) replaces this plate; per design the 2040 stiffness is far beyond needs and no external plate is required. Legacy optional external backup plate for a 2m X-direction splice. Current SN 001 method uses the centered 2040 friction-fit internal insert with printed retainers (id 65/id 85), so this exterior plate is not part of the reference kit unless a later load case explicitly requires it.",
      "qty": 0,
      "unit": "plates",
      "mfg_type": "buy",
      "sort_order": 16,
      "mpn": null,
      "substitute_ok": true,
      "exclude_from_kit": true,
      "suppliers": [
        {
          "id": 1282,
          "supplier_name": "McMaster-Carr",
          "product_url": "https://www.mcmaster.com/products/aluminum-sheets/thickness~6-mm/",
          "notes": "6mm aluminum flat stock 6061-T6, cut to ~200x80mm",
          "sku": null,
          "step_url": null,
          "approved": true
        },
        {
          "id": 1283,
          "supplier_name": "Metals Depot",
          "product_url": "https://www.metalsdepot.com/",
          "notes": "6mm (1/4 in nominal) aluminum flat bar, cut to length, ships from Kentucky",
          "sku": null,
          "step_url": null,
          "approved": true
        },
        {
          "id": 1284,
          "supplier_name": "Amazon",
          "product_url": "https://www.amazon.com/s?k=6mm+aluminum+flat+plate+6061",
          "notes": "6061-T6 aluminum flat plate, various stock sizes",
          "sku": null,
          "step_url": null,
          "approved": true
        }
      ]
    },
    {
      "id": 83,
      "category": "Frame Hardware & Brackets",
      "name": "V-Wheel Axle Spacers 6mm (plain cylindrical)",
      "description": "One per wheel, outboard of wheel between wheel face and washer/lock nut. 6mm tall, ~10mm OD, 5.1mm bore (M5 clearance). Measured on SN 001 assembly 2026-04-23: 5mm to reach track + 1mm running gap = 6mm required. Full wheel stack: M5 bolt -> plate -> eccentric spacer (id 7, 6mm) -> V-wheel -> THIS spacer (6mm) -> washer -> lock nut. All 32 wheel positions. 60 ordered for SN 001 (surplus covers spares and inner bearing spacers if needed).",
      "qty": 32,
      "unit": "pieces",
      "mfg_type": "buy",
      "sort_order": 26,
      "mpn": null,
      "substitute_ok": true,
      "exclude_from_kit": false,
      "suppliers": [
        {
          "id": 1285,
          "supplier_name": "Bulkman3D",
          "product_url": "https://bulkman3d.com/",
          "notes": "V-Slot standard spacer 6mm, M5 bore — matches eccentric spacer OD",
          "sku": null,
          "step_url": null,
          "approved": true
        },
        {
          "id": 1286,
          "supplier_name": "MakerStore USA",
          "product_url": "https://makerstore.cc/",
          "notes": "Standard 6mm spacer, M5 bore, matches V-wheel assembly kit",
          "sku": null,
          "step_url": null,
          "approved": true
        },
        {
          "id": 1287,
          "supplier_name": "Amazon",
          "product_url": "https://www.amazon.com/s?k=M5+aluminum+spacer+6mm+V-slot",
          "notes": "M5 bore aluminum standoff spacer 6mm length — verify 10mm OD to match wheel assembly",
          "sku": null,
          "step_url": null,
          "approved": true
        }
      ]
    },
    {
      "id": 85,
      "category": "3D-Printed Structural",
      "name": "2040 Insert End Retainers (3D printed)",
      "description": "Printed end retainers for the centered 2040 reinforcement inserts used inside 2m 4080 C-Beam X-direction members. The 2040 insert friction-fits with light pressure; retainers prevent migration without adhesive and keep the reinforcement method field-serviceable.",
      "qty": 6,
      "unit": "pieces",
      "mfg_type": "print",
      "sort_order": 39,
      "mpn": null,
      "substitute_ok": false,
      "exclude_from_kit": false,
      "suppliers": [
        {
          "id": 1290,
          "supplier_name": "Self-Manufacture",
          "product_url": null,
          "notes": "Print two retainers per reinforced 2m X-direction member; qty assumes 3 reinforced members for M3-2 and should track final spliced-member count.",
          "sku": null,
          "step_url": null,
          "approved": true
        }
      ]
    },
    {
      "id": 86,
      "category": "Fasteners & Hardware",
      "name": "M3-2 Final Assembly Hardware Pick Pack",
      "description": "First-pass fulfillment pack for the screws, washers, nuts, spacers, connector plates, and small mechanical hardware needed to ship the M3-2 non-extrusion kit. Detailed pick list lives in bom/m3-2-final-hardware-pack.json. Quantities are derived from bom/data.json v2.7 plus CAD/BOM_README.md hardware totals; physical assembly audit is still required before production purchasing.",
      "qty": 1,
      "unit": "kit",
      "mfg_type": "buy",
      "sort_order": 5,
      "mpn": null,
      "substitute_ok": true,
      "exclude_from_kit": false,
      "suppliers": [
        {
          "id": 1291,
          "supplier_name": "Sunnyday Technologies",
          "product_url": null,
          "notes": "Self-packed fulfillment kit from approved bulk fastener and spacer sources. Use bom/m3-2-final-hardware-pack.json as the editable pack manifest.",
          "sku": "M3-2-HW-PACK-V0",
          "step_url": null,
          "approved": true
        },
        {
          "id": 1292,
          "supplier_name": "McMaster-Carr",
          "product_url": "https://www.mcmaster.com/",
          "notes": "Approved source for industrial fasteners where strength class, finish, or traceability matters.",
          "sku": null,
          "step_url": null,
          "approved": true
        },
        {
          "id": 1293,
          "supplier_name": "MakerStore USA",
          "product_url": "https://makerstore.cc/",
          "notes": "Approved source for V-slot/C-beam compatible spacers, T-nuts, gantry plates, and wheel hardware.",
          "sku": null,
          "step_url": null,
          "approved": true
        },
        {
          "id": 1294,
          "supplier_name": "Amazon",
          "product_url": "https://amazon.com",
          "notes": "Acceptable source for commodity packs after sample inspection; avoid relying on unverified alloy or thread quality for structural joints.",
          "sku": null,
          "step_url": null,
          "approved": true
        }
      ]
    }
  ],
  "notes": "v2.7 (M3-2 V1.0 freeze, 2026-04-29): unified mount-plate design — id 75 (qty 2) covers Y-motors only; id 79 (qty 8) bot_spacer_idler doubles as Z-motor mount at top corners; id 65 (qty 3) internal 2040 V-slot inserts replace external splice plates. Deprecated: id 81 (Y-spacer merged into id 75) and id 82 (Frame Splice Backup Plate, replaced by 2040 inserts). Earlier basis (kept for context): all primary frame members are 4080 C-Beam at 1000mm; X-direction 2m members use centered 2040 friction-fit inserts; belt width 6mm on X-axis, 10mm on Y/Z; quad-Z self-tramming; NEMA23 8mm-shaft motors with StallGuard4 sensorless homing. 2026-05-26 update: id 86 adds an explicit editable M3-2 hardware pick pack for pricing and fulfillment, and id 8 leveling feet are excluded from the reference kit per the no-leveling-feet design decision."
}
