velxio/scripts/component-overrides.json

734 lines
24 KiB
JSON
Raw Normal View History

{
feat: expand SPICE component catalog (fases 9 + 10) Adds 44 SPICE mappers, 58 custom metadata entries, and 12 visual Web Components covering logic gates, transistors, op-amps, regulators, sources, electromechanical parts and integrated-circuit packaging. Fase 9 — component catalog expansion ------------------------------------ - 7 logic gates (AND/OR/NAND/NOR/XOR/XNOR + NOT) as SPICE B-sources - 8 multi-input gates (AND/OR/NAND/NOR with 3 and 4 inputs) - 9 transistors: 5 BJTs (incl. PNP 2N3906/BC557) + 4 MOSFETs (incl. P-channel IRF9540/FQP27P06). NMOS refactored from Level=3 W=0.1 (hangs ngspice) to Level=1 with sane W/L - 5 op-amps: LM358, LM741, TL072, LM324 with per-chip saturation rails + opamp-ideal - 4 linear regulators (7805, 7812, 7905, LM317) with dropout - 3 batteries (9V, AA, coin-cell) with realistic ESR - Signal generator (sine / square / DC) - 2 Schottky diodes (1N5817, 1N5819) + photodiode (lux-driven current source) Fase 10 — electromechanical + ICs --------------------------------- - Relay (SPDT): coil + L + S-switch with native hysteresis + flyback diode, inverted-control trick for the NC contact - Optocouplers 4N25 and PC817 (LED + CCCS with CTR=0.5 / 1.0) - 7 74HC ICs as DIP-14 packages emitting 4 or 6 B-sources per component (first mapper pattern emitting multiple device cards) - 3 flip-flops (D, T, JK) — digital-sim only (edge detection is not representable in ngspice .op) - L293D dual H-bridge motor driver Infrastructure -------------- - scripts/component-overrides.json gains a _customComponents[] array that lets new Velxio-only parts survive metadata regeneration (previously applyOverrides() could only patch wokwi-elements components that had already been scanned) - scripts/generate-component-metadata.ts injects custom entries before the patch loop - New ComponentCategory values: 'logic', 'analog', 'electromech' - frontend/src/components/DynamicComponent.tsx PASSIVE tracing extended from just ['resistor','resistor-us'] to 9 two-terminal passives with per-part pin name maps - New CI workflow test-circuit.yml runs the sandbox on push/PR - frontend-tests.yml regenerates metadata and fails if committed JSON is stale - Documented 2 new ngspice gotchas in circuit-emulation-gotchas.md: unicode in netlist titles silently hangs the parser, and MOSFET Level=3 + W=0.1m causes .op to hang - 164/164 sandbox tests passing in ~9 s (was 88 pre-fase-9) Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-16 06:44:18 +07:00
"$comment": "Custom property overrides applied AFTER auto-generation from wokwi-elements. Add entries here to customize controls, add new properties, or change defaults. These survive metadata regeneration. Use `_customComponents` to inject Velxio-only parts not defined in wokwi-elements.",
"_customComponents": [
{
"id": "logic-gate-and",
"tagName": "wokwi-logic-and",
"name": "AND Gate",
"category": "logic",
"description": "2-input AND logic gate. Output Y = A · B.",
"properties": [],
"defaultValues": {},
"pinCount": 3,
"tags": ["logic", "gate", "and", "digital"]
},
{
"id": "logic-gate-nand",
"tagName": "wokwi-logic-nand",
"name": "NAND Gate",
"category": "logic",
"description": "2-input NAND logic gate. Output Y = NOT(A · B).",
"properties": [],
"defaultValues": {},
"pinCount": 3,
"tags": ["logic", "gate", "nand", "digital"]
},
{
"id": "logic-gate-or",
"tagName": "wokwi-logic-or",
"name": "OR Gate",
"category": "logic",
"description": "2-input OR logic gate. Output Y = A + B.",
"properties": [],
"defaultValues": {},
"pinCount": 3,
"tags": ["logic", "gate", "or", "digital"]
},
{
"id": "logic-gate-nor",
"tagName": "wokwi-logic-nor",
"name": "NOR Gate",
"category": "logic",
"description": "2-input NOR logic gate. Output Y = NOT(A + B).",
"properties": [],
"defaultValues": {},
"pinCount": 3,
"tags": ["logic", "gate", "nor", "digital"]
},
{
"id": "logic-gate-xor",
"tagName": "wokwi-logic-xor",
"name": "XOR Gate",
"category": "logic",
"description": "2-input XOR logic gate. Output Y = A ⊕ B.",
"properties": [],
"defaultValues": {},
"pinCount": 3,
"tags": ["logic", "gate", "xor", "digital"]
},
{
"id": "logic-gate-xnor",
"tagName": "wokwi-logic-xnor",
"name": "XNOR Gate",
"category": "logic",
"description": "2-input XNOR logic gate. Output Y = NOT(A ⊕ B).",
"properties": [],
"defaultValues": {},
"pinCount": 3,
"tags": ["logic", "gate", "xnor", "digital"]
},
{
"id": "logic-gate-not",
"tagName": "wokwi-logic-not",
"name": "NOT Gate (Inverter)",
"category": "logic",
"description": "1-input inverter. Output Y = NOT(A).",
"properties": [],
"defaultValues": {},
"pinCount": 2,
"tags": ["logic", "gate", "not", "inverter", "digital"]
},
{
"id": "bjt-2n2222",
"tagName": "wokwi-bjt-2n2222",
"name": "2N2222 (NPN BJT)",
"category": "analog",
"description": "General-purpose NPN bipolar transistor. The go-to part for low-power switching and small-signal amplification.",
"properties": [],
"defaultValues": {},
"pinCount": 3,
"tags": ["transistor", "bjt", "npn", "2n2222", "analog"]
},
{
"id": "bjt-bc547",
"tagName": "wokwi-bjt-bc547",
"name": "BC547 (NPN BJT)",
"category": "analog",
"description": "Small-signal NPN bipolar transistor, European equivalent of 2N3904. High gain (~400).",
"properties": [],
"defaultValues": {},
"pinCount": 3,
"tags": ["transistor", "bjt", "npn", "bc547", "analog"]
},
{
"id": "bjt-2n3055",
"tagName": "wokwi-bjt-2n3055",
"name": "2N3055 (NPN Power BJT)",
"category": "analog",
"description": "Power NPN bipolar transistor. 15A / 60V / 115W TO-3 package. Classic audio amp output stage.",
"properties": [],
"defaultValues": {},
"pinCount": 3,
"tags": ["transistor", "bjt", "npn", "power", "2n3055", "analog"]
},
{
"id": "bjt-2n3906",
"tagName": "wokwi-bjt-2n3906",
"name": "2N3906 (PNP BJT)",
"category": "analog",
"description": "General-purpose PNP bipolar transistor. Complement of the 2N3904/2N2222.",
"properties": [],
"defaultValues": {},
"pinCount": 3,
"tags": ["transistor", "bjt", "pnp", "2n3906", "analog"]
},
{
"id": "bjt-bc557",
"tagName": "wokwi-bjt-bc557",
"name": "BC557 (PNP BJT)",
"category": "analog",
"description": "Small-signal PNP bipolar transistor. Complement of the BC547.",
"properties": [],
"defaultValues": {},
"pinCount": 3,
"tags": ["transistor", "bjt", "pnp", "bc557", "analog"]
},
{
"id": "mosfet-2n7000",
"tagName": "wokwi-mosfet-2n7000",
"name": "2N7000 (N-MOSFET)",
"category": "analog",
"description": "Logic-level N-channel MOSFET. Vth ≈ 1.6 V, fully enhanced at 3.3 V — perfect for GPIO-driven load switching.",
"properties": [],
"defaultValues": {},
"pinCount": 3,
"tags": ["transistor", "mosfet", "nmos", "n-channel", "logic-level", "2n7000", "analog"]
},
{
"id": "mosfet-irf540",
"tagName": "wokwi-mosfet-irf540",
"name": "IRF540 (N-MOSFET Power)",
"category": "analog",
"description": "Power N-channel MOSFET. Vth ≈ 3 V (needs 10 V for full enhancement), 33 A / 100 V, R_DS(on) ≈ 77 mΩ. Classic motor / solenoid driver.",
"properties": [],
"defaultValues": {},
"pinCount": 3,
"tags": ["transistor", "mosfet", "nmos", "n-channel", "power", "irf540", "analog"]
},
{
"id": "mosfet-irf9540",
"tagName": "wokwi-mosfet-irf9540",
"name": "IRF9540 (P-MOSFET)",
"category": "analog",
"description": "Power P-channel MOSFET. Used for high-side load switching with logic input.",
"properties": [],
"defaultValues": {},
"pinCount": 3,
"tags": ["transistor", "mosfet", "pmos", "p-channel", "irf9540", "analog"]
},
{
"id": "mosfet-fqp27p06",
"tagName": "wokwi-mosfet-fqp27p06",
"name": "FQP27P06 (P-MOSFET)",
"category": "analog",
"description": "Logic-level P-channel MOSFET. Suitable for 3.3V / 5V gate drive.",
"properties": [],
"defaultValues": {},
"pinCount": 3,
"tags": ["transistor", "mosfet", "pmos", "p-channel", "fqp27p06", "logic-level", "analog"]
},
{
"id": "opamp-ideal",
"tagName": "wokwi-opamp-ideal",
"name": "Ideal Op-Amp",
"category": "analog",
"description": "Idealized operational amplifier. Infinite gain, infinite input impedance, no saturation. Use for textbook circuits where real-chip limitations are irrelevant.",
"properties": [],
"defaultValues": {},
"pinCount": 3,
"tags": ["opamp", "amplifier", "ideal", "vcvs", "analog"]
},
{
"id": "opamp-lm358",
"tagName": "wokwi-opamp-lm358",
"name": "LM358 (Dual Op-Amp)",
"category": "analog",
"description": "Dual single-supply op-amp. Output swings close to both rails. Ideal for MCU-powered signal conditioning.",
"properties": [],
"defaultValues": {},
"pinCount": 3,
"tags": ["opamp", "amplifier", "lm358", "single-supply", "analog"]
},
{
"id": "opamp-lm741",
"tagName": "wokwi-opamp-lm741",
"name": "LM741 (Op-Amp)",
"category": "analog",
"description": "Classic general-purpose op-amp. Requires ~1.5V of headroom from each supply rail. Used in didactic circuits.",
"properties": [],
"defaultValues": {},
"pinCount": 3,
"tags": ["opamp", "amplifier", "lm741", "classic", "analog"]
},
{
"id": "opamp-tl072",
"tagName": "wokwi-opamp-tl072",
"name": "TL072 (JFET Op-Amp)",
"category": "analog",
"description": "JFET-input dual op-amp. Very high input impedance, low noise — audio and instrumentation.",
"properties": [],
"defaultValues": {},
"pinCount": 3,
"tags": ["opamp", "amplifier", "tl072", "jfet", "audio", "analog"]
},
{
"id": "opamp-lm324",
"tagName": "wokwi-opamp-lm324",
"name": "LM324 (Quad Op-Amp)",
"category": "analog",
"description": "Quad single-supply op-amp. Same electrical spec as LM358, four channels per package.",
"properties": [],
"defaultValues": {},
"pinCount": 3,
"tags": ["opamp", "amplifier", "lm324", "quad", "single-supply", "analog"]
},
{
"id": "reg-7805",
"tagName": "wokwi-reg-7805",
"name": "7805 (+5V Linear Regulator)",
"category": "analog",
"description": "Fixed +5V linear regulator, 1A, TO-220. Dropout ≈ 2V. Classic MCU power supply.",
"properties": [],
"defaultValues": {},
"pinCount": 3,
"tags": ["regulator", "linear", "78xx", "7805", "+5v", "analog"]
},
{
"id": "reg-7812",
"tagName": "wokwi-reg-7812",
"name": "7812 (+12V Linear Regulator)",
"category": "analog",
"description": "Fixed +12V linear regulator, 1A, TO-220. Dropout ≈ 2V. Motor drivers, fan supplies.",
"properties": [],
"defaultValues": {},
"pinCount": 3,
"tags": ["regulator", "linear", "78xx", "7812", "+12v", "analog"]
},
{
"id": "reg-7905",
"tagName": "wokwi-reg-7905",
"name": "7905 (5V Linear Regulator)",
"category": "analog",
"description": "Fixed 5V linear regulator, 1A, TO-220. Negative-rail complement of the 7805.",
"properties": [],
"defaultValues": {},
"pinCount": 3,
"tags": ["regulator", "linear", "79xx", "7905", "-5v", "negative", "analog"]
},
{
"id": "reg-lm317",
"tagName": "wokwi-reg-lm317",
"name": "LM317 (Adjustable Linear Regulator)",
"category": "analog",
"description": "Adjustable +1.25V to +37V linear regulator. V_out = 1.25·(1 + R2/R1). Versatile workhorse.",
"properties": [],
"defaultValues": {},
"pinCount": 3,
"tags": ["regulator", "linear", "lm317", "adjustable", "analog"]
},
{
"id": "battery-9v",
"tagName": "wokwi-battery-9v",
"name": "9V Battery",
"category": "analog",
"description": "PP3 / 6LR61 9V alkaline battery. Modelled as 9V DC with ~1.5Ω internal resistance.",
"properties": [],
"defaultValues": {},
"pinCount": 2,
"tags": ["battery", "source", "9v", "power", "analog"]
},
{
"id": "battery-aa",
"tagName": "wokwi-battery-aa",
"name": "AA Battery (1.5V)",
"category": "analog",
"description": "AA alkaline cell. 1.5V, low ESR (~0.15Ω). Pair up for 3V/4.5V/6V packs.",
"properties": [],
"defaultValues": {},
"pinCount": 2,
"tags": ["battery", "source", "aa", "1.5v", "analog"]
},
{
"id": "battery-coin-cell",
"tagName": "wokwi-battery-coin-cell",
"name": "Coin Cell (CR2032, 3V)",
"category": "analog",
"description": "Lithium coin cell. 3V, high ESR (~10Ω) — limits peak current.",
"properties": [],
"defaultValues": {},
"pinCount": 2,
"tags": ["battery", "source", "coin", "cr2032", "3v", "analog"]
},
{
"id": "logic-gate-and-3",
"tagName": "wokwi-logic-and-3",
"name": "AND Gate (3-input)",
"category": "logic",
"description": "3-input AND gate. Output Y = A · B · C.",
"properties": [],
"defaultValues": {},
"pinCount": 4,
"tags": ["logic", "gate", "and", "3-input", "digital"]
},
{
"id": "logic-gate-or-3",
"tagName": "wokwi-logic-or-3",
"name": "OR Gate (3-input)",
"category": "logic",
"description": "3-input OR gate. Output Y = A + B + C.",
"properties": [],
"defaultValues": {},
"pinCount": 4,
"tags": ["logic", "gate", "or", "3-input", "digital"]
},
{
"id": "logic-gate-nand-3",
"tagName": "wokwi-logic-nand-3",
"name": "NAND Gate (3-input)",
"category": "logic",
"description": "3-input NAND gate.",
"properties": [],
"defaultValues": {},
"pinCount": 4,
"tags": ["logic", "gate", "nand", "3-input", "digital"]
},
{
"id": "logic-gate-nor-3",
"tagName": "wokwi-logic-nor-3",
"name": "NOR Gate (3-input)",
"category": "logic",
"description": "3-input NOR gate.",
"properties": [],
"defaultValues": {},
"pinCount": 4,
"tags": ["logic", "gate", "nor", "3-input", "digital"]
},
{
"id": "logic-gate-and-4",
"tagName": "wokwi-logic-and-4",
"name": "AND Gate (4-input)",
"category": "logic",
"description": "4-input AND gate.",
"properties": [],
"defaultValues": {},
"pinCount": 5,
"tags": ["logic", "gate", "and", "4-input", "digital"]
},
{
"id": "logic-gate-or-4",
"tagName": "wokwi-logic-or-4",
"name": "OR Gate (4-input)",
"category": "logic",
"description": "4-input OR gate.",
"properties": [],
"defaultValues": {},
"pinCount": 5,
"tags": ["logic", "gate", "or", "4-input", "digital"]
},
{
"id": "logic-gate-nand-4",
"tagName": "wokwi-logic-nand-4",
"name": "NAND Gate (4-input)",
"category": "logic",
"description": "4-input NAND gate.",
"properties": [],
"defaultValues": {},
"pinCount": 5,
"tags": ["logic", "gate", "nand", "4-input", "digital"]
},
{
"id": "logic-gate-nor-4",
"tagName": "wokwi-logic-nor-4",
"name": "NOR Gate (4-input)",
"category": "logic",
"description": "4-input NOR gate.",
"properties": [],
"defaultValues": {},
"pinCount": 5,
"tags": ["logic", "gate", "nor", "4-input", "digital"]
},
{
"id": "diode",
"tagName": "wokwi-diode",
"name": "Diode (generic)",
"category": "analog",
"description": "Generic silicon diode. Vf ≈ 0.7 V. Use for textbook rectification examples.",
"properties": [],
"defaultValues": {},
"pinCount": 2,
"tags": ["diode", "rectifier", "analog"]
},
{
"id": "diode-1n4148",
"tagName": "wokwi-diode-1n4148",
"name": "1N4148 (Small-Signal Diode)",
"category": "analog",
"description": "Small-signal silicon diode. Fast switching, low capacitance. Go-to for logic-level protection.",
"properties": [],
"defaultValues": {},
"pinCount": 2,
"tags": ["diode", "1n4148", "small-signal", "analog"]
},
{
"id": "diode-1n4007",
"tagName": "wokwi-diode-1n4007",
"name": "1N4007 (1 kV Rectifier)",
"category": "analog",
"description": "1 A / 1000 V silicon rectifier diode. Mains bridge rectifiers, back-EMF protection.",
"properties": [],
"defaultValues": {},
"pinCount": 2,
"tags": ["diode", "1n4007", "rectifier", "power", "analog"]
},
{
"id": "zener-1n4733",
"tagName": "wokwi-zener-1n4733",
"name": "1N4733 (5.1 V Zener)",
"category": "analog",
"description": "5.1 V Zener diode, 1 W. Voltage reference / regulator / ESD clamp.",
"properties": [],
"defaultValues": {},
"pinCount": 2,
"tags": ["diode", "zener", "1n4733", "5.1v", "regulator", "analog"]
},
{
"id": "diode-1n5817",
"tagName": "wokwi-diode-1n5817",
"name": "1N5817 (Schottky 20V)",
"category": "analog",
"description": "Schottky diode, 1 A / 20 V. Vf ≈ 0.32 V at 1 A. Used in low-drop rectification and reverse-polarity protection.",
"properties": [],
"defaultValues": {},
"pinCount": 2,
"tags": ["diode", "schottky", "1n5817", "low-drop", "analog"]
},
{
"id": "diode-1n5819",
"tagName": "wokwi-diode-1n5819",
"name": "1N5819 (Schottky 40V)",
"category": "analog",
"description": "Schottky diode, 1 A / 40 V. Higher breakdown than 1N5817, same low Vf.",
"properties": [],
"defaultValues": {},
"pinCount": 2,
"tags": ["diode", "schottky", "1n5819", "low-drop", "analog"]
},
{
"id": "motor-driver-l293d",
"tagName": "wokwi-motor-driver-l293d",
"name": "L293D (Dual H-Bridge Motor Driver)",
"category": "electromech",
"description": "Dual H-bridge motor driver IC. Each channel: EN, IN1, IN2 drive OUT1/OUT2 with the motor supply voltage (VCC2). Rated 600 mA continuous / 1.2 A peak per channel.",
"properties": [],
"defaultValues": {},
"pinCount": 16,
"tags": ["motor", "driver", "l293d", "h-bridge", "dc-motor", "stepper", "electromech"]
},
{
"id": "flip-flop-d",
"tagName": "wokwi-flip-flop-d",
"name": "D Flip-Flop",
"category": "logic",
"description": "Edge-triggered D-type flip-flop. On rising edge of CLK, Q ← D. Digital simulation only (SPICE cannot do edge detection in .op analysis).",
"properties": [],
"defaultValues": {},
"pinCount": 4,
"tags": ["flip-flop", "ff", "d", "register", "sequential", "digital", "logic"]
},
{
"id": "flip-flop-t",
"tagName": "wokwi-flip-flop-t",
"name": "T Flip-Flop",
"category": "logic",
"description": "Toggle flip-flop. On rising CLK, Q ← Q ⊕ T (toggles when T=1). Useful for frequency dividers and counters.",
"properties": [],
"defaultValues": {},
"pinCount": 4,
"tags": ["flip-flop", "ff", "t", "toggle", "sequential", "digital", "logic"]
},
{
"id": "flip-flop-jk",
"tagName": "wokwi-flip-flop-jk",
"name": "JK Flip-Flop",
"category": "logic",
"description": "JK flip-flop. On rising CLK: J=0/K=0 hold, J=1/K=0 set, J=0/K=1 reset, J=1/K=1 toggle.",
"properties": [],
"defaultValues": {},
"pinCount": 5,
"tags": ["flip-flop", "ff", "jk", "sequential", "digital", "logic"]
},
{
"id": "ic-74hc00",
"tagName": "wokwi-ic-74hc00",
"name": "74HC00 (Quad 2-input NAND)",
"category": "logic",
"description": "Four 2-input NAND gates in one 14-pin DIP package. 74HC family (high-speed CMOS).",
"properties": [],
"defaultValues": {},
"pinCount": 14,
"tags": ["ic", "74hc", "74hc00", "nand", "quad", "dip14", "logic"]
},
{
"id": "ic-74hc02",
"tagName": "wokwi-ic-74hc02",
"name": "74HC02 (Quad 2-input NOR)",
"category": "logic",
"description": "Four 2-input NOR gates in one 14-pin DIP package.",
"properties": [],
"defaultValues": {},
"pinCount": 14,
"tags": ["ic", "74hc", "74hc02", "nor", "quad", "dip14", "logic"]
},
{
"id": "ic-74hc04",
"tagName": "wokwi-ic-74hc04",
"name": "74HC04 (Hex Inverter)",
"category": "logic",
"description": "Six NOT gates (inverters) in one 14-pin DIP package.",
"properties": [],
"defaultValues": {},
"pinCount": 14,
"tags": ["ic", "74hc", "74hc04", "inverter", "hex", "dip14", "logic"]
},
{
"id": "ic-74hc08",
"tagName": "wokwi-ic-74hc08",
"name": "74HC08 (Quad 2-input AND)",
"category": "logic",
"description": "Four 2-input AND gates in one 14-pin DIP package.",
"properties": [],
"defaultValues": {},
"pinCount": 14,
"tags": ["ic", "74hc", "74hc08", "and", "quad", "dip14", "logic"]
},
{
"id": "ic-74hc14",
"tagName": "wokwi-ic-74hc14",
"name": "74HC14 (Hex Schmitt Inverter)",
"category": "logic",
"description": "Six Schmitt-trigger inverters in one 14-pin DIP package. Provides input hysteresis — essential for debouncing noisy signals.",
"properties": [],
"defaultValues": {},
"pinCount": 14,
"tags": ["ic", "74hc", "74hc14", "schmitt", "inverter", "hex", "hysteresis", "dip14", "logic"]
},
{
"id": "ic-74hc32",
"tagName": "wokwi-ic-74hc32",
"name": "74HC32 (Quad 2-input OR)",
"category": "logic",
"description": "Four 2-input OR gates in one 14-pin DIP package.",
"properties": [],
"defaultValues": {},
"pinCount": 14,
"tags": ["ic", "74hc", "74hc32", "or", "quad", "dip14", "logic"]
},
{
"id": "ic-74hc86",
"tagName": "wokwi-ic-74hc86",
"name": "74HC86 (Quad 2-input XOR)",
"category": "logic",
"description": "Four 2-input XOR gates in one 14-pin DIP package.",
"properties": [],
"defaultValues": {},
"pinCount": 14,
"tags": ["ic", "74hc", "74hc86", "xor", "quad", "dip14", "logic"]
},
{
"id": "opto-4n25",
"tagName": "wokwi-opto-4n25",
"name": "4N25 (Optocoupler)",
"category": "analog",
"description": "Single-channel optocoupler with IR LED + phototransistor. CTR ≈ 50%. Provides galvanic isolation between two circuits.",
"properties": [],
"defaultValues": {},
"pinCount": 4,
"tags": ["optocoupler", "optoisolator", "4n25", "isolation", "analog"]
},
{
"id": "opto-pc817",
"tagName": "wokwi-opto-pc817",
"name": "PC817 (Optocoupler)",
"category": "analog",
"description": "Single-channel optocoupler. CTR 80600% (typ. 100%). Higher drive than 4N25, commonly used for MCU-to-mains isolation.",
"properties": [],
"defaultValues": {},
"pinCount": 4,
"tags": ["optocoupler", "optoisolator", "pc817", "isolation", "analog"]
},
{
"id": "relay",
"tagName": "wokwi-relay",
"name": "Relay (SPDT)",
"category": "electromech",
"description": "5-pin single-pole double-throw electromechanical relay. Coil drives SPDT contacts with native switch hysteresis. Optional integrated flyback diode.",
"properties": [
{
"name": "coil_voltage",
"type": "number",
"defaultValue": 5,
"control": "select",
"options": ["5", "12", "24"],
"description": "Nominal coil voltage (V)"
},
{
"name": "coil_resistance",
"type": "number",
"defaultValue": 70,
"control": "text",
"description": "Coil resistance (Ω)"
},
{
"name": "include_flyback",
"type": "boolean",
"defaultValue": true,
"control": "boolean",
"description": "Integrated flyback diode across coil"
}
],
"defaultValues": { "coil_voltage": 5, "coil_resistance": 70, "include_flyback": true },
"pinCount": 5,
"tags": ["relay", "electromechanical", "switch", "spdt", "coil", "contact"]
},
{
"id": "photodiode",
"tagName": "wokwi-photodiode",
"name": "Photodiode",
"category": "sensors",
"description": "Light-sensitive diode. Reverse current proportional to illumination. Property: lux (ambient light intensity).",
"properties": [
{
"name": "lux",
"type": "number",
"defaultValue": 500,
"control": "range",
"min": 0,
"max": 100000,
"description": "Illumination in lux"
}
],
"defaultValues": { "lux": 500 },
"pinCount": 2,
"tags": ["photodiode", "sensor", "light", "optical", "analog"]
},
{
"id": "signal-generator",
"tagName": "wokwi-signal-generator",
"name": "Signal Generator",
"category": "analog",
"description": "Benchtop AC/DC signal source. Sine, square, or DC output. Configurable frequency, amplitude, DC offset.",
"properties": [
{
"name": "waveform",
"type": "string",
"defaultValue": "sine",
"control": "select",
"options": ["sine", "square", "dc"]
},
{
"name": "frequency",
"type": "number",
"defaultValue": 1000,
"control": "text",
"description": "Frequency in Hz (ignored for DC)"
},
{
"name": "amplitude",
"type": "number",
"defaultValue": 1,
"control": "text",
"description": "Peak amplitude in V (ignored for DC)"
},
{
"name": "offset",
"type": "number",
"defaultValue": 0,
"control": "text",
"description": "DC offset in V"
}
],
"defaultValues": {
"waveform": "sine",
"frequency": 1000,
"amplitude": 1,
"offset": 0
},
"pinCount": 2,
"tags": ["signal-generator", "source", "ac", "dc", "function-generator", "analog"]
}
],
"led": {
"properties": {
"color": {
"control": "select",
"options": ["red", "green", "blue", "yellow", "orange", "white", "purple"]
}
}
},
"ssd1306": {
"properties": {
"protocol": {
"name": "protocol",
"type": "string",
"defaultValue": "i2c",
"control": "select",
"description": "Communication protocol",
"options": ["i2c", "spi"]
}
},
"defaultValues": {
"protocol": "i2c"
}
}
}