

Copper layers
code for industrial automation process
- Size
- 86 × 145 mm
- Copper layers
- 4
- Thickness
- 1.6 mm
- Parts
- 206
- Nets
- 159
- Pads
- 633
- Tracks, vias
- 1,941, 219
- Pours
- 11
- Routed
- Yes
- KiCad
- KiCad 10.0 (file 20260206)
- Created
- 14 May 2026
- Updated
- 10 Sep 2026
Overview
Copper layers is an open-source printed circuit board by JCastel358, from the JCastel358/Eltec406mca repository on GitHub. It is a 4-layer board of 86 × 145 mm with 206 parts on 159 nets, routed with 1,941 tracks and 219 vias.
It is built around the SN74LVC2G125DCTR-JSM, ADG4613BRUZ and AP2112K-3.3TRG1, with the LT1963AEQ#PBF, LT3041ADE#TRPBF and LTV-817S-TA1-B among its other parts. Its parts include 106 resistors, 37 capacitors, 21 ICs, 21 transistors and 6 connectors.
Main components
12SN74LVC2G125DCTR-JSM
TSSOP-8-40℃~+125℃ 1 1.65V~5.5V 2 32mA 32mA 4uA 6.9ns@3.3V,50pF 74LVC Tri-State Unidirectional TSSOP-8 Buffers, Drivers, Receivers, Transceivers ROHSJSMSEMIBuffers, Drivers, Receivers, TransceiversADG4613BRUZ
TSSOP-16-40℃~+85℃ -5.5V~5.5V、3V~12V 100ns 1:1 293MHz 4 5.2Ω 73ns TSSOP-16 Analog Switches, Multiplexers ROHSAnalog DevicesAnalog Switches, MultiplexersAP2112K-3.3TRG1
SOT-25-5-40℃~+85℃@(Ta) 1 250mV@(600mA) 3.3V 50uVrms 55uA 600mA 65dB@(1kHz) 6V Fixed Over Current Protection、Thermal Shutdown、Enable control Positive SOT-25-5 Voltage Regulators - Linear, Low Drop Out (LDO) Regulators ROHSDiodes IncorporatedVoltage Regulators - Linear, Low Drop Out (LDO) RegulatorsLT1963AEQ#PBF
D2PAK-5-40℃~+125℃@(Tj) 1 1.21V~20V 1.5A 1mA 20V 340mV@(1.5A) 40uVrms 63dB@(120Hz) Adjustable Over Current Protection、Over Temperature Protection、Reverse connection protection Positive D2PAK-5 Voltage Regulators - Linear, Low Drop Out (LDO) Regulators ROHSAnalog DevicesVoltage Regulators - Linear, Low Drop Out (LDO) RegulatorsLT3041ADE#TRPBF
DFN-14-EP(3x4)-40℃~+125℃@(Tj) 1.0uVrms 1A 200mV~15V 20V 310mV@(1A) 4.3mA 80dB@(1MHz) Adjustable PG Pin、Over Current Protection、Over Temperature Protection、Enable Positive DFN-14-EP(3x4) Voltage Regulators - Linear, Low Drop Out (LDO) Regulators ROHSAnalog DevicesVoltage Regulators - Linear, Low Drop Out (LDO) RegulatorsLTV-817S-TA1-B
SMD-4P-30℃~+110℃ 1 1.2V 100mV@1mA,20mA 35V 3us 4us@2mA,100Ω 50% 50mA 50mA 5kV 600% 6V DC Phototransistor SMD-4P Transistor, Photovoltaic Output Optoisolators ROHSLite-OnTransistor, Photovoltaic Output OptoisolatorsLTV-847S
SMD-16P-30℃~+110℃ 1.2V 100mV@1mA,20mA 35V 3us 4 4us@2mA,100Ω 50% 50mA 50mA 5kV 600% 6V DC Phototransistor SMD-16P Transistor, Photovoltaic Output Optoisolators ROHSLite-OnTransistor, Photovoltaic Output OptoisolatorsSN74LVC1G14DBVR
SOT-23-5-40℃~+125℃ 1 1 1.65V~5.5V 10uA 24mA 24mA 6ns@4.5V~5.5V,50pF 74LVC SOT-23-5 Inverters ROHSTECH PUBLICLogic GatesTPS3840PL30DBVRQ1
SOT-23-5-40℃~+125℃ 1 1.5V~10V 220us 300nA 3V Active Low Manual reset input Push-pull Voltage monitor SOT-23-5 Supervisor and Reset ICs ROHSTexas InstrumentsSupervisor And Reset ICsRC0805FR-0710KL
UncategorisedUnknown makerRT0805BRD0733KL
0805-55℃~+155℃ 125mW 150V 33kΩ Thin Film Resistor ±0.1% ±25ppm/℃ 0805 Chip Resistor - Surface Mount ROHSYAGEOChip Resistor - Surface MountRT0805BRD07499RL
0805-55℃~+155℃ 125mW 150V 499Ω Thin Film Resistor ±0.1% ±25ppm/℃ 0805 Chip Resistor - Surface Mount ROHSYAGEOChip Resistor - Surface Mount
README
README.mdEltec sensor test rigs
Bench rigs and software that qualify Eltec pyroelectric IR sensors. Two rigs live in this repository, one top-level folder each:
single_detector_rig/— an ESP32 chops an IR emitter and streams a 24-bit ADS1256 ADC to a laptop; one Python desktop application runs the test procedure for the sensor model chosen in a dropdown, judges each part, and writes a CSV row per sensor.array_rig/— fifty detectors at once: a 50-position buffer PCB read by an ACCES USB-AIO16-64MA DAQ; the same selector-plus-model-directory structure, testing offset and noise per tray (sensitivity waits for the emitter board).
Windows 11 and Xubuntu are both supported.
| Sensor model | Procedure | Status (2026-09-02) | Results folder (Documents\…) |
|---|---|---|---|
| 405 M22 (1 Hz) | TP412 — offset, emitter-off noise, sensitivity/polarity | production; sensitivity factor 4.30 from lot 500 | Eltec_405M22_Test_Results\405m22_esp32 |
| 406 MCA (10 Hz) | offset, sensitivity/polarity, v6.1 stability policy | production; factor 1.582 from lot 520 | Eltec_406MCA_Test_Results\v6_1_esp32 |
| 449 M18 (5 + 18 Hz) | TP443 frequency tracking | calibration pending (K_5 / K_18 not derived; needs firmware v3.2, not yet flashed) | Eltec_449M18_Test_Results\449m18_esp32 |
| 40623 array (50 positions, DAQ) | TP120 offset check + noise, fifty at a time | calibration pending (noise limits not derived, offset limits provisional; raw captures saved for the paired lot) | Eltec_40623_Test_Results\40623_array_daq |
I'm a technician — run a batch
- Laptop on AC power, ESP32 USB cable in, both batteries connected, no fans near the fixture.
- Double-click the Eltec Test Rig desktop icon (or
single_detector_rig\run_eltec_rig_tester.cmd/.sh). For a tray of fifty on the array rig use the Eltec Array Rig icon (array_rig\run_eltec_array_tester.cmd/.sh) — runbook §3b. - Pick the sensor model → Start tester → batch number, your name, filter setup → load a part → Enter.
- Read the banner (PASS / PASS · NEAR LIMIT / FAIL) → load the next sensor → Next (Enter). The number only advances when a part passes.
Everything else — verdicts, the Stop / Next buttons, where files go, what to do when something fails — is in docs/TECHNICIAN_RUNBOOK.md.
I'm the engineer taking over
Start with docs/ENGINEER_HANDOVER.md (what you are inheriting, architecture, the copy-per-model rule, firmware lifecycle, open work). Then docs/CALIBRATION_RECORD.md before touching any limit.
Repository map
README.md this file — the index
CHANGELOG.md dated history, newest first (one entry per behavioural change)
CLAUDE.md ground rules for AI-assisted sessions
run_all_tests.py|.cmd|.sh runs every test suite of both rigs, prints a summary
docs/
TECHNICIAN_RUNBOOK.md operator instructions
ENGINEER_HANDOVER.md engineering manual + open work
CALIBRATION_RECORD.md every limit/factor/gate state with provenance ← source of truth for numbers
DATA_MAP.md where results & evidence live (outside the repo) + backup routine
TP120(40623).pdf test procedure of the 40623 (array rig); daq_usb_aio16_64ma/ = DAQ vendor docs
single_detector_rig/ THE single-detector application — selector + one directory per sensor model
eltec_rig_tester.py selector GUI (dropdown → launches the model app)
sensor_versions.py model registry + required firmware
attempt_history.py per-batch attempt log (shared)
v1_single_sensor/ vendored signal-math engine (shared, frozen)
m405m22/ m406mca/ m449m18/ one qualified tester each: GUI, backend, analysis, tests, launchers, README
run_eltec_rig_tester.* launchers; install_*_launcher.* = optional desktop icon
array_rig/ THE array application — selector + one directory per detector model (same pattern)
eltec_array_tester.py selector GUI (model dropdown → launches the model app)
sensor_versions.py model registry + required hardware (DAQ)
tray_history.py per-lot tray event log (shared)
m40623/ the 40623 build: GUI, DAQ backend (ctypes AIOUSB.dll), numpy noise port, probe, bench readout + live viewer, tests, launchers
Arduino/Eltec/ firmware (single rig today; the array rig's emitter board will use it later)
Eltec.ino live sketch (v3.2) README.md = protocol, flashing, troubleshootingRetired applications (LabJack-era v1–v4, ESP32 v5/v6/v6.1, the standalone
405m22 build, the pre-v2.0 unified app) were removed from the tree on
2026-08-28 and are preserved at git tag archive/pre-cleanup-2026-08-28:
git show archive/pre-cleanup-2026-08-28:<path>.
Firmware
The single-detector bench board must run Arduino/Eltec/Eltec.ino v3.2 for all three
models (the array rig has no firmware: its DAQ loads its own from the ACCES driver package) (it currently runs v3.1; the 405 M22 and 406 MCA modes work on
v2.1–v3.2, the 449 M18 mode needs v3.2). Flash and verify with one command:
python Arduino/Eltec/flash_firmware.py # --check to only ask what the board runsFirmware guide: Arduino/Eltec/README.md. Which build belongs on which rig (legacy 406 rigs stay on v1.9): Arduino/Eltec/versions/README.md.
Tests
python run_all_tests.pySix unittest suites (four for the single rig, two for the array rig), 705
tests, no hardware needed. On Windows the 406 MCA suite reports two known
environment-only cases (they pass on Xubuntu) — see the handover doc §7.
Where the data is
Results, attempt logs, waveform snapshots, raw noise captures and calibration
files are written outside this repository under
Documents\Eltec_<model>_Test_Results\. They are the only copy of the evidence
behind the production constants — the backup routine is in
docs/DATA_MAP.md.
Documentation index
| Document | Audience | Contents |
|---|---|---|
| docs/TECHNICIAN_RUNBOOK.md | technician | start, run a batch, read verdicts, troubleshoot |
| docs/ENGINEER_HANDOVER.md | engineer | architecture, policies, procedures, open work, conventions |
| docs/CALIBRATION_RECORD.md | engineer | constants + provenance + gate states per model |
| docs/DATA_MAP.md | engineer | results layout, evidence, backup |
| single_detector_rig/README.md | engineer | the selector app, launchers, v2.0 skip/attempt features |
| m405m22/README.md · m406mca/README.md · m449m18/README.md | engineer | per-model test mechanics |
| array_rig/README.md · m40623/README.md | engineer | the array rig: selector, DAQ chain, the 40623 flow, colours, files, PENDING status, the engineering tools (bench probe, readout, live viewer) |
| docs/TP120(40623).pdf · docs/daq_usb_aio16_64ma/ | engineer | the 40623 test procedure; DAQ datasheet, DAQ-PACK guide, letter of volatility |
| Arduino/Eltec/README.md · versions/README.md | engineer | firmware, protocol, flashing, version archive |
| CHANGELOG.md | both | what changed, when, why |
Dependencies
Python 3 with tkinter, numpy, pyserial, matplotlib (optional, nicer
snapshots). The array rig additionally needs the ACCES USB-AIO16-64MA
Install driver package (provides AIOUSB.dll) and a 64-bit Python; no
extra Python packages. Xubuntu: sudo apt install python3 python3-tk python3-numpy python3-serial python3-matplotlib, user in dialout. Flashing needs the
Arduino IDE 2.x installed (its bundled arduino-cli is used).
Parts
206| Qty | Value | Footprint | References |
|---|---|---|---|
| 14 | 10k | Eltec_Master:R_0805_2012Metric | R50, R52, R53, R55, R61, R62, R63, R64, R65, R66, R67, R68, R69, R70 |
| 12 | 33k 0.1% | Eltec_Master:R_0805_2012Metric | R240, R241, R242, R243, R244, R245, R260, R261, R262, R263, R264, R265 |
| 12 | 499R 0.1% | Eltec_Master:R_0805_2012Metric | R220, R221, R222, R223, R224, R225, R250, R251, R252, R253, R254, R255 |
| 9 | 100nF 50V X7R | Eltec_Master:C_0805_2012Metric | C30, C31, C32, C33, C34, C35, C50, C51, C52 |
| 8 | 100nF 50V X7R | Eltec_Master:C_0603_1608Metric | C16, C19, C21, C25, C26, C27, C28, C29 |
| 7 | 100k 1% | Eltec_Master:R_0603_1608Metric | R14, R15, R27, R28, R29, R34, R35 |
| 6 | 100k 1% | Eltec_Master:R_0805_2012Metric | R200, R201, R202, R203, R204, R205 |
| 6 | 10k 1% | Eltec_Master:R_0805_2012Metric | R210, R211, R212, R213, R214, R215 |
| 6 | 10k 1% | Eltec_Master:R_0603_1608Metric | R13, R18, R21, R23, R33, R38 |
| 6 | 220R 1% | Eltec_Master:R_0805_2012Metric | R230, R231, R232, R233, R234, R235 |
| 6 | 2N7002LT1G | Eltec_Master:SOT-23 | Q12, Q13, Q14, Q15, Q18, Q21 |
| 5 | 33 | Eltec_Master:R_0805_2012Metric | R56, R57, R58, R59, R60 |
| 5 | AO3414 | Eltec_Master:SOT-23 | Q10, Q11, Q23, Q24, Q26 |
| 4 | 1k 1% | Eltec_Master:R_0603_1608Metric | R16, R17, R22, R24 |
| 4 | 22uF 25V X7R +/-10% | Eltec_Master:C_1210_3225Metric | C11, C13, C36, C39 |
| 4 | AO3400A | Eltec_Master:SOT-23 | Q22, Q101, Q102, Q103 |
| 4 | AO3401A | Eltec_Master:SOT-23 | Q16, Q17, Q19, Q20 |
| 3 | 100R 1% 0.125W | Eltec_Master:R_0805_2012Metric | R112, R117, R122 |
| 3 | 100k 1% 0.125W | Eltec_Master:R_0805_2012Metric | R111, R116, R121 |
| 3 | 100nF 5% C0G | Eltec_Master:C_1206_3216Metric | C14, C23, C24 |
| 3 | 100nF 50V 5% C0G | Eltec_Master:C_1206_3216Metric | C15, C37, C38 |
| 3 | 10k 1% 0.125W | Eltec_Master:R_0805_2012Metric | R113, R118, R123 |
| 3 | 240R 1% 0.125W | Eltec_Master:R_0805_2012Metric | R110, R115, R120 |
| 3 | ADG4613BRUZ | Eltec_Master:TSSOP-16_4.4x5mm_P0.65mm | U30, U31, U32 |
| 3 | OPA2325IDR | Eltec_Master:SOIC-8_3.9x4.9mm_P1.27mm | U33, U34, U35 |
| 3 | REFERENCE | Eltec_Master:Detector_Wire_Lands | JDET2, JDET4, JDET6 |
| 3 | SN74LVC2G125DCTR | Eltec_Master:TI_DCT0008A_SSOP8 | U50, U51, U52 |
| 3 | TEST | Eltec_Master:Detector_Wire_Lands | JDET1, JDET3, JDET5 |
| 2 | 100k | Eltec_Master:R_0805_2012Metric | R51, R54 |
| 2 | 100nF 50V X7R 10% | Eltec_Master:C_0805_2012Metric | C101, C103 |
| 2 | 10nF 5% C0G | Eltec_Master:C_0603_1608Metric | C20, C22 |
| 2 | 1N4148W | Eltec_Master:D_SOD-123 | D10, D11 |
| 2 | 22uF 25V 10% TPS | Eltec_Master:CP_EIA-7343-31_Kemet-D | C100, C102 |
| 2 | 4.7k 1% | Eltec_Master:R_0603_1608Metric | R12, R20 |
| 2 | 4.7uF 25V X7R | Eltec_Master:C_0805_2012Metric | C17, C18 |
| 2 | GCT DCJ200-10-A / customer installed | Eltec_Master:BarrelJack_GCT_DCJ200_10_A | J1, J2 |
| 2 | MMBT3904LT1G | Eltec_Master:SOT-23 | Q50, Q51 |
| 1 | 0 | Eltec_Master:R_0603_1608Metric | R19 |
| 1 | 1.00k 0.1% 25ppm/K | Eltec_Master:R_0603_1608Metric | R32 |
| 1 | 1.5A Slo-Blo | Eltec_Master:Fuse_1206_3216Metric | F2 |
| 1 | 1.5k 1% | Eltec_Master:R_0603_1608Metric | R30 |
| 1 | 100 1% | Eltec_Master:R_0603_1608Metric | R26 |
| 1 | 150 1% | Eltec_Master:R_0603_1608Metric | R40 |
| 1 | 1A Slo-Blo | Eltec_Master:Fuse_1206_3216Metric | F1 |
| 1 | 1k 25-turn 0.5W | Eltec_Master:Potentiometer_Bourns_3296W_Vertical | RV100 |
| 1 | 1x15 female socket - row A | Eltec_Master:Socket_Kinghelm_1x15_P2.54_H8.5 | J3 |
| 1 | 1x15 female socket - row B | Eltec_Master:Socket_Kinghelm_1x15_P2.54_H8.5 | J4 |
| 1 | 1x8 female ADC digital socket | Eltec_Master:Socket_Kinghelm_1x08_P2.54_H8.5 | J5 |
| 1 | 210R 1% 0.125W | Eltec_Master:R_0805_2012Metric | R100 |
| 1 | 221 0.1% 25ppm/K | Eltec_Master:R_0603_1608Metric | R31 |
| 1 | 22uF 25V tantalum +/-10% | Eltec_Master:CP_EIA-7343-31_Kemet-D | C10 |
| 1 | 2x8 female ADC analog socket | Eltec_Master:Socket_FG_2x08_P2.54_H8.5 | J6 |
| 1 | 300 0.1% | Eltec_Master:R_0603_1608Metric | R11 |
| 1 | 390 1% | Eltec_Master:R_0603_1608Metric | R25 |
| 1 | 51.1k 0.1% 10ppm/K | Eltec_Master:R_0603_1608Metric | R10 |
| 1 | 698 0.1% 10ppm/K | Eltec_Master:R_0603_1608Metric | R39 |
| 1 | 7R5 1% 0.125W | Eltec_Master:R_0805_2012Metric | R101 |
| 1 | 820uF 6.3V polymer +/-20% | Eltec_Master:CP_Elec_8x11.9 | C12 |
| 1 | AP2112K-3.3TRG1 | Eltec_Master:SOT-23-5 | U11 |
| 1 | BZT52C6V8GW | Eltec_Master:D_SOD-123 | D12 |
| 1 | EMITTER 1 | Eltec_Master:Emitter_Wire_Lands | JEM1 |
| 1 | EMITTER 2 | Eltec_Master:Emitter_Wire_Lands | JEM2 |
| 1 | EMITTER 3 | Eltec_Master:Emitter_Wire_Lands | JEM3 |
| 1 | LM4050AIM3-4.1/NOPB | Eltec_Master:SOT-23 | U17 |
| 1 | LT1963AEQ#PBF | Eltec_Master:TO-263-5_TabPin3 | U100 |
| 1 | LT3041ADE#TRPBF | Eltec_Master:DFN-14-1EP_3x4mm_P0.5mm_EP1.7x3.3mm | U10 |
| 1 | LTV-817S-TA1-B | Eltec_Master:SMDIP-4_W7.62mm | U16 |
| 1 | LTV-847S | Eltec_Master:SMDIP-16_W9.53mm | U101 |
| 1 | SN74LVC1G132DBVR | Eltec_Master:SOT-23-5 | U19 |
| 1 | SN74LVC1G14DBVR | Eltec_Master:SOT-23-5 | U15 |
| 1 | TLV3601DCKR | Eltec_Master:SOT-353_SC-70-5 | U18 |
| 1 | TPS3840PL30DBVR | Eltec_Master:SOT-23-5 | U13 |
| 1 | TPS3840PL34DBVR | Eltec_Master:SOT-23-5 | U14 |
| 1 | TPS3840PL42DBVR | Eltec_Master:SOT-23-5 | U12 |
More from JCastel358/Eltec406mca
2- 4 layers86 × 145 mm

- 2 layers86 × 103 mm

Similar boards
- 4 layers100 × 100 mm

- 2 layers200 × 63 mm

- 2 layers70.5 × 40.1 mm

Kicad flyback
nguyenthanhluan171205-tech/flyback-converter-10w
Design, simulation, PCB layout, and experimental validation of a 10W Flyback converter (80-220VAC to 12VDC, 90% efficiency).
63 parts - 4 layers156 × 100 mm

Crow audio carrier v1
misko/prompt2device
The separate vNext PCB skill and orchestrator package is available alongside the reference workflow below; existing projects keep their accepted toolchain until an explicit migration.
340 parts3MIT - 2 layers38.1 × 38.1 mm

- 2 layers125 × 89.5 mm

- 8 layers227.5 × 104 mm

Com express-7-baseboard
antmicro/com-express-7-baseboard
This project contains open hardware design files for a baseboard supporting COM Express 7 modules. The board breaks-out major communications and peripheral interfaces provided by the standard.
815 parts12Apache-2.0 - 6 layers128.3 × 98.3 mm

Questions
How big is the Copper layers PCB?
It measures 86 × 145 mm and has 4 copper layers, 1.6 mm thick.
What parts does the Copper layers use?
206 parts, built around the SN74LVC2G125DCTR-JSM, ADG4613BRUZ, AP2112K-3.3TRG1 and LT1963AEQ#PBF. The full list of its parts is on this page, with links to each part's symbol and footprint where PCBKit's library has them.
Where can I download the Copper layers KiCad files?
From the JCastel358/Eltec406mca repository on GitHub, at the commit this page was made from: the board is hardware/single_detector_usb_master_r1/exports/board_review/final_candidate/native_copies/copper_layers.kicad_pcb. PCBKit opens the board in the browser, with nothing to install.
Can I use the Copper layers design in my own project?
Its repository states no licence, so its author keeps all rights: ask JCastel358 before reusing the design.