Skip to content

Shared 3D models

These six STEP files were extracted without alteration from the left-ear PCB on 2026-10-17. SHA256SUMS records the extracted bytes. Keep one copy here and reference it from boards and local footprint libraries instead of embedding it in each document.

Models use ${KICAD_PROJECT_3D_DIR}/filename.step. Define that project text variable as follows:

Project KICAD_PROJECT_3D_DIR
espurr/espurr.kicad_pro ${KIPRJMOD}/packages3D
espurr/espurr-ears/espurr-ears.kicad_pro ${KIPRJMOD}/../packages3D
espurr/espurr-band/espurr-band.kicad_pro ${KIPRJMOD}/../packages3D

In KiCad 10, edit the variable in Board Setup → Text & Graphics → Text Variables, or the corresponding Schematic Setup → Text Variables table. It belongs in the project, not in the global Configure Paths dialog. Generated boards must carry an appropriate project variable or receive an equivalent explicit export override; do not assume their build-directory ${KIPRJMOD} has the same relative layout as a source project.

The two capacitor models, resistor, SOT-23 and LGA-14 models retain the KiCad / kicad StepUp copyright and CC BY-SA 4.0 notices, including the electronic-design exception, in their STEP headers. See the KiCad 3D model licence. ws2812c-2020.step is the model already supplied in the board and local LED footprint; its STEP header does not identify an author or redistribution licence. Extraction preserves it and does not establish new provenance or mechanical acceptance.

The DNP D70/D71 diode footprints retain their pre-existing stock D_0201_0603Metric.step reference. That model was neither embedded nor installed in the inspected KiCad library, so no substitute is supplied here.

ESP32-S3-MINI-1

The local, gitignored ESP32-S3-MINI-1.step is Andi's unmodified manufacturer download, retained on 2026-10-25 from Espressif's STEP link. Its header identifies ESP32-S3-MINI-1_V1-20240308.STEP, SolidWorks 2022, 2024-03-08. SHA-256: cb7541280753aeadc86f2a2854bae1f8acb9dcbb3aad32de461bf87704400086. It is approximately 7.7MB; no manufacturer redistribution licence was identified, so the model bytes are kept local rather than added to the repository. The six historical extraction records in SHA256SUMS are unchanged.

The historical MINI checkpoint's U101 model override used ${KICAD_PROJECT_3D_DIR}/ESP32-S3-MINI-1.step, scale 1:1, zero rotation and offset X −7.70, Y −10.25, Z 0mm. The manufacturer's corner origin requires that translation to the stock MINI land-pattern origin. A disposable native KiCad top render checks alignment with the copper/body envelope and the 5.05mm antenna overhang. The library footprint and its copper are unchanged. This is visual alignment evidence, not a mounted fit or RF acceptance result.

Portable website/render model pool — 2026-11-02

Andi authorised copying the STEP models used by the current source boards into this shared directory. The additional files in models.json are byte-for-byte copies of the installed KiCad 10.0.8 library or her global model library, with sizes, SHA-256 hashes and source/provenance notes. Existing original models and the historical SHA256SUMS extraction record are preserved.

The selected stock bodies include the WROOM module, switches, inductor, SOT packages, 0603 resistor and breakout headers. They retain their KiCad library copyright, CC BY-SA 4.0 and electronic-design exception notices. The five C*.step models are from the JLCEDA/EasyEDA Official Library. The pinned model downloads were checked against the user's local bytes. 781710002.step is her supplied Molex model; its exact original download route was not independently recovered. Manufacturer/library rights remain with their owners; copying these assets does not assign them a new licence or qualify fit.

The left-ear connector and headband's user-library model references now use ${KICAD_PROJECT_3D_DIR}/<filename>, including the flattened Molex filename. Matching shared footprint-library model references use the same alias. Their translations, rotations and scales are held. Native saved-board readback verifies unchanged numbered pads/nets, component poses, tracks, outlines and zone geometry; native footprint readback verifies the model transforms, and the model-only library edit preserves the existing non-model bytes and UUIDs. Stock KiCad references can still resolve through the installed library in the GUI; the renderer resolves their exact basenames from this self-contained pool. The global originals remain available to other projects.

The website publishes renders, not these STEP files. Frozen order inputs and previous manufacturing packages are not regenerated by this model-only change. The saved PCB/model-path hashes have changed, so later manufacturing rebuilds will record those new source inputs even though copper geometry is held.

EasyEDA / JLCEDA model attribution

The following models are sourced from the EasyEDA / JLCEDA Official Library. Credit for the supplied model assets belongs to that library and their respective creators and rights holders, not to ESPurr. The files retain their original bytes, including any embedded branding and notices.

Local STEP file Use in ESPurr Original model download
C2912774.step 0603 current-shunt body EasyEDA model
C2971916.step LTR-F216A ambient-light sensor EasyEDA model
C324723.step FPC connector body used for the HRS FH34SRJ connector EasyEDA model
C7471906.step HUSB320 package body EasyEDA model
C963413.step GT-USB-7010 USB-C receptacle body EasyEDA model

models.json records the exact download URLs, file sizes and SHA-256 hashes. These are visualisation assets; a model's catalogue identity does not establish an exact mechanical match to the selected component.

The project retains these models in the repository for board visualisation and reproducible renders. No model-specific redistribution licence has been established as of 2026-11-02. This attribution records provenance; it does not claim permission, relicense the assets or imply endorsement. See EasyEDA's terms, particularly section VII, and its library-sharing statement. Any explicit licence or permission subsequently identified should be recorded here and in the manifest.

For licensing concerns, contact @neggles at the email address listed on their GitHub profile. We will remove the affected models if requested.