Component Search
Find and add components and reusable subcircuits to a Zener project. Use this workflow any time you need a part or subcircuit that isn't already in the workspace or covered by stdlib generics.
Hard Stop Before Manual Creation
If
pcb search
and
pcb new component
do not produce a usable part, do not manually create the component, symbol, or footprint by default. Briefly say what failed, say you can try making it manually, and get explicit user confirmation first. In interactive mode, prefer
ask
.
Search Priority
Always search in this order. Move down only when the higher tier doesn't have what fits.
pcb search -m registry:modules
Component package with integrated application circuitry
LDO
Module ( "github.com/diodeinc/registry/components/AP2112Kx/AP2112Kx.zen" ) LDO ( name = "LDO_3V3" , VIN = vbus_5v0 , VOUT = vdd_3v3 , GND = gnd , )
Component package from registry:components search
TPS54331
Module
(
"github.com/diodeinc/registry/components/TPS54331D/TPS54331D.zen"
)
Use
pcb doc --package
--part-number < MPN
--manufacturer < MFR
This downloads the symbol, footprint, and STEP model and generates a package into components/
/ / . Datasheet artifacts are placed under docs/ in the component directory. The .kicad_sym file is the source of truth for the primitive component interface; the generated .zen file starts as an auto-generated signature and may later grow into a richer reusable design in the same package. If the component already exists in the workspace, it skips and reports the existing path. Use the imported component via Module() with the local workspace path: ESP32 = Module ( "./components/Espressif_Systems/ESP32-S3-WROOM-1-N16R8/ESP32-S3-WROOM-1-N16R8.zen" ) Command Reference Search
Reusable modules (fast, local index)
pcb search -m registry:modules < query
-f json
Component packages (fast, local index)
pcb search -m registry:components < query
-f json
Web component database (network, slower, MPN-ONLY queries)
pcb search -m web:components < MPN
-f json Import
Import a web component into the workspace
pcb new component --component-id < ID
[ --part-number < MPN
] [ --manufacturer < MFR
] Inspect
Read a registry package's io/config interface
pcb doc --package < url
@ < version
Verifying Sourcing with pcb bom After adding components to a design, use pcb bom to check sourcing and availability: pcb bom boards/MyBoard/MyBoard.zen -f json The JSON output is a list of BOM entries, each with: designator , mpn , manufacturer , package , value , description availability — per-entry sourcing data: us / global — regional summary with price , stock , alt_stock offers — individual distributor offers with region , distributor , stock , price Fixing BOM issues "No house cap/resistor found" warnings during build mean no pre-qualified generic part matches the spec. Adjust the value, package, or voltage rating, or specify an explicit part=Part(mpn=..., manufacturer=...) where appropriate. Low stock or no offers — search for alternative parts using the component search flows above, then update the design. Checking availability — look at stock counts across regions. Parts with zero stock and only alt_stock may have long lead times.