Skip to content

fabricatorPreset picks the first JLC stackup when several constructions match (4-layer 1.0 mm: 1080/2116/3313/7628) #4890

Open

Description

@gekkom

Problem

Since #4826, fabricatorPreset="jlcpcb_standard" resolves the board's pcb_stackup from its layer count, thickness and material only. JLCPCB offers several constructions for the same combination. For a 4-layer 1.0 mm FR4 board those are JLC04101H-1080, -2116, -3313 and -7628. Core takes the first match, and nothing lets the board say which one it is ordered with.

Repro

<board layers={4} thickness={1} material="fr4" fabricatorPreset="jlcpcb_standard" width="100mm" height="100mm" />

The emitted pcb_stackup is the 7628 construction: 0.2104 mm "7628 RC49%" prepreg, εr 4.4. Our board is ordered as JLC04101H-3313, which has 0.0994 mm prepreg, εr ≈ 4.1. Anything that reads pcb_stackup for impedance or loads gets the wrong answer: a 0.15 mm top trace comes out around 76 Ω instead of 50 Ω.

Proposal

Either of these would work, without guessing:

  1. Let the board name its construction, e.g. jlcpcbStackup="JLC04101H-3313" beside fabricatorPreset. An explicit stackup prop like the one in Preserve physical stackup through board rendering and import #4410 would also cover it.
  2. When more than one construction matches and none is named, emit no pcb_stackup, or emit a warning that says which constructions match.

Happy to test a fix.

Activity

  1. Brayaniglesias08 commented on Oct 24, 2026

    @Brayaniglesias08

    Submitted a fix implementing explicit construction selection (jlcpcbStackup="JLC04101H-3313" / 1080 / 2116 / 7628) while preserving default fabricatorPreset="jlcpcb_standard" resolution on existing 4-layer 1.6 mm and 8-layer 1.4 mm boards in #4892.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions