diff --git a/docs/README.skills.md b/docs/README.skills.md
index 18c26caa..24b2c002 100644
--- a/docs/README.skills.md
+++ b/docs/README.skills.md
@@ -26,6 +26,7 @@ Skills differ from other primitives by supporting bundled assets (scripts, code
| [azure-resource-visualizer](../skills/azure-resource-visualizer/SKILL.md) | Analyze Azure resource groups and generate detailed Mermaid architecture diagrams showing the relationships between individual resources. Use this skill when the user asks for a diagram of their Azure resources or help in understanding how the resources relate to each other. | `LICENSE.txt`
`assets/template-architecture.md` |
| [azure-role-selector](../skills/azure-role-selector/SKILL.md) | When user is asking for guidance for which role to assign to an identity given desired permissions, this agent helps them understand the role that will meet the requirements with least privilege access and how to apply that role. | `LICENSE.txt` |
| [github-issues](../skills/github-issues/SKILL.md) | Create, update, and manage GitHub issues using MCP tools. Use this skill when users want to create bug reports, feature requests, or task issues, update existing issues, add labels/assignees/milestones, or manage issue workflows. Triggers on requests like "create an issue", "file a bug", "request a feature", "update issue X", or any GitHub issue management task. | `references/templates.md` |
+| [legacy-circuit-mockups](../skills/legacy-circuit-mockups/SKILL.md) | Generate breadboard circuit mockups and visual diagrams using HTML5 Canvas drawing techniques. Use when asked to create circuit layouts, visualize electronic component placements, draw breadboard diagrams, mockup 6502 builds, generate retro computer schematics, or design vintage electronics projects. Supports 555 timers, W65C02S microprocessors, 28C256 EEPROMs, W65C22 VIA chips, 7400-series logic gates, LEDs, resistors, capacitors, switches, buttons, crystals, and wires. | `references/28256-eeprom.md`
`references/555.md`
`references/6502.md`
`references/6522.md`
`references/6C62256.md`
`references/7400-series.md`
`references/basic-electronic-components.md`
`references/common-breadboard-components.md`
`references/connecting-electronic-components.md`
`references/lcd.md`
`references/minipro.md`
`references/t48eeprom-programmer.md` |
| [microsoft-code-reference](../skills/microsoft-code-reference/SKILL.md) | Look up Microsoft API references, find working code samples, and verify SDK code is correct. Use when working with Azure SDKs, .NET libraries, or Microsoft APIs—to find the right method, check parameters, get working examples, or troubleshoot errors. Catches hallucinated methods, wrong signatures, and deprecated patterns by querying official docs. | None |
| [microsoft-docs](../skills/microsoft-docs/SKILL.md) | Query official Microsoft documentation to understand concepts, find tutorials, and learn how services work. Use for Azure, .NET, Microsoft 365, Windows, Power Platform, and all Microsoft technologies. Get accurate, current information from learn.microsoft.com and other official Microsoft websites—architecture overviews, quickstarts, configuration guides, limits, and best practices. | None |
| [nuget-manager](../skills/nuget-manager/SKILL.md) | Manage NuGet packages in .NET projects/solutions. Use this skill when adding, removing, or updating NuGet package versions. It enforces using `dotnet` CLI for package management and provides strict procedures for direct file edits only when updating versions. | None |
diff --git a/skills/legacy-circuit-mockups/SKILL.md b/skills/legacy-circuit-mockups/SKILL.md
new file mode 100644
index 00000000..975a2b0d
--- /dev/null
+++ b/skills/legacy-circuit-mockups/SKILL.md
@@ -0,0 +1,273 @@
+---
+name: legacy-circuit-mockups
+description: 'Generate breadboard circuit mockups and visual diagrams using HTML5 Canvas drawing techniques. Use when asked to create circuit layouts, visualize electronic component placements, draw breadboard diagrams, mockup 6502 builds, generate retro computer schematics, or design vintage electronics projects. Supports 555 timers, W65C02S microprocessors, 28C256 EEPROMs, W65C22 VIA chips, 7400-series logic gates, LEDs, resistors, capacitors, switches, buttons, crystals, and wires.'
+---
+
+# Legacy Circuit Mockups
+
+A skill for creating breadboard circuit mockups and visual diagrams for retro computing and electronics projects. This skill leverages HTML5 Canvas drawing mechanisms to render interactive circuit layouts featuring vintage components like the 6502 microprocessor, 555 timer ICs, EEPROMs, and 7400-series logic gates.
+
+## When to Use This Skill
+
+- User asks to "create a breadboard layout" or "mockup a circuit"
+- User wants to visualize component placement on a breadboard
+- User needs a visual reference for building a 6502 computer
+- User asks to "draw a circuit" or "diagram electronics"
+- User wants to create educational electronics visuals
+- User mentions Ben Eater tutorials or retro computing projects
+- User asks to mockup 555 timer circuits or LED projects
+- User needs to visualize wire connections between components
+
+## Prerequisites
+
+- Familiarity with the `electronics-breadboard-simulator.html` drawing mechanisms
+- Understanding of component pinouts from bundled reference files
+- Knowledge of breadboard layout conventions (rows, columns, power rails)
+
+## Supported Components
+
+### Microprocessors & Memory
+
+| Component | Pins | Description |
+|-----------|------|-------------|
+| W65C02S | 40-pin DIP | 8-bit microprocessor with 16-bit address bus |
+| 28C256 | 28-pin DIP | 32KB parallel EEPROM |
+| W65C22 | 40-pin DIP | Versatile Interface Adapter (VIA) |
+| 62256 | 28-pin DIP | 32KB static RAM |
+
+### Logic & Timer ICs
+
+| Component | Pins | Description |
+|-----------|------|-------------|
+| NE555 | 8-pin DIP | Timer IC for timing and oscillation |
+| 7400 | 14-pin DIP | Quad 2-input NAND gate |
+| 7402 | 14-pin DIP | Quad 2-input NOR gate |
+| 7404 | 14-pin DIP | Hex inverter (NOT gate) |
+| 7408 | 14-pin DIP | Quad 2-input AND gate |
+| 7432 | 14-pin DIP | Quad 2-input OR gate |
+
+### Passive & Active Components
+
+| Component | Description |
+|-----------|-------------|
+| LED | Light emitting diode (various colors) |
+| Resistor | Current limiting (configurable values) |
+| Capacitor | Filtering and timing (ceramic/electrolytic) |
+| Crystal | Clock oscillator |
+| Switch | Toggle switch (latching) |
+| Button | Momentary push button |
+| Potentiometer | Variable resistor |
+| Photoresistor | Light-dependent resistor |
+
+## Drawing Mechanisms
+
+The breadboard simulator uses HTML5 Canvas with these key drawing functions:
+
+### Grid System
+
+```javascript
+// Standard breadboard grid: 20px spacing
+const gridSize = 20;
+const cellX = Math.floor(x / gridSize) * gridSize;
+const cellY = Math.floor(y / gridSize) * gridSize;
+```
+
+### Component Rendering Pattern
+
+```javascript
+// All components follow this structure:
+{
+ type: 'component-type',
+ x: gridX,
+ y: gridY,
+ width: componentWidth,
+ height: componentHeight,
+ rotation: 0, // 0, 90, 180, 270
+ properties: { /* component-specific data */ }
+}
+```
+
+### Wire Connections
+
+```javascript
+// Wire connection format:
+{
+ start: { x: startX, y: startY },
+ end: { x: endX, y: endY },
+ color: '#ff0000' // Wire color coding
+}
+```
+
+## Step-by-Step Workflows
+
+### Creating a Basic LED Circuit Mockup
+
+1. Define breadboard dimensions and grid
+2. Place power rail connections (+5V and GND)
+3. Add LED component with anode/cathode orientation
+4. Place current-limiting resistor
+5. Draw wire connections between components
+6. Add labels and annotations
+
+### Creating a 555 Timer Circuit
+
+1. Place NE555 IC on breadboard (pins 1-4 left, 5-8 right)
+2. Connect pin 1 (GND) to ground rail
+3. Connect pin 8 (Vcc) to power rail
+4. Add timing resistors and capacitors
+5. Wire trigger and threshold connections
+6. Connect output to LED or other load
+
+### Creating a 6502 Microprocessor Layout
+
+1. Place W65C02S centered on breadboard
+2. Add 28C256 EEPROM for program storage
+3. Place W65C22 VIA for I/O
+4. Add 7400-series logic for address decoding
+5. Wire address bus (A0-A15)
+6. Wire data bus (D0-D7)
+7. Connect control signals (R/W, PHI2, RESB)
+8. Add reset button and clock crystal
+
+## Component Pinout Quick Reference
+
+### 555 Timer (8-pin DIP)
+
+| Pin | Name | Function |
+|:---:|:-----|:---------|
+| 1 | GND | Ground (0V) |
+| 2 | TRIG | Trigger (< 1/3 Vcc starts timing) |
+| 3 | OUT | Output (source/sink 200mA) |
+| 4 | RESET | Active-low reset |
+| 5 | CTRL | Control voltage (bypass with 10nF) |
+| 6 | THR | Threshold (> 2/3 Vcc resets) |
+| 7 | DIS | Discharge (open collector) |
+| 8 | Vcc | Supply (+4.5V to +16V) |
+
+### W65C02S (40-pin DIP) - Key Pins
+
+| Pin | Name | Function |
+|:---:|:-----|:---------|
+| 8 | VDD | Power supply |
+| 21 | VSS | Ground |
+| 37 | PHI2 | System clock input |
+| 40 | RESB | Active-low reset |
+| 34 | RWB | Read/Write signal |
+| 9-25 | A0-A15 | Address bus |
+| 26-33 | D0-D7 | Data bus |
+
+### 28C256 EEPROM (28-pin DIP) - Key Pins
+
+| Pin | Name | Function |
+|:---:|:-----|:---------|
+| 14 | GND | Ground |
+| 28 | VCC | Power supply |
+| 20 | CE | Chip enable (active-low) |
+| 22 | OE | Output enable (active-low) |
+| 27 | WE | Write enable (active-low) |
+| 1-10, 21-26 | A0-A14 | Address inputs |
+| 11-19 | I/O0-I/O7 | Data bus |
+
+## Formulas Reference
+
+### Resistor Calculations
+
+- **Ohm's Law:** V = I × R
+- **LED Current:** R = (Vcc - Vled) / Iled
+- **Power:** P = V × I = I² × R
+
+### 555 Timer Formulas
+
+**Astable Mode:**
+
+- Frequency: f = 1.44 / ((R1 + 2×R2) × C)
+- High time: t₁ = 0.693 × (R1 + R2) × C
+- Low time: t₂ = 0.693 × R2 × C
+- Duty cycle: D = (R1 + R2) / (R1 + 2×R2) × 100%
+
+**Monostable Mode:**
+
+- Pulse width: T = 1.1 × R × C
+
+### Capacitor Calculations
+
+- Capacitive reactance: Xc = 1 / (2πfC)
+- Energy stored: E = ½ × C × V²
+
+## Color Coding Conventions
+
+### Wire Colors
+
+| Color | Purpose |
+|-------|---------|
+| Red | +5V / Power |
+| Black | Ground |
+| Yellow | Clock / Timing |
+| Blue | Address bus |
+| Green | Data bus |
+| Orange | Control signals |
+| White | General purpose |
+
+### LED Colors
+
+| Color | Forward Voltage |
+|-------|-----------------|
+| Red | 1.8V - 2.2V |
+| Green | 2.0V - 2.2V |
+| Yellow | 2.0V - 2.2V |
+| Blue | 3.0V - 3.5V |
+| White | 3.0V - 3.5V |
+
+## Build Examples
+
+### Build 1 — Single LED
+
+**Components:** Red LED, 220Ω resistor, jumper wires, power source
+
+**Steps:**
+
+1. Insert black jumper wire from power GND to row A5
+2. Insert red jumper wire from power +5V to row J5
+3. Place LED with cathode (short leg) in row aligned with GND
+4. Place 220Ω resistor between power and LED anode
+
+### Build 2 — 555 Astable Blinker
+
+**Components:** NE555, LED, resistors (10kΩ, 100kΩ), capacitor (10µF)
+
+**Steps:**
+
+1. Place 555 IC straddling center channel
+2. Connect pin 1 to GND, pin 8 to +5V
+3. Connect pin 4 to pin 8 (disable reset)
+4. Wire 10kΩ between pin 7 and +5V
+5. Wire 100kΩ between pins 6 and 7
+6. Wire 10µF between pin 6 and GND
+7. Connect pin 3 (output) to LED circuit
+
+## Troubleshooting
+
+| Issue | Solution |
+|-------|----------|
+| LED doesn't light | Check polarity (anode to +, cathode to -) |
+| Circuit doesn't power | Verify power rail connections |
+| IC not working | Check VCC and GND pin connections |
+| 555 not oscillating | Verify threshold/trigger capacitor wiring |
+| Microprocessor stuck | Check RESB is HIGH after reset pulse |
+
+## References
+
+Detailed component specifications are available in the bundled reference files:
+
+- [555.md](555.md) - Complete 555 timer IC specification
+- [6502.md](6502.md) - MOS 6502 microprocessor details
+- [6522.md](6522.md) - W65C22 VIA interface adapter
+- [28256-eeprom.md](28256-eeprom.md) - AT28C256 EEPROM specification
+- [6C62256.md](6C62256.md) - 62256 SRAM details
+- [7400-series.md](7400-series.md) - TTL logic gate pinouts
+- [basic-electronic-components.md](basic-electronic-components.md) - Resistors, capacitors, switches
+- [common-breadboard-components.md](common-breadboard-components.md) - Comprehensive component reference
+- [connecting-electronic-components.md](connecting-electronic-components.md) - Step-by-step build guides
+- [lcd.md](lcd.md) - LCD display interfacing
+- [minipro.md](minipro.md) - EEPROM programmer usage
+- [t48eeprom-programmer.md](t48eeprom-programmer.md) - T48 programmer reference
diff --git a/skills/legacy-circuit-mockups/references/28256-eeprom.md b/skills/legacy-circuit-mockups/references/28256-eeprom.md
new file mode 100644
index 00000000..abd76ee9
--- /dev/null
+++ b/skills/legacy-circuit-mockups/references/28256-eeprom.md
@@ -0,0 +1,190 @@
+# AT28C256 256K (32K x 8) Parallel EEPROM Specification
+
+## 1. Overview
+
+The **AT28C256** is a non-volatile, electrically erasable and programmable read-only memory (EEPROM) manufactured by Atmel (now Microchip). It provides **256 Kbits** of storage organized as **32,768 x 8 bits** and is commonly used in 8-bit microprocessor systems such as those based on the **6502**, **Z80**, and similar CPUs.
+
+The device supports byte-level write operations, fast read access, and software-controlled data protection.
+
+---
+
+## 2. General Characteristics
+
+| Feature | Description |
+| -------------- | ------------------------------ |
+| Memory size | 256 Kbits (32 KB) |
+| Organization | 32,768 x 8 bits |
+| Data bus | 8-bit |
+| Address bus | 15-bit (A0-A14) |
+| Technology | EEPROM |
+| Endurance | ≥ 100,000 write cycles |
+| Data retention | ≥ 10 years |
+| Access time | 150-250 ns (variant dependent) |
+| Package types | DIP-28, PLCC-32, TSOP |
+
+---
+
+## 3. Pin Configuration (Logical)
+
+### 3.1 Address Pins (A0-A14)
+
+* Select one of 32,768 memory locations
+
+### 3.2 Data Pins (I/O0-I/O7)
+
+* Bidirectional tri-state data bus
+* Outputs valid during read cycles
+
+### 3.3 Control Pins
+
+| Pin | Description |
+| --- | -------------------------- |
+| CE | Chip Enable (active low) |
+| OE | Output Enable (active low) |
+| WE | Write Enable (active low) |
+| VCC | +5 V power supply |
+| GND | Ground |
+
+---
+
+## 4. Memory Organization
+
+* Linear address space from `$0000` to `$7FFF`
+* Each address corresponds to one 8-bit byte
+
+```text
+Address Range: 0000h - 7FFFh
+Data Width: 8 bits
+```
+
+---
+
+## 5. Read Operation
+
+### 5.1 Read Cycle Conditions
+
+| Signal | State |
+| ------ | ----- |
+| CE | LOW |
+| OE | LOW |
+| WE | HIGH |
+
+* Data appears on I/O pins after access time
+* Output remains valid while CE and OE are asserted
+* Outputs are high-impedance when CE or OE is HIGH
+
+---
+
+## 6. Write Operation
+
+### 6.1 Byte Write Cycle
+
+| Signal | State |
+| ------ | --------- |
+| CE | LOW |
+| OE | HIGH |
+| WE | LOW pulse |
+
+* Address and data must be stable during WE low pulse
+* Internal write cycle time ≈ 10 ms (max)
+* Device automatically handles erase-before-write
+
+---
+
+## 7. Software Data Protection (SDP)
+
+The AT28C256 includes optional **Software Data Protection** to prevent accidental writes.
+
+### 7.1 SDP Enable Sequence
+
+```text
+Write $AA to address $5555
+Write $55 to address $2AAA
+Write $A0 to address $5555
+```
+
+### 7.2 SDP Disable Sequence
+
+```text
+Write $AA to address $5555
+Write $55 to address $2AAA
+Write $80 to address $5555
+Write $AA to address $5555
+Write $55 to address $2AAA
+Write $20 to address $5555
+```
+
+---
+
+## 8. Write Cycle Timing Notes
+
+* Writes are internally timed; no external polling required
+* During write cycle, reads return undefined data
+* Device ignores additional write attempts while busy
+
+---
+
+## 9. Data Polling (Optional)
+
+* I/O7 may be monitored during write
+* When I/O7 matches written data, write is complete
+
+---
+
+## 10. Reset and Power Behavior
+
+* No explicit reset pin
+* Writes inhibited during power-up and power-down
+* Outputs default to high-impedance until CE and OE asserted
+
+---
+
+## 11. Typical System Integration (6502 Example)
+
+```text
+Address Range: $8000 - $FFFF
+A15 used as chip select
+OE R/W?
+WE inverted R/W?
+```
+
+---
+
+## 12. Absolute Maximum Ratings (Summary)
+
+| Parameter | Rating |
+| ------------- | --------------------- |
+| VCC | -0.6 V to +6.25 V |
+| Input voltage | -0.6 V to VCC + 0.6 V |
+| Storage temp | -65 °C to +150 °C |
+
+---
+
+## 13. Variants and Compatible Devices
+
+| Device | Notes |
+| ---------------- | ---------------------------- |
+| AT28C256 | Original Atmel |
+| AT28C256F | Faster access time |
+| SST28SF256 | Flash-compatible alternative |
+| 28C256 (generic) | Common pin-compatible EEPROM |
+
+---
+
+## 14. Common Use Cases
+
+* ROM replacement in retro systems
+* Firmware storage
+* Microcomputer monitors and BASIC ROMs
+* Prototyping and hobbyist computers
+
+---
+
+## 15. References
+
+*
+*
+*
+*
+
+---
diff --git a/skills/legacy-circuit-mockups/references/555.md b/skills/legacy-circuit-mockups/references/555.md
new file mode 100644
index 00000000..74c265ff
--- /dev/null
+++ b/skills/legacy-circuit-mockups/references/555.md
@@ -0,0 +1,861 @@
+# 555
+
+[www.fairchildsemi.com](www.fairchildsemi.com)
+
+The LM555/NE555/SA555 is a highly stable controller capable of producing accurate timing pulses. With a monostable operation, the time delay is controlled by one external resistor and one capacitor. With an astable operation, the frequency and duty cycle are accurately controlled by two external resistors and one capacitor.
+
+## Features
+
+- High Current Drive Capability (200mA)
+- Adjustable Duty Cycle
+- Temperature Stability of 0.005%/°C
+- Timing From μSec to Hours
+- Turn off Time Less Than 2μSec
+
+## Applications
+
+- Precision Timing
+- Pulse Generation
+- Time Delay Generation
+- Sequential Timing
+
+## Internal Block Diagram
+
+```mermaid
+flowchart TB
+ subgraph IC["555 Timer IC"]
+ direction TB
+
+ subgraph DIVIDER["Voltage Divider"]
+ R1["R (5kΩ)"]
+ R2["R (5kΩ)"]
+ R3["R (5kΩ)"]
+ R1 --- R2 --- R3
+ end
+
+ COMP1["Comparator 1
(Threshold)"]
+ COMP2["Comparator 2
(Trigger)"]
+ FF["Flip-Flop
S-R"]
+ OUT_STAGE["Output
Stage"]
+ DISCH_TR["Discharge
Transistor"]
+ VREF["Vref"]
+ end
+
+ PIN8["Pin 8
Vcc"] --> R1
+ R3 --> PIN1["Pin 1
GND"]
+
+ R1 -.->|"2/3 Vcc"| COMP1
+ R2 -.->|"1/3 Vcc"| COMP2
+
+ PIN6["Pin 6
Threshold"] --> COMP1
+ PIN2["Pin 2
Trigger"] --> COMP2
+
+ COMP1 -->|R| FF
+ COMP2 -->|S| FF
+
+ FF --> OUT_STAGE
+ FF --> DISCH_TR
+
+ OUT_STAGE --> PIN3["Pin 3
Output"]
+ DISCH_TR --> PIN7["Pin 7
Discharge"]
+
+ PIN4["Pin 4
Reset"] --> FF
+ PIN5["Pin 5
Control Voltage"] -.-> R2
+
+ style PIN1 fill:#000,color:#fff
+ style PIN2 fill:#f96,color:#000
+ style PIN3 fill:#6f6,color:#000
+ style PIN4 fill:#f66,color:#000
+ style PIN5 fill:#ff6,color:#000
+ style PIN6 fill:#6ff,color:#000
+ style PIN7 fill:#f6f,color:#000
+ style PIN8 fill:#f00,color:#fff
+```
+
+**Pin Configuration:**
+
+| Pin | Name | Function |
+|:---:|:---|:---|
+| 1 | GND | Ground reference |
+| 2 | TRIG | Trigger input (< 1/3 Vcc starts timing) |
+| 3 | OUT | Output (high or low) |
+| 4 | RESET | Active low reset |
+| 5 | CONT | Control voltage (2/3 Vcc reference) |
+| 6 | THRES | Threshold input (> 2/3 Vcc ends timing) |
+| 7 | DISCH | Discharge (open collector) |
+| 8 | Vcc | Supply voltage (+4.5V to +16V) |
+
+## Absolute Maximum Ratings (Ta = 25°C)
+
+| Parameter | Symbol | Value | Unit |
+| :--- | :--- | :--- | :--- |
+| Supply Voltage | Vcc | 16 | V |
+| Lead temperature (soldering 10 sec) | Tled | 300 | °C |
+| Power Dissipation | PD | 600 | mW |
+| Operating Temperature Range
LM555/NE555
SA555 | Topr | - 65 ~ + 150 | °C |
+
+## Electrical Characteristics
+
+(TA = 250C, vcc = 5 15V, unless otherwise specified)
+
+| Parameter | Symbol | Conditions | Min. | Typ. | Max. | Unit |
+| :--- | :--- | :--- | :--- |:--- | :--- | :--- |
+| Supply Voltage | vcc | - | 4.5 | - | 16 | V |
+| Supply Current (Low Stable) (Note 1) | Icc | Vcc = 5V, Rl = ∞
Vcc = 15V, Rl = ∞ | -
- | 3
7.5 | 6
15 | mA
mA |
+| Timing Error (Monostable)
Initial Accuracy (Note2)
Drift with Temperature (Note4)
Drift with Supply Voltage (Note4)
| ACCUR
Δt/ΔT
Δt/ΔVcc | Ra = 1kΩ to100kΩ
C = 0.1μF | - | 1.0
50
0.1 | 3.0
0.5 | %
ppm/°C
%/V |
+| Timing Error (Astable)
Intial Accuracy (Note2)
Drift with Temperature (Note4)
Drift with Supply Voltage (Note4) | ACCUR
Δt/ΔT
Δt/ΔVcc | Ra = 1kΩ to 100kΩ
C = 0.1μF | - | 2.25
150
0.3 | - | %
ppm/°C
%/V |
+| Control Voltage | Vc | Vcc = 15V
Vcc = 5V | 9.0
2.6 | 10.0
3.33 | 11.0
4.0 | V
V |
+| Threshold Voltage | VTH | VCC = 15V
VCC = 5V | -
- | 10.0
3.33 | -
- | V
V |
+| Threshold Current (Note3) | Ith | - | - | 0.1 | 0.25 | μA |
+| Trigger Voltage | VTR | VCC = 5V
VCC = 15V | 1.1
4.5 | 1.67
5 | 2.2
5.6 | V
V |
+| Trigger Current | ITR | VTR = 0V | 0.01 | 2.0 | μA |
+| Reset Voltage | VRST | - | 0.4 | 0.7 | 1.0 | V |
+| Reset Current | IRST | - | 0.1 | 0.4 | mA |
+| Low Output Voltage | VOL | VCC = 15V
ISINK = 10mA
ISINK = 50mA
VCC = 5V
ISINK = 5mA | -
- | 0.06
0.3
0.05 | 0.25
0.75
0.35 | V
V
V |
+| High Output Voltage | VOH | VCC = 15V
ISOURCE = 200mA
ISOURCE = 100mA
VCC = 5V
ISOURCE = 100mA | 12.75
2.75 | 12.5
13.3
3.3 | -
- | V
V
V |
+| Rise Time of Output (Note4) | tR | - | - | 100 | - | ns |
+| Fall Time of Output (Note4) | tF | - | - | 100 | - | ns |
+| Discharge Leakage Current | ILKG | - | - | 20 | 100 | nA |
+
+**Notes:**
+
+1. When the output is high. the supply current is typically 1mA less than at VCC = 5V.
+2. Tested at VCC = 5.0V and VCC = 15V.
+3. This will determine the maximum value of RA + RB for 15V operation, the max- total R = 20MQ. and for 5V operation, the max/
+ - total R 8.7MΩ
+4. These parameters, although guaranteed. are not 100% tested in production.
+
+## Application Information
+
+Table 1 below is the basic operating table of 555 timer:
+
+| Threshold Voltage
(Vth)(PIN 6) | Trigger Voltage
(Vtr)(PIN 2) | Reset(PIN 4) | Output(PIN 3) | Discharging Tr.
(PIN 7) |
+| :--- | :--- | :--- | :--- | :--- |
+| Don't care | Don't care | Low | Low | ON |
+| Vth > 2Vcc / 3 | Vth > 2Vcc / 3 | High | Low | ON |
+| Vcc / 3 < Vth < 2 Vcc / 3 | Vcc / 3 < Vth < 2 Vcc / 3 | High | - | - |
+| Vth < Vcc / 3 | Vth < Vcc / 3 | High | High | OFF |
+
+When the low signal input is applied to the reset terminal, the timer output remains low regardless of the threshold voltage or the trigger voltage. Only when the high signal is applied to the reset terminal, the timer's output changes according to threshold voltage and trigger voltage. When the threshold voltage exceeds 2/3 of the supply voltage while the timer output is high, the timer's internal discharge Tr. turns on, lowering the threshold voltage to below 1/3 of the supply voltage. During this time, the timer output is maintained low. Later, if a low signal is applied to the trigger voltage so that it becomes 1/3 of the supply voltage, the timer's internal discharge Tr. turns off, increasing the threshold voltage and driving the timer output again at high.
+
+### 1. Monostable Operation
+
+#### Figure 1. Monostable Circuit
+
+```mermaid
+flowchart LR
+ subgraph CIRCUIT["Monostable Configuration"]
+ VCC["+Vcc"]
+
+ subgraph TIMER["555 Timer"]
+ P4["4
RESET"]
+ P8["8
Vcc"]
+ P7["7
DISCH"]
+ P2["2
TRIG"]
+ P6["6
THRES"]
+ P3["3
OUT"]
+ P5["5
CONT"]
+ P1["1
GND"]
+ end
+
+ RA["RA"]
+ C1["C1"]
+ C2["C2
0.01μF"]
+ RL["RL"]
+ GND["GND"]
+ end
+
+ VCC --> P4
+ VCC --> P8
+ VCC --> RA
+ RA --> P7
+ P7 --> P6
+ P6 --> C1
+ C1 --> GND
+
+ TRIG_IN["Trigger
Input"] --> P2
+
+ P3 --> RL
+ RL --> OUTPUT["Output"]
+
+ P5 --> C2
+ C2 --> GND
+ P1 --> GND
+
+ style VCC fill:#f00,color:#fff
+ style GND fill:#000,color:#fff
+ style TRIG_IN fill:#f96
+ style OUTPUT fill:#6f6
+```
+
+**Component Values:**
+
+- RA: Timing resistor (1kΩ to 10MΩ typical)
+- C1: Timing capacitor
+- C2: Bypass capacitor (0.01μF recommended)
+- RL: Load resistor
+
+**Time Delay Formula:**
+$$t_d = 1.1 \times R_A \times C_1$$
+
+#### Figure 2. Resistance and Capacitance vs. Time Delay (td)
+
+```mermaid
+%%{init: {'theme': 'base', 'themeVariables': { 'primaryColor': '#fff', 'lineColor': '#333'}}}%%
+xychart-beta
+ title "Time Delay vs Capacitance (Log Scale)"
+ x-axis "Time Delay (seconds)" [0.00001, 0.0001, 0.001, 0.01, 0.1, 1, 10, 100]
+ y-axis "Capacitance (μF)" 0.001 --> 1000
+ line "R=1kΩ" [0.001, 0.01, 0.1, 1, 10, 100, 1000, 10000]
+ line "R=10kΩ" [0.0001, 0.001, 0.01, 0.1, 1, 10, 100, 1000]
+ line "R=100kΩ" [0.00001, 0.0001, 0.001, 0.01, 0.1, 1, 10, 100]
+ line "R=1MΩ" [0.000001, 0.00001, 0.0001, 0.001, 0.01, 0.1, 1, 10]
+```
+
+| RA | C1 | Time Delay (td) |
+|:---|:---|:---|
+| 1 kΩ | 0.1 μF | 110 μs |
+| 10 kΩ | 0.1 μF | 1.1 ms |
+| 100 kΩ | 0.1 μF | 11 ms |
+| 1 MΩ | 1 μF | 1.1 s |
+| 10 MΩ | 10 μF | 110 s |
+
+#### Figure 3. Waveforms of Monostable Operation
+
+```mermaid
+%%{init: {'theme': 'base'}}%%
+gantt
+ title Monostable Waveforms (Normal Operation)
+ dateFormat X
+ axisFormat %s
+
+ section Trigger
+ High (Vcc) :a1, 0, 2
+ Low (RESET"]
+ P8["8
Vcc"]
+ P7["7
DISCH"]
+ P2["2
TRIG"]
+ P6["6
THRES"]
+ P3["3
OUT"]
+ P5["5
CONT"]
+ P1["1
GND"]
+ end
+
+ RA["RA"]
+ RB["RB"]
+ C1["C1"]
+ C2["C2
0.01μF"]
+ GND["GND"]
+ end
+
+ VCC --> P4
+ VCC --> P8
+ VCC --> RA
+ RA --> P7
+ P7 --> RB
+ RB --> P6
+ RB --> P2
+ P6 --> C1
+ C1 --> GND
+
+ P3 --> OUTPUT["Output"]
+
+ P5 --> C2
+ C2 --> GND
+ P1 --> GND
+
+ MOD["Modulation
(optional)"] -.-> P5
+
+ style VCC fill:#f00,color:#fff
+ style GND fill:#000,color:#fff
+ style OUTPUT fill:#6f6
+ style MOD fill:#ff6
+```
+
+**Component Values:**
+
+- RA: Charge resistor (controls HIGH time)
+- RB: Charge/discharge resistor (affects both HIGH and LOW times)
+- C1: Timing capacitor
+- C2: Bypass capacitor (0.01μF recommended)
+
+**Timing Formulas:**
+
+- High time: $t_H = 0.693 \times (R_A + R_B) \times C_1$
+- Low time: $t_L = 0.693 \times R_B \times C_1$
+- Period: $T = t_H + t_L = 0.693 \times (R_A + 2R_B) \times C_1$
+- Frequency: $f = \frac{1.44}{(R_A + 2R_B) \times C_1}$
+- Duty Cycle: $D = \frac{R_A + R_B}{R_A + 2R_B}$
+
+#### Figure 6. Capacitance and Resistance vs. Frequency
+
+```mermaid
+%%{init: {'theme': 'base'}}%%
+xychart-beta
+ title "Free Running Frequency vs Capacitance"
+ x-axis "Frequency (Hz)" [0.1, 1, 10, 100, 1000, 10000, 100000]
+ y-axis "Capacitance (μF)" 0.001 --> 100
+```
+
+| (RA + 2RB) | C1 | Frequency |
+|:---|:---|:---|
+| 1.44 kΩ | 1 μF | 1 kHz |
+| 14.4 kΩ | 1 μF | 100 Hz |
+| 144 kΩ | 1 μF | 10 Hz |
+| 14.4 kΩ | 0.1 μF | 1 kHz |
+| 14.4 kΩ | 0.01 μF | 10 kHz |
+
+#### Figure 7. Waveforms of Astable Operation
+
+```
+ Output ────┐ ┌─────┐ ┌─────┐ ┌────
+ (Pin 3) └─────┘ └─────┘ └─────┘
+ |←tL→|←─tH─→|←tL→|←─tH─→|
+
+ Threshold /\ /\ /\
+ (Pin 6) ─────/ \──────/ \──────/ \──────
+ Vcc/3 2Vcc/3
+
+ ├────── T ──────┤
+ T = tH + tL = 0.693(RA + 2RB)C1
+
+ Charging: C1 charges through RA + RB
+ Discharging: C1 discharges through RB only
+```
+
+**Typical Values:** RA = 1kΩ, RB = 1kΩ, C1 = 1μF, Vcc = 5V
+
+An astable timer operation is achieved by adding resistor RB to Figure 1 and configuring as shown on Figure 5. In the astable operation, the trigger terminal and the threshold terminal are connected so that a self-trigger is formed, operating as a multi vibrator. When the timer output is high, its internal discharging Tr. turns off and the VC1 increases by exponential function with the time constant (RA+RB)*C. When the VC1, or the threshold voltage, reaches 2Vcc/3, the comparator output on the trigger terminal becomes high, resetting the F/F and causing the timer output to become low. This in turn turns on the discharging Tr. and the C1 discharges through the discharging channel formed by RB and the discharging Tr. When the VC1 falls below Vcc/3, the comparator output on the trigger terminal becomes high and the timer output becomes high again. The discharging Tr. turns off and the VC1 rises again. In the above process, the section where the timer output is high is the time it takes for the VC1 to rise from Vcc/3 to 2Vcc/3, and the section where the timer output is low is the time it takes for the VC1 to drop from 2Vcc/3 to Vcc/3. When timer output is high, the equivalent circuit for charging capacitor C1 is as follows:
+
+#### Equation 1: Charging Circuit Equivalent
+
+```mermaid
+flowchart LR
+ VCC["Vcc"] --> RA_RB["RA + RB"]
+ RA_RB --> C1["C1
Vc1(0-)=Vcc/3"]
+ C1 --> GND["GND"]
+```
+
+**Charging Equation:**
+$$C_1 \frac{dV_{C1}}{dt} = \frac{V_{CC} - V_{(0-)}}{R_A + R_B} \quad (1)$$
+
+$$V_{C1}(0^+) = \frac{V_{CC}}{3} \quad (2)$$
+
+$$V_{C1}(t) = V_{CC} \left[ 1 - \frac{2}{3} e^{-\frac{t}{(R_A + R_B)C_1}} \right] \quad (3)$$
+
+Since the duration of the timer output high state (tH) is the amount of time it takes for the VC1(t) to reach 2Vcc/3,
+
+#### Equation 2: High Time Calculation
+
+$$\frac{2}{3}V_{CC} = V_{CC} \left[ 1 - \frac{2}{3} e^{-\frac{t_H}{(R_A + R_B)C_1}} \right] \quad (4)$$
+
+$$t_H = C_1(R_A + R_B) \ln 2 = 0.693(R_A + R_B)C_1 \quad (5)$$
+
+The equivalent circuit for discharging capacitor C1, when timer output is low is, as follows:
+
+#### Equation 3: Discharging Circuit Equivalent
+
+```mermaid
+flowchart LR
+ C1["C1
Vc1(0-)=2Vcc/3"] --> RB["RB"]
+ RB --> RD["RD
(discharge Tr.)"]
+ RD --> GND["GND"]
+```
+
+**Discharging Equation:**
+$$C_1 \frac{dV_{C1}}{dt} + \frac{1}{R_A + R_B} V_{C1} = 0 \quad (6)$$
+
+$$V_{C1}(t) = \frac{2}{3} V_{CC} e^{-\frac{t}{(R_A + R_B)C_1}} \quad (7)$$
+
+Since the duration of the timer output low state (tL) is the amount of time it takes for the VC1(t) to reach Vcc/3,
+
+#### Equation 4: Low Time Calculation
+
+$$\frac{1}{3}V_{CC} = \frac{2}{3}V_{CC} e^{-\frac{t_L}{(R_B + R_D)C_1}} \quad (8)$$
+
+$$t_L = C_1(R_B + R_D) \ln 2 = 0.693(R_A + R_B)C_1 \quad (9)$$
+
+Since RD is normally RB>>RD although related to the size of discharging Tr., tL=0.693RBC1 (10)
+Consequently, if the timer operates in astable, the period is the same with 'T=tH+tL=0.693(RA+RB)C1+0.693RBC1=0.693(RA+2RB)C1' because the period is the sum of the charge time and discharge time. And since frequency is the reciprocal of the period, the following applies.
+
+#### Equation 5: Frequency Formula
+
+$$f = \frac{1}{T} = \frac{1.44}{(R_A + 2R_B)C_1} \quad (11)$$
+
+### 3. Frequency divider
+
+By adjusting the length of the timing cycle, the basic circuit of Figure 1 can be made to operate as a frequency divider. Figure
+8. illustrates a divide-by-three circuit that makes use of the fact that retriggering cannot occur during the timing cycle.
+
+#### Figure 8. Waveforms of Frequency Divider Operation
+
+```
+ Trigger ─┐ ┌─┐ ┌─┐ ┌─┐ ┌─┐ ┌─┐ ┌─┐ ┌─┐ ┌─┐ ┌─┐ ┌─
+ (Input) └─┘ └─┘ └─┘ └─┘ └─┘ └─┘ └─┘ └─┘ └─┘ └─┘
+ 1 2 3 1 2 3 1 2 3
+
+ Output ─┐ ┌──┐ ┌──┐ ┌──────
+ (÷3) └────────┘ └────────┘ └────────┘
+ |← skip →| |← skip →| |← skip →|
+ 2,3 2,3 2,3
+
+ Threshold /‾‾‾‾\ /‾‾‾‾\ /‾‾‾‾\
+ (Vc1) ─────/ \──────/ \──────/
+
+ RA = 9.1kΩ, RB = 1kΩ, C1 = 0.01μF, Vcc = 5V
+
+ ⚙️ Divide-by-N: Set timing so output ignores (N-1) trigger pulses
+```
+
+### 4. Pulse Width Modulation
+
+The timer output waveform may be changed by modulating the control voltage applied to the timer's pin 5 and changing the reference of the timer's internal comparators. Figure 9 illustrates the pulse width modulation circuit. When the continuous trigger pulse train is applied in the monostable mode, the timer output width is modulated according to the signal applied to the control terminal. Sine wave as well as other waveforms may be applied as a signal to the control terminal. Figure 10 shows the example of pulse width modulation waveform.
+
+#### Figure 9. Circuit for Pulse Width Modulation
+
+```mermaid
+flowchart LR
+ subgraph CIRCUIT["PWM Configuration"]
+ VCC["+Vcc"]
+
+ subgraph TIMER["555 Timer"]
+ P4["4
RESET"]
+ P8["8
Vcc"]
+ P7["7
DISCH"]
+ P2["2
TRIG"]
+ P6["6
THRES"]
+ P3["3
OUT"]
+ P5["5
CONT"]
+ P1["1
GND"]
+ end
+
+ RA["RA"]
+ C1["C1"]
+ C2["C2"]
+ GND["GND"]
+ end
+
+ VCC --> P4
+ VCC --> P8
+ VCC --> RA
+ RA --> P7
+ P7 --> P6
+ P6 --> C1
+ C1 --> GND
+
+ TRIG_IN["Trigger
Pulse Train"] --> P2
+ MOD["Modulation
Signal"] --> P5
+ P5 --> C2
+ C2 --> GND
+
+ P3 --> OUTPUT["PWM
Output"]
+ P1 --> GND
+
+ style VCC fill:#f00,color:#fff
+ style GND fill:#000,color:#fff
+ style TRIG_IN fill:#f96
+ style MOD fill:#ff6
+ style OUTPUT fill:#6f6
+```
+
+#### Figure 10. Waveforms of Pulse Width Modulation
+
+```
+ Control ╭──────╮ ╭──────╮ ╭──────╮
+ (Pin 5) │ │ │ │ │ │
+ ───╯ ╰──────╯ ╰──────╯ ╰───
+ |← Modulation Signal (e.g., Sine) →|
+
+ Trigger ─┐ ┌─┐ ┌─┐ ┌─┐ ┌─┐ ┌─┐ ┌─┐ ┌─┐ ┌─┐ ┌─┐
+ └─┘ └─┘ └─┘ └─┘ └─┘ └─┘ └─┘ └─┘ └─┘ └─┘
+
+ Output ─┐ ┌─┐ ┌───┐ ┌─┐ ┌─┐ ┌───┐ ┌─
+ (PWM) └──┘ └───┘ └───┘ └──┘ └───┘ └───┘
+ |←w1→|←w2─→|←w3──→|
+
+ Pulse width varies with control voltage:
+ - Higher control voltage → Longer pulse width
+ - Lower control voltage → Shorter pulse width
+
+ RA = 3.9kΩ, RB = 1kΩ, RL = 1kΩ, C1 = 0.01μF, Vcc = 5V
+```
+
+### 5. Pulse Position Modulation
+
+If the modulating signal is applied to the control terminal while the timer is connected for the astable operation as in Figure 11, the timer becomes a pulse position modulator. In the pulse position modulator, the reference of the timer's internal comparators is modulated which in turn modulates the timer output according to the modulation signal applied to the control terminal. Figure 12 illustrates a sine wave for modulation signal and the resulting output pulse position modulation : however, any wave shape could be used.
+
+#### Figure 11. Circuit for Pulse Position Modulation
+
+```mermaid
+flowchart LR
+ subgraph CIRCUIT["PPM Configuration"]
+ VCC["+Vcc"]
+
+ subgraph TIMER["555 Timer"]
+ P4["4
RESET"]
+ P8["8
Vcc"]
+ P7["7
DISCH"]
+ P2["2
TRIG"]
+ P6["6
THRES"]
+ P3["3
OUT"]
+ P5["5
CONT"]
+ P1["1
GND"]
+ end
+
+ RA["RA"]
+ RB["RB"]
+ C1["C1"]
+ GND["GND"]
+ end
+
+ VCC --> P4
+ VCC --> P8
+ VCC --> RA
+ RA --> P7
+ P7 --> RB
+ RB --> P6
+ RB --> P2
+ P6 --> C1
+ C1 --> GND
+
+ MOD["Modulation
Signal"] --> P5
+
+ P3 --> OUTPUT["PPM
Output"]
+ P1 --> GND
+
+ style VCC fill:#f00,color:#fff
+ style GND fill:#000,color:#fff
+ style MOD fill:#ff6
+ style OUTPUT fill:#6f6
+```
+
+#### Figure 12. Waveforms of Pulse Position Modulation
+
+```
+ Control ╭────────────╮ ╭────────────╮
+ (Pin 5) │ │ │ │
+ ───╯ ╰──────────╯ ╰───
+ Modulation Signal (Sine Wave)
+
+ Threshold /\ /\ /\ /\ /\
+ (Pin 6) ────/ \──/ \────/ \────/ \──/ \────
+
+ Output ─┐ ┌─┐ ┌──┐ ┌────┐ ┌──┐ ┌─┐ ┌─
+ (PPM) └─┘ └──┘ └────┘ └────┘ └──┘ └─┘
+ |←t1→|←t2─→|←─t3──→|←t4─→|←t5→|
+
+ Pulse spacing varies with control voltage:
+ - Higher control voltage → Longer period
+ - Lower control voltage → Shorter period
+
+ RA = 1kΩ, RB = 1kΩ, C1 = 1nF, Vcc = 5V
+```
+
+### 6. Linear Ramp
+
+When the pull-up resistor RA in the monostable circuit shown in Figure 1 is replaced with constant current source, the VC1 increases linearly, generating a linear ramp. Figure 13 shows the linear ramp generating circuit and Figure 14 illustrates the generated linear ramp waveforms.
+
+#### Figure 13. Circuit for Linear Ramp
+
+```mermaid
+flowchart TB
+ subgraph CIRCUIT["Linear Ramp Generator"]
+ VCC["+Vcc"]
+
+ subgraph CURRENT_SOURCE["Constant Current Source"]
+ RE["RE"]
+ Q1["Q1
PNP"]
+ R1["R1"]
+ R2["R2"]
+ end
+
+ subgraph TIMER["555 Timer"]
+ P4["4
RESET"]
+ P8["8
Vcc"]
+ P7["7
DISCH"]
+ P2["2
TRIG"]
+ P6["6
THRES"]
+ P3["3
OUT"]
+ P5["5
CONT"]
+ P1["1
GND"]
+ end
+
+ C1["C1"]
+ C2["C2"]
+ GND["GND"]
+ end
+
+ VCC --> P4
+ VCC --> P8
+ VCC --> RE
+ VCC --> R1
+
+ RE --> Q1
+ R1 --> Q1
+ Q1 --> R2
+ R2 --> GND
+
+ Q1 -->|Ic| P7
+ P7 --> P6
+ P6 --> C1
+ C1 --> GND
+
+ TRIG_IN["Trigger"] --> P2
+
+ P3 --> OUTPUT["Output"]
+ P5 --> C2
+ C2 --> GND
+ P1 --> GND
+
+ style VCC fill:#f00,color:#fff
+ style GND fill:#000,color:#fff
+ style Q1 fill:#fcf,color:#000
+ style OUTPUT fill:#6f6
+```
+
+#### Figure 14. Waveforms of Linear Ramp
+
+```
+ Trigger ─────┐ ┌───────────────────────────
+ (Pin 2) └─────┘
+ ↓ Trigger pulse
+
+ Output ─────────┐ ┌───────────────
+ (Pin 3) └──────────────┘
+ |←──── td ────→|
+
+ Threshold ╱ Linear ramp (not exponential)
+ (Pin 6) ─────╱
+ 0V ↗
+ Vcc/3 2Vcc/3
+
+ Linear ramp: Vc1 = (Ic/C1) × t
+ Slope S = Ic/C1
+
+ R1 = 47kΩ, R2 = 100kΩ, RE = 2.7kΩ, RL = 1kΩ, C1 = 0.01μF, Vcc = 5V
+```
+
+In Figure 13, current source is created by PNP transistor Q1 and resistor R1, R2, and RE.
+
+#### Equation 6: Current Source Calculation
+
+$$I_C = \frac{V_{CC} - V_E}{R_E} \quad (12)$$
+
+Here, VE is:
+
+$$V_E = V_{BE} + \frac{R_2}{R_1 + R_2} V_{CC} \quad (13)$$
+
+For example, if Vcc=15V, RE=20kΩ, R1=5kW, R2=10kΩ, and VBE=0.7V, VE=0.7V+10V=10.7V Ic=(15-10.7)/20k=0.215mA
+
+When the trigger starts in a timer configured as shown in Figure 13, the current flowing through capacitor C1 becomes a constant current generated by PNP transistor and resistors. Hence, the VC is a linear ramp function as shown in Figure 14. The gradient S of the linear ramp function is defined as follows:
+
+#### Equation 7: Ramp Slope
+
+$$S = \frac{V_{P-P}}{T} \quad (14)$$
+
+Here the Vp-p is the peak-to-peak voltage. If the electric charge amount accumulated in the capacitor is divided by the capacitance, the VC comes out as follows:
+
+```
+V = Q/C (15)
+```
+
+The above equation divided on both sides by T gives us
+
+#### Equation 8: Simplified Ramp Slope
+
+$$\frac{V}{T} = \frac{Q/T}{C} \quad (16)$$
+
+and may be simplified into the following equation.
+
+```
+S = I/C (17)
+```
+
+In other words, the gradient of the linear ramp function appearing across the capacitor can be obtained by using the constant current flowing through the capacitor. If the constant current flow through the capacitor is 0.215mA and the capacitance is 0.02μF, the gradient of the ramp function at both ends of the capacitor is S = 0.215m/0.022μ = 9.77V/ms.
+
+# Mechanical Dimensions
+
+## Package
+
+### 8-DIP (Dual In-line Package)
+
+```
+ ┌─────────────────────────────────────┐
+ │ ● │
+ │ #1 #8 │
+ │ ┌──┐ ┌──┐ │
+ │ │ │ │ │ │
+ │ └──┘ └──┘ │
+ │ #2 #7 │
+ │ ┌──┐ 555 TIMER ┌──┐ │
+ │ │ │ │ │ │
+ │ └──┘ └──┘ │
+ │ #3 #6 │
+ │ ┌──┐ ┌──┐ │
+ │ │ │ │ │ │
+ │ └──┘ └──┘ │
+ │ #4 #5 │
+ │ ┌──┐ ┌──┐ │
+ │ │ │ │ │ │
+ │ └──┘ └──┘ │
+ └─────────────────────────────────────┘
+```
+
+**8-DIP Dimensions (in millimeters):**
+
+| Parameter | Min | Nom | Max |
+|:---|:---:|:---:|:---:|
+| Package Length | - | 9.60 | - |
+| Package Width | 6.20 | 6.40 | 6.60 |
+| Package Height | - | 5.08 | - |
+| Lead Pitch | - | 2.54 | - |
+| Lead Width | 0.36 | 0.46 | 0.56 |
+| Lead Thickness | - | 0.33 | - |
+| Lead Length | 2.92 | 3.30 | 3.68 |
+| Standoff | 0.51 | - | - |
+
+```
+ 6.40 ± 0.20
+ ┌────────────────┐
+ │ │
+ ┌────┤ ├────┐
+ │ │ │ │ 9.60
+ │ │ │ │ MAX
+ │ │ │ │
+ └────┤ ├────┘
+ │ │
+ └────────────────┘
+ ↕ 2.54 (pin pitch)
+
+ Side View:
+ ┌────────────────┐
+ 5.08 │ │
+ MAX └──┬──┬──┬──┬──┬─┘
+ │ │ │ │ │ 3.30 ± 0.30
+ │ │ │ │ │ (lead length)
+ ═══╧══╧══╧══╧══╧═══
+ ↕ 0.33 MIN
+```
+
+### 8-SOP (Small Outline Package)
+
+```
+ ┌───────────────────────────────┐
+ │ ● │
+ │ #1 #8 │
+ │ ─┐ ┌─ │
+ │ │ │ │
+ ├───┴───────────────────────┴───┤
+ │ 555 TIMER │
+ ├───┬───────────────────────┬───┤
+ │ │ │ │
+ │ ─┘ └─ │
+ │ #4 #5 │
+ └───────────────────────────────┘
+```
+
+**8-SOP Dimensions (in millimeters):**
+
+| Parameter | Min | Nom | Max |
+|:---|:---:|:---:|:---:|
+| Package Length | 4.72 | 4.92 | 5.12 |
+| Package Width | 5.70 | 6.00 | 6.30 |
+| Package Height | - | 1.55 | 1.75 |
+| Lead Pitch | - | 1.27 | - |
+| Lead Width | 0.31 | 0.41 | 0.51 |
+| Lead Length (toe) | 0.40 | 0.80 | 1.27 |
+| Standoff | 0.05 | 0.15 | 0.25 |
+| Overall Width (with leads) | - | 6.00 | - |
+
+```
+ 6.00 ± 0.30
+ ┌────────────────┐
+ ─┐ │ │ ┌─
+ │ │ │ │ 4.92 ± 0.20
+ ─┘ │ │ └─
+ └────────────────┘
+ ↕ 1.27 (pin pitch)
+
+ Side View:
+ 1.55 ± 0.20
+ ┌────────────────┐
+ MAX │ │
+ └──┬──┬──┬──┬──┬─┘
+ └──┴──┴──┴──┴── 0.10~0.25 standoff
+```
+
+## Pin Assignment Summary
+
+| Pin | Symbol | 8-DIP | 8-SOP | Description |
+|:---:|:---:|:---:|:---:|:---|
+| 1 | GND | ● | ● | Ground (0V) |
+| 2 | TRIG | ● | ● | Trigger input |
+| 3 | OUT | ● | ● | Output |
+| 4 | RESET | ● | ● | Reset (active low) |
+| 5 | CONT | ● | ● | Control voltage |
+| 6 | THRES | ● | ● | Threshold input |
+| 7 | DISCH | ● | ● | Discharge |
+| 8 | Vcc | ● | ● | Supply voltage |
diff --git a/skills/legacy-circuit-mockups/references/6502.md b/skills/legacy-circuit-mockups/references/6502.md
new file mode 100644
index 00000000..4d6aeae5
--- /dev/null
+++ b/skills/legacy-circuit-mockups/references/6502.md
@@ -0,0 +1,221 @@
+# MOS Technology 6502 Microprocessor Specification
+
+## 1. Overview
+
+The **MOS Technology 6502** is an 8-bit microprocessor introduced in 1975. It is notable for its low cost, efficient instruction set, and widespread use in early personal computers and game consoles, including the Apple II, Commodore 64, Atari 2600, NES (Ricoh 2A03 variant), and BBC Micro.
+
+---
+
+## 2. General Characteristics
+
+| Feature | Description |
+| ------------- | ------------------------ |
+| Data width | 8-bit |
+| Address width | 16-bit |
+| Address space | 64 KB (0x0000–0xFFFF) |
+| Registers | A, X, Y, SP, PC, P |
+| Endianness | Little-endian |
+| Clock speed | ~1–3 MHz (original NMOS) |
+| Technology | NMOS |
+
+---
+
+## 3. Programmer-Visible Registers
+
+### 3.1 Accumulator (A)
+
+* 8-bit register
+* Used for arithmetic, logic, and data transfer operations
+
+### 3.2 Index Registers (X, Y)
+
+* 8-bit registers
+* Used for indexing memory, counters, and offsets
+
+### 3.3 Stack Pointer (SP)
+
+* 8-bit register
+* Points to the current stack location
+* Stack resides in page `$0100–$01FF`
+
+### 3.4 Program Counter (PC)
+
+* 16-bit register
+* Holds address of next instruction
+
+### 3.5 Processor Status Register (P)
+
+| Bit | Name | Description |
+| --: | ---- | ----------------------------- |
+| 7 | N | Negative |
+| 6 | V | Overflow |
+| 5 | – | Unused (always set in pushes) |
+| 4 | B | Break |
+| 3 | D | Decimal Mode |
+| 2 | I | Interrupt Disable |
+| 1 | Z | Zero |
+| 0 | C | Carry |
+
+---
+
+## 4. Memory Map Conventions
+
+| Address Range | Usage |
+| ------------- | -------------------- |
+| `$0000–$00FF` | Zero Page |
+| `$0100–$01FF` | Hardware Stack |
+| `$0200–$FFFF` | Program / Data / I/O |
+
+### 4.1 Interrupt Vectors
+
+| Vector | Address | Description |
+| ------- | ------------- | ---------------------- |
+| NMI | `$FFFA–$FFFB` | Non-maskable interrupt |
+| RESET | `$FFFC–$FFFD` | Reset vector |
+| IRQ/BRK | `$FFFE–$FFFF` | Interrupt request |
+
+---
+
+## 5. Addressing Modes
+
+| Mode | Syntax | Description |
+| ---------------- | ------------- | ----------------------- |
+| Implied | `CLC` | Operand implied |
+| Accumulator | `ASL A` | Operates on accumulator |
+| Immediate | `LDA #$10` | Constant value |
+| Zero Page | `LDA $20` | Zero-page address |
+| Zero Page,X | `LDA $20,X` | Zero-page indexed |
+| Zero Page,Y | `LDX $20,Y` | Zero-page indexed |
+| Absolute | `LDA $1234` | Full 16-bit address |
+| Absolute,X | `LDA $1234,X` | Indexed absolute |
+| Absolute,Y | `LDA $1234,Y` | Indexed absolute |
+| Indirect | `JMP ($1234)` | Pointer-based jump |
+| Indexed Indirect | `LDA ($20,X)` | X-indexed pointer |
+| Indirect Indexed | `LDA ($20),Y` | Y-indexed pointer |
+| Relative | `BEQ label` | Branch offset |
+
+---
+
+## 6. Instruction Set Summary
+
+### 6.1 Load / Store
+
+* `LDA`, `LDX`, `LDY`
+* `STA`, `STX`, `STY`
+
+### 6.2 Register Transfers
+
+* `TAX`, `TAY`, `TXA`, `TYA`, `TSX`, `TXS`
+
+### 6.3 Stack Operations
+
+* `PHA`, `PLA`, `PHP`, `PLP`
+
+### 6.4 Arithmetic
+
+* `ADC` – Add with Carry
+* `SBC` – Subtract with Carry
+
+### 6.5 Logical
+
+* `AND`, `ORA`, `EOR`
+
+### 6.6 Shifts and Rotates
+
+* `ASL`, `LSR`, `ROL`, `ROR`
+
+### 6.7 Increment / Decrement
+
+* `INC`, `INX`, `INY`
+* `DEC`, `DEX`, `DEY`
+
+### 6.8 Comparisons
+
+* `CMP`, `CPX`, `CPY`
+
+### 6.9 Branching
+
+* `BEQ`, `BNE`, `BMI`, `BPL`, `BCS`, `BCC`, `BVS`, `BVC`
+
+### 6.10 Jumps & Subroutines
+
+* `JMP`, `JSR`, `RTS`, `RTI`
+
+### 6.11 Status Flag Control
+
+* `CLC`, `SEC`, `CLI`, `SEI`, `CLV`, `CLD`, `SED`
+
+### 6.12 System Control
+
+* `BRK`, `NOP`
+
+---
+
+## 7. Cycle Timing (General)
+
+* Most instructions execute in **2–7 cycles**
+* Additional cycles may be added for:
+
+ * Page boundary crossings
+ * Taken branches
+
+---
+
+## 8. Decimal Mode
+
+When the **D flag** is set:
+
+* `ADC` and `SBC` operate using **BCD arithmetic**
+* Only valid on NMOS 6502 (behavior varies on CMOS derivatives)
+
+---
+
+## 9. Known Hardware Quirks
+
+* `JMP (addr)` indirect bug: page boundary wraparound
+
+ * Example: `JMP ($10FF)` reads from `$10FF` and `$1000`
+* No dedicated multiply or divide instructions
+* Stack is fixed to page `$01xx`
+
+---
+
+## 10. Variants and Derivatives
+
+| Variant | Notes |
+| ------- | ----------------------------------- |
+| 6502 | Original NMOS |
+| 65C02 | CMOS, fixes bugs, adds instructions |
+| 2A03 | NES variant, decimal mode disabled |
+| 6510 | Adds I/O port (Commodore 64) |
+
+---
+
+## 11. Example Code
+
+```asm
+ LDX #$00
+loop: INX
+ TXA
+ STA $0200,X
+ CPX #$10
+ BNE loop
+ BRK
+```
+
+---
+
+## 12. References
+
+*
+*
+*
+* Tutorial excerpts from
+ *
+ *
+ *
+ *
+ *
+ *
+
+---
diff --git a/skills/legacy-circuit-mockups/references/6522.md b/skills/legacy-circuit-mockups/references/6522.md
new file mode 100644
index 00000000..0195324f
--- /dev/null
+++ b/skills/legacy-circuit-mockups/references/6522.md
@@ -0,0 +1,211 @@
+# MOS Technology 6522 Versatile Interface Adapter (VIA)
+
+## 1. Overview
+
+The **MOS Technology 6522 VIA** is a general-purpose I/O controller designed to interface the 6502 family of microprocessors with external peripherals. Introduced in the mid-1970s, it provides parallel I/O ports, timers, shift register support, and interrupt handling. The 6522 is widely used in systems such as the Commodore PET, VIC-20, Apple II, BBC Micro, and many 6502-based embedded designs.
+
+---
+
+## 2. General Characteristics
+
+| Feature | Description |
+| -------------- | -------------------------------- |
+| Data width | 8-bit |
+| Addressing | Memory-mapped I/O |
+| Registers | 16 (4-bit register select) |
+| I/O ports | Two 8-bit ports (Port A, Port B) |
+| Timers | Two 16-bit timers |
+| Shift register | 8-bit serial I/O |
+| Interrupts | Maskable, multiple sources |
+| Clock | System clock (φ2) |
+
+---
+
+## 3. Pin Functions (Logical)
+
+### 3.1 Port A (PA0-PA7)
+
+* 8-bit bidirectional parallel I/O
+* Handshake support via CA1 / CA2
+
+### 3.2 Port B (PB0-PB7)
+
+* 8-bit bidirectional parallel I/O
+* Handshake support via CB1 / CB2
+* PB6 and PB7 may be controlled by Timer 1
+
+### 3.3 Control Pins
+
+| Pin | Description |
+| --------- | ------------------------------------- |
+| CA1 / CB1 | Interrupt-capable control inputs |
+| CA2 / CB2 | Handshake / pulse / interrupt pins |
+| IRQ | Interrupt request output (active low) |
+| RESET | Reset input |
+
+---
+
+## 4. Register Map
+
+Registers are selected using 4 address lines (RS0-RS3). The base address is system-defined.
+
+| Offset | Register | Description |
+| -----: | --------- | ------------------------------------ |
+| $0 | ORB | Output Register B |
+| $1 | ORA / IRB | Output Register A / Input Register B |
+| $2 | DDRB | Data Direction Register B |
+| $3 | DDRA | Data Direction Register A |
+| $4 | T1C-L | Timer 1 Counter Low |
+| $5 | T1C-H | Timer 1 Counter High |
+| $6 | T1L-L | Timer 1 Latch Low |
+| $7 | T1L-H | Timer 1 Latch High |
+| $8 | T2C-L | Timer 2 Counter Low |
+| $9 | T2C-H | Timer 2 Counter High |
+| $A | SR | Shift Register |
+| $B | ACR | Auxiliary Control Register |
+| $C | PCR | Peripheral Control Register |
+| $D | IFR | Interrupt Flag Register |
+| $E | IER | Interrupt Enable Register |
+| $F | ORA / IRA | Output Register A / Input Register A |
+
+---
+
+## 5. Data Direction Registers (DDRA / DDRB)
+
+Each bit controls the direction of its corresponding port pin:
+
+* `0` = Input
+* `1` = Output
+
+```text
+DDRB bit = 1 PBx is output
+DDRB bit = 0 PBx is input
+```
+
+---
+
+## 6. Timers
+
+### 6.1 Timer 1 (T1)
+
+* 16-bit down counter
+* Can operate in one-shot or free-running mode
+* Can toggle PB7 on timeout
+* Generates interrupts
+
+### 6.2 Timer 2 (T2)
+
+* 16-bit down counter
+* Supports pulse counting on PB6
+* One-shot operation only
+
+---
+
+## 7. Shift Register (SR)
+
+* 8-bit shift register
+* Can shift data in or out
+* Clock source selectable via ACR
+* Often used for serial communication or keyboard scanning
+
+---
+
+## 8. Control Registers
+
+### 8.1 Auxiliary Control Register (ACR)
+
+| Bit | Function |
+| --: | ---------------------------------- |
+| 7 | Timer 1 control (PB7 output) |
+| 6 | Timer 1 mode (free-run / one-shot) |
+| 5 | Timer 2 control |
+| 4 | Shift register mode |
+| 3 | Shift register clock source |
+| 2 | Port B latching |
+| 1 | Port A latching |
+| 0 | Unused |
+
+### 8.2 Peripheral Control Register (PCR)
+
+Controls CA1, CA2, CB1, CB2 behavior:
+
+* Input/output mode
+* Active edge selection
+* Pulse or handshake modes
+
+---
+
+## 9. Interrupt System
+
+### 9.1 Interrupt Flag Register (IFR)
+
+| Bit | Source |
+| --: | ---------------------------------- |
+| 7 | IRQ status (any enabled interrupt) |
+| 6 | Timer 1 |
+| 5 | Timer 2 |
+| 4 | CB1 |
+| 3 | CB2 |
+| 2 | Shift Register |
+| 1 | CA1 |
+| 0 | CA2 |
+
+### 9.2 Interrupt Enable Register (IER)
+
+* Bit 7 determines set/clear mode:
+
+ * `1` = set bits
+ * `0` = clear bits
+
+```text
+Write $80 | mask enable interrupts
+Write $00 | mask disable interrupts
+```
+
+---
+
+## 10. Reset Behavior
+
+On RESET:
+
+* All DDR bits cleared (ports default to input)
+* Timers stopped
+* Shift register disabled
+* Interrupts disabled
+
+---
+
+## 11. Timing Notes
+
+* VIA registers are accessed synchronously with φ2
+* Timer counters decrement once per φ2 cycle
+* Some operations have side effects when reading/writing registers
+
+---
+
+## 12. Common Use Cases
+
+* Keyboard and joystick interfaces
+* Parallel printer interfaces
+* Timers and event counting
+* Simple serial communications
+* General-purpose GPIO expansion
+
+---
+
+## 13. Variants and Related Chips
+
+| Chip | Notes |
+| ----- | ----------------------------- |
+| 6522 | Original NMOS VIA |
+| 65C22 | CMOS VIA, faster, lower power |
+| 6520 | Earlier PIA (simpler) |
+
+---
+
+## 14. References
+
+*
+*
+
+---
diff --git a/skills/legacy-circuit-mockups/references/6C62256.md b/skills/legacy-circuit-mockups/references/6C62256.md
new file mode 100644
index 00000000..584ceb2d
--- /dev/null
+++ b/skills/legacy-circuit-mockups/references/6C62256.md
@@ -0,0 +1,177 @@
+# AS6C62256 32K x 8 Low-Power CMOS SRAM Specification
+
+## 1. Overview
+
+The **AS6C62256** is a **256 Kbit (32K x 8)** low-power CMOS static random-access memory (SRAM) manufactured by Alliance Memory (and second-sourced by others). It is fully compatible with common 28-pin SRAM pinouts and is widely used in **6502**, **Z80**, and other 8-bit microprocessor systems for read/write memory.
+
+The device offers fast access times, simple control logic, and very low standby power consumption.
+
+---
+
+## 2. General Characteristics
+
+| Feature | Description |
+| ----------------- | --------------------------------- |
+| Memory size | 256 Kbits (32 KB) |
+| Organization | 32,768 x 8 bits |
+| Data bus | 8-bit |
+| Address bus | 15-bit (A0-A14) |
+| Technology | CMOS SRAM |
+| Access time | 55 ns / 70 ns (variant dependent) |
+| Operating voltage | 5 V ± 10% |
+| Standby current | < 1 µA (typical) |
+| Package types | DIP-28, SOJ-28, TSOP-28 |
+
+---
+
+## 3. Pin Configuration (Logical)
+
+### 3.1 Address Pins (A0-A14)
+
+* Select one of 32,768 memory locations
+* Address must be stable during read or write cycle
+
+### 3.2 Data Pins (I/O0-I/O7)
+
+* Bidirectional tri-state data bus
+* High-impedance when not enabled
+
+### 3.3 Control Pins
+
+| Pin | Description |
+| --- | -------------------------- |
+| CE? | Chip Enable (active low) |
+| OE? | Output Enable (active low) |
+| WE? | Write Enable (active low) |
+| VCC | +5 V power supply |
+| GND | Ground |
+
+---
+
+## 4. Memory Organization
+
+* Linear address space from `$0000` to `$7FFF`
+* Each address corresponds to one byte (8 bits)
+
+```text
+Address range: 0000h - 7FFFh
+Data width: 8 bits
+```
+
+---
+
+## 5. Read Operation
+
+### 5.1 Read Cycle Conditions
+
+| Signal | State |
+| ------ | ----- |
+| CE? | LOW |
+| OE? | LOW |
+| WE? | HIGH |
+
+* Data becomes valid after access time (tAA)
+* Outputs remain valid while CE? and OE? are LOW
+* Outputs are high-impedance when CE? or OE? is HIGH
+
+---
+
+## 6. Write Operation
+
+### 6.1 Write Cycle Conditions
+
+| Signal | State |
+| ------ | ----------- |
+| CE? | LOW |
+| OE? | HIGH or LOW |
+| WE? | LOW pulse |
+
+* Data is written on the rising edge of WE? or CE?
+* Address and data must be stable during write window
+* No internal write delay (true SRAM behavior)
+
+---
+
+## 7. Timing Notes (Summary)
+
+| Parameter | Typical |
+| -------------------- | -------- |
+| Address access (tAA) | 55-70 ns |
+| CE? access (tACE) | 55-70 ns |
+| OE? access (tOE) | 25-35 ns |
+| Write cycle time | ≥ 55 ns |
+
+---
+
+## 8. Power Modes
+
+### 8.1 Active Mode
+
+* CE? = LOW
+* Normal read/write operation
+
+### 8.2 Standby Mode
+
+* CE? = HIGH
+* Data retained
+* Very low power consumption
+
+---
+
+## 9. Reset and Power-Up Behavior
+
+* No reset pin required
+* Data is undefined at power-up
+* Memory contents preserved only while VCC is present
+
+---
+
+## 10. Typical System Integration (6502 Example)
+
+```text
+Mapped at: $0000 - $7FFF
+CE? decoded address
+OE? R/W?
+WE? inverted R/W?
+```
+
+---
+
+## 11. Absolute Maximum Ratings (Summary)
+
+| Parameter | Rating |
+| ------------- | --------------------- |
+| VCC | -0.5 V to +6.5 V |
+| Input voltage | -0.5 V to VCC + 0.5 V |
+| Storage temp | -65 °C to +150 °C |
+
+---
+
+## 12. Compatible and Equivalent Devices
+
+| Device | Notes |
+| --------- | --------------- |
+| AS6C62256 | Alliance Memory |
+| CY62256 | Cypress |
+| HM62256 | Hitachi |
+| KM62256 | Samsung |
+| IS62C256 | ISSI |
+
+---
+
+## 13. Common Use Cases
+
+* Main RAM for 6502 / Z80 systems
+* Video buffers and frame memory
+* Embedded systems requiring fast R/W memory
+* Retrocomputer SBC designs
+
+---
+
+## 14. References
+
+*
+*
+*
+
+---
diff --git a/skills/legacy-circuit-mockups/references/7400-series.md b/skills/legacy-circuit-mockups/references/7400-series.md
new file mode 100644
index 00000000..eb89e82a
--- /dev/null
+++ b/skills/legacy-circuit-mockups/references/7400-series.md
@@ -0,0 +1,177 @@
+# 7400-Series Logic ICs Specification
+
+## 1. Overview
+
+The **7400-series** is a large family of **digital logic integrated circuits** originally implemented in **TTL (Transistor-Transistor Logic)** and later expanded to include **CMOS-compatible variants**. These devices provide fundamental building blocks such as gates, flip-flops, counters, multiplexers, decoders, and bus transceivers.
+
+7400-series ICs are widely used in **retrocomputing**, **6502/Z80 systems**, **glue logic**, and educational designs.
+
+---
+
+## 2. Logic Families
+
+| Family | Technology | Notes |
+| ------- | ----------------------- | ----------------------- |
+| 74xx | TTL | Original bipolar TTL |
+| 74LSxx | Low-power Schottky TTL | Faster, lower power |
+| 74HCTxx | CMOS (TTL-level inputs) | Ideal for mixed systems |
+| 74HCxx | CMOS | Wide voltage range |
+| 74ACTxx | Advanced CMOS TTL-level | Very fast |
+
+---
+
+## 3. Electrical Characteristics (Typical)
+
+| Parameter | TTL | CMOS |
+| ----------------- | ------- | ------------------- |
+| VCC | 5 V | 2-6 V (5 V typical) |
+| Input HIGH | ° 2.0 V | ° 0.7xVCC |
+| Input LOW | ° 0.8 V | ° 0.3xVCC |
+| Fan-out | ~10 | Very high |
+| Power consumption | Higher | Lower |
+
+---
+
+## 4. Standard Package Types
+
+| Package | Pins | Notes |
+| ------- | ---------- | ------------------- |
+| DIP | 14, 16, 20 | Breadboard-friendly |
+| SOIC | 14, 16, 20 | Surface-mount |
+| TSSOP | 14, 16 | Compact SMT |
+
+---
+
+## 5. Common Logic Categories
+
+### 5.1 Basic Logic Gates
+
+| IC | Function |
+| ---- | ----------------- |
+| 7400 | Quad 2-input NAND |
+| 7402 | Quad 2-input NOR |
+| 7404 | Hex inverter |
+| 7408 | Quad 2-input AND |
+| 7432 | Quad 2-input OR |
+| 7486 | Quad 2-input XOR |
+
+---
+
+### 5.2 Latches and Flip-Flops
+
+| IC | Function |
+| ----- | --------------------- |
+| 7474 | Dual D-type flip-flop |
+| 7473 | Dual JK flip-flop |
+| 7475 | Quad latch |
+| 74175 | Quad D-type FF |
+
+---
+
+### 5.3 Counters and Registers
+
+| IC | Function |
+| ----- | ------------------------------------- |
+| 74161 | Synchronous 4-bit counter |
+| 74163 | Synchronous binary counter |
+| 74193 | Up/down counter |
+| 74164 | Serial-in/parallel-out shift register |
+| 74165 | Parallel-in/serial-out shift register |
+
+---
+
+### 5.4 Decoders and Multiplexers
+
+| IC | Function |
+| ----- | ----------------------- |
+| 74138 | 3-to-8 decoder |
+| 74139 | Dual 2-to-4 decoder |
+| 74151 | 8-to-1 multiplexer |
+| 74157 | Quad 2-to-1 multiplexer |
+
+---
+
+### 5.5 Bus Interface and Glue Logic
+
+| IC | Function |
+| ----- | ----------------------------------- |
+| 74244 | Octal buffer / line driver |
+| 74245 | Octal bidirectional bus transceiver |
+| 74373 | Octal transparent latch |
+| 74574 | Octal D-type FF |
+
+---
+
+## 6. Pin Numbering Convention
+
+* DIP packages use **counter-clockwise numbering**
+* Pin 1 identified by notch or dot
+
+```text
+ ________
+ 1 °| |° 14
+ 2 °| |° 13
+ 3 °| |° 12
+ 4 °| |° 11
+ 5 °| |° 10
+ 6 °| |° 9
+ 7 °|________|° 8
+```
+
+---
+
+## 7. Power and Ground Pins
+
+| Package | VCC | GND |
+| ------- | --- | --- |
+| DIP-14 | 14 | 7 |
+| DIP-16 | 16 | 8 |
+| DIP-20 | 20 | 10 |
+
+---
+
+## 8. Timing Characteristics (General)
+
+| Parameter | TTL | CMOS |
+| ----------------- | ------- | -------- |
+| Propagation delay | 5-15 ns | 8-25 ns |
+| Max frequency | ~25 MHz | ~50+ MHz |
+
+---
+
+## 9. Interfacing Notes
+
+* TTL outputs reliably drive TTL inputs
+* CMOS inputs must not float
+* Use **74HCT** when interfacing CMOS with TTL signals
+* Decoupling capacitors (0.1 °F) required per IC
+
+---
+
+## 10. Typical Retrocomputer Applications
+
+* Address decoding
+* Chip-select generation
+* Bus buffering
+* Clock gating and control
+* State machines
+
+---
+
+## 11. Absolute Maximum Ratings (Summary)
+
+| Parameter | Rating |
+| ------------------- | --------------------- |
+| VCC | -0.5 V to +7.0 V |
+| Input voltage | -0.5 V to VCC + 0.5 V |
+| Storage temperature | -65 °C to +150 °C |
+
+---
+
+## 12. References
+
+*
+*
+*
+
+---
diff --git a/skills/legacy-circuit-mockups/references/basic-electronic-components.md b/skills/legacy-circuit-mockups/references/basic-electronic-components.md
new file mode 100644
index 00000000..046d73af
--- /dev/null
+++ b/skills/legacy-circuit-mockups/references/basic-electronic-components.md
@@ -0,0 +1,86 @@
+# Basic Electronic Components
+
+This document covers four fundamental electronic components: Resistors, Capacitors, Buttons, and Switches, including common values, formulas, and types.
+
+---
+
+## 1. Resistors (R)
+
+Resistors limit the flow of electrical current and dissipate energy as heat.
+
+### Common Formulas
+
+* **Ohm's Law:** $V = I \times R$ (Voltage = Current $\times$ Resistance)
+* **Series Resistance:** $R_{total} = R_1 + R_2 + ... + R_n$
+* **Parallel Resistance:** $\frac{1}{R_{total}} = \frac{1}{R_1} + \frac{1}{R_2} + ... + \frac{1}{R_n}$
+
+### Common Values (E12/E24 Series - 5% Tolerance)
+
+Values are multiplied by powers of 10 (e.g., 10$\Omega$, 100$\Omega$, 1k$\Omega$, 10k$\Omega$, 100k$\Omega$, 1M$\Omega$):
+**1.0, 1.1, 1.2, 1.3, 1.5, 1.6, 1.8, 2.0, 2.2, 2.4, 2.7, 3.0, 3.3, 3.6, 3.9, 4.3, 4.7, 5.1, 5.6, 6.2, 6.8, 7.5, 8.2, 9.1**
+
+---
+
+## 2. Capacitors (C)
+
+Capacitors store electrical charge in an electric field.
+
+### Common Formulas
+
+* **Capacitance:** $C = \frac{Q}{V}$ (Charge / Voltage)
+* **Current:** $i = C \frac{dV}{dt}$
+* **Parallel Capacitance:** $C_{total} = C_1 + C_2 + ... + C_n$
+* **Series Capacitance:** $\frac{1}{C_{total}} = \frac{1}{C_1} + \frac{1}{C_2} + ... + \frac{1}{C_n}$
+* **Energy Stored:** $W = \frac{1}{2} C V^2$
+
+### Common Values
+
+* **Ceramic (picoFarads/nanoFarads):** 10pF, 22pF, 100pF, 1nF, 10nF, 100nF (often labeled "104")
+* **Electrolytic (microFarads):** 1µF, 10µF, 22µF, 47µF, 100µF, 220µF, 470µF, 1000µF
+
+---
+
+## 3. Buttons (Push Button)
+
+A momentary switch that completes a circuit only when pressed.
+
+### Common Types
+
+* **Normally Open (NO):** Circuit is open (off) until pushed.
+* **Normally Closed (NC):** Circuit is closed (on) until pushed.
+* **Tactile Switch:** Small, standard button for PCB mounting.
+
+---
+
+## 4. Switches (SW)
+
+An electromechanical device that breaks or connects a circuit, staying in position until flipped.
+
+### Common Types
+
+* **SPST:** Single Pole, Single Throw (On/Off)
+* **SPDT:** Single Pole, Double Throw (Toggle between two paths)
+* **DPST/DPDT:** Double Pole variants (controls two independent circuits simultaneously)
+* **DIP Switch:** Small array of switches for circuit boards.
+
+---
+
+## Quick Reference Summary Table
+
+| Component | Symbol (Ref) | Key Formula | Common Use |
+| :--- | :--- | :--- | :--- |
+| **Resistor** | Zigzag / Box | $V=IR$ | Current limiting, voltage divider |
+| **Capacitor**| Two Parallel Lines| $i=C \frac{dV}{dt}$ | Filtering, timing, coupling |
+| **Button** | Momentary | N/A | User input (momentary) |
+| **Switch** | Toggle/Lever | N/A | Power control, signal routing |
+
+---
+
+## Common Suffixes
+
+* **k** = kilo ($10^3$)
+* **M** = Mega ($10^6$)
+* **m** = milli ($10^{-3}$)
+* **µ** = micro ($10^{-6}$)
+* **n** = nano ($10^{-9}$)
+* **p** = pico ($10^{-12}$)
diff --git a/skills/legacy-circuit-mockups/references/common-breadboard-components.md b/skills/legacy-circuit-mockups/references/common-breadboard-components.md
new file mode 100644
index 00000000..6c2a3fa2
--- /dev/null
+++ b/skills/legacy-circuit-mockups/references/common-breadboard-components.md
@@ -0,0 +1,281 @@
+# Common Breadboard Electronic Components
+
+A practical reference for **breadboard-based electronics**, covering common components, formulas, tables, pinouts, and learning references. Suitable for beginners through intermediate hardware builders.
+
+---
+
+## 1. Resistors
+
+### Description
+
+Resistors limit current, divide voltage, and set bias points.
+
+### Common Types
+
+| Type | Notes | Typical Use |
+| ------------- | ----------- | ------------------ |
+| Carbon Film | Cheap, ±5% | General purpose |
+| Metal Film | Stable, ±1% | Precision circuits |
+| Wirewound | High power | Power dissipation |
+| Potentiometer | Adjustable | Volume, tuning |
+
+### Standard Values (E12 Series)
+
+`10, 12, 15, 18, 22, 27, 33, 39, 47, 56, 68, 82 x 10^n`
+
+### Color Code
+
+| Band | Meaning |
+| ---- | ------------ |
+| 1 | First digit |
+| 2 | Second digit |
+| 3 | Multiplier |
+| 4 | Tolerance |
+
+### Power Ratings
+
+| Rating | Typical Size |
+| ------ | ------------------- |
+| 1/8 W | Small |
+| 1/4 W | Breadboard standard |
+| 1/2 W | Large |
+
+### Formulas
+
+* **Ohm's Law:** `V = I x R`
+* **Power:** `P = V × I = I² × R = V² / R`
+
+### Reference
+
+* [https://en.wikipedia.org/wiki/Resistor](https://en.wikipedia.org/wiki/Resistor)
+
+---
+
+## 2. Capacitors
+
+### Description
+
+Capacitors store electrical energy and block DC while passing AC.
+
+### Common Types
+
+| Type | Polarized | Typical Use |
+| ------------ | --------- | ------------------ |
+| Ceramic | No | Decoupling, bypass |
+| Electrolytic | Yes | Bulk filtering |
+| Tantalum | Yes | Compact filtering |
+| Film | No | Signal coupling |
+
+### Common Values
+
+| Range | Example |
+| ----- | ---------------- |
+| pF | 10pF, 100pF |
+| nF | 100nF (0.1µF) |
+| µF | 1µF, 10µF, 100µF |
+
+### Voltage Rating Rule
+
+> Capacitor voltage rating ≥ **2x circuit voltage**
+
+### Formulas
+
+* **Capacitive Reactance:** `Xc = 1 / (2πfC)`
+* **Energy Stored:** `E = ½ C V²`
+
+### Reference
+
+* [https://en.wikipedia.org/wiki/Capacitor](https://en.wikipedia.org/wiki/Capacitor)
+
+---
+
+## 3. Inductors
+
+### Description
+
+Inductors store energy in a magnetic field and resist changes in current.
+
+### Common Types
+
+| Type | Use |
+| ------------ | ----------------- |
+| Air-core | RF circuits |
+| Ferrite-core | Power filtering |
+| Choke | Noise suppression |
+
+### Formula
+
+* **Inductive Reactance:** `XL = 2πfL`
+
+### Reference
+
+* [https://en.wikipedia.org/wiki/Inductor](https://en.wikipedia.org/wiki/Inductor)
+
+---
+
+## 4. Diodes
+
+### Description
+
+Diodes allow current flow in one direction only.
+
+### Common Types
+
+| Type | Typical Part | Use |
+| --------- | ------------ | --------------------- |
+| Rectifier | 1N4007 | Power |
+| Signal | 1N4148 | Logic, fast switching |
+| Zener | 1N4733A | Voltage regulation |
+| Schottky | 1N5819 | Low drop |
+
+### Key Parameters
+
+| Parameter | Typical |
+| --------------- | -------------------------- |
+| Forward Voltage | 0.7V (Si), 0.3V (Schottky) |
+| Reverse Voltage | Device-specific |
+
+### Reference
+
+* [https://en.wikipedia.org/wiki/Diode](https://en.wikipedia.org/wiki/Diode)
+
+---
+
+## 5. LEDs (Light Emitting Diodes)
+
+### Description
+
+LEDs emit light when forward biased.
+
+### Typical Forward Voltage
+
+| Color | Vf |
+| ----- | -------- |
+| Red | 1.8-2.2V |
+| Green | 2.0-3.0V |
+| Blue | 3.0-3.3V |
+
+### Current Limiting Resistor
+
+`R = (V_supply - V_LED) / I_LED`
+
+### Reference
+
+* [https://en.wikipedia.org/wiki/Light-emitting_diode](https://en.wikipedia.org/wiki/Light-emitting_diode)
+
+---
+
+## 6. Transistors
+
+### BJT (Bipolar Junction Transistor)
+
+| Type | Example | Use |
+| ---- | ------- | ------------------------ |
+| NPN | 2N3904 | Switching, amplification |
+| PNP | 2N3906 | High-side switching |
+
+**Key Formula:**
+
+* `Ic ≈ β × Ib`
+
+### MOSFET
+
+| Type | Example | Use |
+| --------- | ------- | --------------------- |
+| N-channel | IRLZ44N | Logic-level switching |
+| P-channel | IRF9540 | High-side control |
+
+### Reference
+
+* [https://en.wikipedia.org/wiki/Transistor](https://en.wikipedia.org/wiki/Transistor)
+
+---
+
+## 7. Integrated Circuits (DIP)
+
+### Common Logic Families
+
+| Family | Voltage | Notes |
+| ----------- | ------- | ------------------- |
+| TTL (74LS) | 5V | Legacy |
+| CMOS (74HC) | 2-6V | Breadboard-friendly |
+
+### Decoupling Rule
+
+> Place **0.1µF ceramic capacitor** across Vcc and GND per IC
+
+### Reference
+
+* [https://en.wikipedia.org/wiki/Integrated_circuit](https://en.wikipedia.org/wiki/Integrated_circuit)
+
+---
+
+## 8. Switches & Buttons
+
+| Type | Use |
+| ------- | --------------- |
+| Tactile | Momentary input |
+| Slide | Mode select |
+| Toggle | Power |
+
+### Debounce (RC Approximation)
+
+* Typical: `10kΩ + 100nF`
+
+---
+
+## 9. Breadboards
+
+### Description
+
+Solderless prototyping boards with internal bus connections.
+
+### Internal Wiring
+
+* Rows: connected horizontally (5 holes)
+* Rails: connected vertically (power)
+
+### Limitations
+
+* Not suitable for high-frequency or high-current circuits
+
+### Reference
+
+* [https://en.wikipedia.org/wiki/Breadboard](https://en.wikipedia.org/wiki/Breadboard)
+
+---
+
+## 10. Common Accessories
+
+| Item | Purpose |
+| ---------------- | ----------------- |
+| Jumper wires | Connections |
+| USB power module | 5V / 3.3V supply |
+| Multimeter | Measurement |
+| Logic probe | Digital debugging |
+
+---
+
+## 11. Quick Reference Formulas
+
+| Formula | Description |
+| --------------- | -------------------- |
+| `V = IR` | Ohm's Law |
+| `P = VI` | Power |
+| `Xc = 1/(2πfC)` | Capacitive reactance |
+| `XL = 2πfL` | Inductive reactance |
+| `E = ½CV²` | Capacitor energy |
+
+---
+
+## 12. Learning Resources
+
+* [https://learn.sparkfun.com](https://learn.sparkfun.com)
+* [https://www.allaboutcircuits.com](https://www.allaboutcircuits.com)
+* [https://www.electronics-tutorials.ws](https://www.electronics-tutorials.ws)
+* [https://en.wikipedia.org/wiki/Electronics](https://en.wikipedia.org/wiki/Electronics)
+
+---
+
+**Document Purpose:** Practical breadboard electronics reference
+**Scope:** Hobbyist, education, prototyping
diff --git a/skills/legacy-circuit-mockups/references/connecting-electronic-components.md b/skills/legacy-circuit-mockups/references/connecting-electronic-components.md
new file mode 100644
index 00000000..b62009d0
--- /dev/null
+++ b/skills/legacy-circuit-mockups/references/connecting-electronic-components.md
@@ -0,0 +1,310 @@
+# Connecting Electronic Components
+
+This guide provides step-by-step instructions for building electronic circuits on a breadboard. Each build progressively introduces new components and concepts.
+
+---
+
+## Basic Component Build Instructions
+
+### Build 1 — Single LED
+
+**Components:** Red LED, black jumper wire, red jumper wire, battery with holder
+
+**Steps:**
+
+1. Insert the black jumper wire into the breadboard from **A5** to **A14**.
+2. Insert the red jumper wire into the breadboard from **J5** to **J14**.
+3. Place the red LED into row 14 with the positive leg (the longer of the two legs) on the right side, aligned with the red wire, and the negative leg on the left, aligned with the black wire.
+4. Insert the battery into its holder and place it in the breadboard, connecting negative to black and positive to red.
+
+**Result:** When you insert the battery, the LED will light up.
+
+**Troubleshooting:**
+
+- Is your LED inserted backwards?
+- Are the jumper wires in the same row as the LED leads?
+- Are the jumper wires in the same row as the battery terminals?
+
+---
+
+### Build 2 — Single Push Button
+
+**Components:** Red LED, push button, black jumper wire, red jumper wire, battery with holder
+
+**Steps:**
+
+1. Insert the black jumper wire into the breadboard from **A5** to **A16**.
+2. Insert the red jumper wire into the breadboard from **J5** to **J12**.
+3. Place the red LED into the breadboard with the positive leg (the longer of the two legs) inserted into **H15** and the negative leg into **G17**.
+4. Place the push button horizontally in the middle of the breadboard so the bottom-left pin is on row 16 (aligned with the black jumper wire) and the top-right pin is on row 14 (aligned with the negative leg of the red LED).
+5. Insert the battery into its holder and place it in the breadboard, connecting negative to black and positive to red.
+
+**Result:** When you press the push button, the LED will light up.
+
+**Troubleshooting:**
+
+- Is your LED inserted backwards?
+- Are the jumper wires in the same row as the LED leads?
+- Are the jumper wires in the same row as the battery terminals?
+
+---
+
+### Build 3 — Photoresistor-Dimmed LED
+
+**Components:** Green LED, photoresistor, black jumper wire, red jumper wire, battery with holder
+
+**Steps:**
+
+1. Insert the black jumper wire into the breadboard from **A5** to **A12**.
+2. Insert the red jumper wire into the breadboard from **J5** to **J13**.
+3. Place the green LED into the breadboard with the positive leg (the longer of the two legs) inserted into **F13** and the negative leg into **E13**.
+4. Insert the photoresistor into the breadboard from **C12** to **D13**.
+5. Insert the battery into its holder and place it in the breadboard, connecting negative to black and positive to red.
+
+**Result:** When you insert the battery, the LED will light up. Covering the photoresistor will cause the LED to dim.
+
+---
+
+### Build 4 — Double LED Push Button
+
+**Components:** Red LED, green LED, 220Ω resistor, push button, black jumper wire, red jumper wire, battery with holder
+
+**Steps:**
+
+1. Insert the black jumper wire into the breadboard from **A5** to **A11**.
+2. Insert the red jumper wire into the breadboard from **J5** to **J11**.
+3. Insert the 220Ω resistor into the breadboard from **I11** to **I15**.
+4. Place the push button horizontally in the middle of the breadboard so the top pins are on row 15 and on opposite sides of the breadboard.
+5. Place the red LED into the breadboard with the positive leg (the longer of the two legs) inserted into **C17** and the negative leg into **B11**.
+6. Place the green LED into the breadboard with the positive leg inserted into **G15** and the negative leg into **E11**.
+7. Insert the battery into its holder and place it in the breadboard, connecting negative to black and positive to red.
+
+**Result:** When you insert the battery, the green LED will light up. When you press the push button, the green LED will turn off and the red LED will light up.
+
+### Build 5 - Photoresistor Blinking LEDs
+
+- Insert the black jumper wire into the breadboard from A3 to A12.
+- Insert the red jumper wire into the breadboard from J3 to J12.
+- Place the 555 integrated circuit chip into the middle of the breadboard with the top pins on row 12.
+- Insert a jumper wire into the breadboard connecting D15 to G12.
+- Insert a jumper wire into the breadboard connecting D13 to G14.
+- Insert the 1000Ω resistor into the breadboard from C14 to H17.
+- Insert the photoresistor into the breadboard from B14 to B15.
+- Insert the capacitor into the breadboard from A13 to B12.
+- Place the green LED into the breadboard with the positive leg (longer of the two legs) inserted into F17 and the negative leg into C12.
+- Place the red LED into the breadboard with the positive leg inserted into I12 and the negative leg into J17.
+- Insert the battery into its battery holder and place it in the breadboard, connecting negative to black and positive to red.
+
+When you insert the battery, both LED’s will begin rapidly blinking. Covering the photoresistor from light will slow the LEDs blinking frequency.
+
+---
+
+## 555 Timer IC Reference
+
+The 555 timer is a versatile integrated circuit used in timing, pulse generation, and oscillator applications. The following sections provide pinout information and internal circuit details.
+
+### 555 Pinout Diagram
+
+```
+ ┌─────────────────────────────────────┐
+ │ ● │
+ │ #1 #8 │
+ │ ┌──┐ ┌──┐ │
+ │ │ │ │ │ │
+ │ └──┘ └──┘ │
+ │ #2 #7 │
+ │ ┌──┐ 555 TIMER ┌──┐ │
+ │ │ │ │ │ │
+ │ └──┘ └──┘ │
+ │ #3 #6 │
+ │ ┌──┐ ┌──┐ │
+ │ │ │ │ │ │
+ │ └──┘ └──┘ │
+ │ #4 #5 │
+ │ ┌──┐ ┌──┐ │
+ │ │ │ │ │ │
+ │ └──┘ └──┘ │
+ └─────────────────────────────────────┘
+```
+
+### 555 Pin Descriptions
+
+| Pin | Symbol | Function |
+|:---:|:---:|:---|
+| 1 | GND | Ground reference (0V) |
+| 2 | TRIG | Trigger input — starts timing cycle when voltage drops below ⅓ Vcc |
+| 3 | OUT | Output — provides high or low signal |
+| 4 | RESET | Reset input (active low) — forces output low when grounded |
+| 5 | CONT | Control voltage — provides access to internal voltage divider (⅔ Vcc) |
+| 6 | THRES | Threshold input — ends timing cycle when voltage exceeds ⅔ Vcc |
+| 7 | DISCH | Discharge — open collector output for discharging timing capacitor |
+| 8 | Vcc | Supply voltage (+4.5V to +16V) |
+
+### 555 Internal Block Diagram
+
+```mermaid
+flowchart TB
+ subgraph IC["555 Timer IC"]
+ direction TB
+
+ subgraph DIVIDER["Voltage Divider"]
+ R1["R (5kΩ)"]
+ R2["R (5kΩ)"]
+ R3["R (5kΩ)"]
+ R1 --- R2 --- R3
+ end
+
+ COMP1["Comparator 1
(Threshold)"]
+ COMP2["Comparator 2
(Trigger)"]
+ FF["Flip-Flop
S-R"]
+ OUT_STAGE["Output
Stage"]
+ DISCH_TR["Discharge
Transistor"]
+ VREF["Vref"]
+ end
+
+ PIN8["Pin 8
Vcc"] --> R1
+ R3 --> PIN1["Pin 1
GND"]
+
+ R1 -.->|"2/3 Vcc"| COMP1
+ R2 -.->|"1/3 Vcc"| COMP2
+
+ PIN6["Pin 6
Threshold"] --> COMP1
+ PIN2["Pin 2
Trigger"] --> COMP2
+
+ COMP1 -->|R| FF
+ COMP2 -->|S| FF
+
+ FF --> OUT_STAGE
+ FF --> DISCH_TR
+
+ OUT_STAGE --> PIN3["Pin 3
Output"]
+ DISCH_TR --> PIN7["Pin 7
Discharge"]
+
+ PIN4["Pin 4
Reset"] --> FF
+ PIN5["Pin 5
Control Voltage"] -.-> R2
+
+ style PIN1 fill:#000,color:#fff
+ style PIN2 fill:#f96,color:#000
+ style PIN3 fill:#6f6,color:#000
+ style PIN4 fill:#f66,color:#000
+ style PIN5 fill:#ff6,color:#000
+ style PIN6 fill:#6ff,color:#000
+ style PIN7 fill:#f6f,color:#000
+ style PIN8 fill:#f00,color:#fff
+```
+
+---
+
+### Build 6 — Push Button Buzzer
+
+**Components:** 555 timer IC, piezo speaker, 220Ω resistor, 1000Ω resistor, capacitor, push button, jumper wires, battery with holder
+
+**Steps:**
+
+1. Insert the black jumper wire into the breadboard from **A1** to **A11**.
+2. Insert the red jumper wire into the breadboard from **J1** to **J11**.
+3. Place the 555 integrated circuit chip into the middle of the breadboard with the top pins on row 11.
+4. Insert a jumper wire into the breadboard connecting **D12** to **G13**.
+5. Insert a jumper wire into the breadboard connecting **D14** to **G11**.
+6. Insert the capacitor into the breadboard from **A12** to **B11**.
+7. Insert the 220Ω resistor into the breadboard from **C12** to **C13**.
+8. Place the push button horizontally in the middle of the breadboard so the top pins are on row 15 and on opposite sides of the breadboard.
+9. Insert the piezo speaker into the breadboard with the positive pin in **A9** and the negative pin in **A6**.
+10. Insert the 1000Ω resistor into the breadboard from **E6** to **A13**.
+11. Insert a jumper wire into the breadboard connecting **C9** to **D15**.
+12. Insert a jumper wire into the breadboard connecting **G17** to **I11**.
+13. Insert the battery into its holder and place it in the breadboard, connecting negative to black and positive to red.
+
+**Result:** When you press the push button, the buzzer will sound.
+
+---
+
+### Build 7 — Photoresistor Theremin
+
+**Components:** 555 timer IC, piezo speaker, photoresistor, 1000Ω resistor, capacitor, push button, jumper wires, battery with holder
+
+**Steps:**
+
+1. Insert the black jumper wire into the breadboard from **A1** to **A11**.
+2. Insert the red jumper wire into the breadboard from **J1** to **J11**.
+3. Place the 555 integrated circuit chip into the middle of the breadboard with the top pins on row 11.
+4. Insert a jumper wire into the breadboard connecting **D12** to **G13**.
+5. Insert a jumper wire into the breadboard connecting **D14** to **G11**.
+6. Insert the capacitor into the breadboard from **A12** to **B11**.
+7. Insert the photoresistor into the breadboard from **C12** to **C13**.
+8. Place the push button horizontally in the middle of the breadboard so the top pins are on row 15 and on opposite sides of the breadboard.
+9. Insert the piezo speaker into the breadboard with the positive pin in **A9** and the negative pin in **A6**.
+10. Insert the 1000Ω resistor into the breadboard from **E6** to **A13**.
+11. Insert a jumper wire into the breadboard connecting **C9** to **D15**.
+12. Insert a jumper wire into the breadboard connecting **G17** to **I11**.
+13. Insert the battery into its holder and place it in the breadboard, connecting negative to black and positive to red.
+
+**Result:** When you press the push button, the buzzer will sound. Covering the photoresistor will change the pitch of the buzzer.
+
+---
+
+### Build 8 — Potentiometer-Dimmed LED
+
+**Components:** Green LED, potentiometer, 220Ω resistor, black jumper wire, red jumper wire, battery with holder
+
+**Steps:**
+
+1. Insert the black jumper wire into the breadboard from **A1** to **A13**.
+2. Insert the red jumper wire into the breadboard from **J1** to **J9**.
+3. Place the potentiometer with the two-pin side on the left, top pin in **E13** and bottom pin in **E15**.
+4. Insert the 220Ω resistor into the breadboard from **H9** to **H14**.
+5. Place the green LED into the breadboard with the positive leg (the longer of the two legs) inserted into **C15** and the negative leg in **B13**.
+6. Insert the battery into its holder and place it in the breadboard, connecting negative to black and positive to red.
+
+**Result:** When you insert the battery, the LED will turn on. Rotating the potentiometer will increase or decrease the brightness of the LED.
+
+---
+
+### Build 9 — Push Button RGB LED
+
+**Components:** RGB LED (common cathode), three push buttons, two 220Ω resistors, black jumper wire, red jumper wire, jumper wires, battery with holder
+
+**Steps:**
+
+1. Insert the black jumper wire into the breadboard from **A1** to **B7**.
+2. Insert the red jumper wire into the breadboard from **J1** to **J7**.
+3. Insert the RGB LED into the breadboard from **A4** to **A8**. The longest of the four legs is the ground and should be in **A7**.
+4. Place three push buttons horizontally in the middle of the breadboard with pins at:
+ - Button 1: **E9–F9** and **E11–F11**
+ - Button 2: **E12–F12** and **E14–F14**
+ - Button 3: **E15–F15** and **E17–F17**
+5. Insert a jumper wire into the breadboard connecting **C5** to **D9**.
+6. Insert a jumper wire into the breadboard connecting **C6** to **C12**.
+7. Insert a jumper wire into the breadboard connecting **B8** to **B15**.
+8. Insert the first 220Ω resistor into the breadboard from **G7** to **G11**.
+9. Insert the second 220Ω resistor into the breadboard from **H7** to **H14**.
+10. Insert the battery into its holder and place it in the breadboard, connecting negative to black and positive to red.
+
+**Result:** Pressing each push button will activate a different color channel of the RGB LED.
+
+---
+
+### Build 10 — Potentiometer-Controlled Buzzer
+
+**Components:** 555 timer IC, piezo speaker, potentiometer, 220Ω resistor, capacitor, push button, jumper wires, battery with holder
+
+**Steps:**
+
+1. Insert the black jumper wire into the breadboard from **A1** to **A11**.
+2. Insert the red jumper wire into the breadboard from **J1** to **J11**.
+3. Place the 555 integrated circuit chip into the middle of the breadboard with the top pins on row 11.
+4. Insert a jumper wire into the breadboard connecting **D12** to **G13**.
+5. Insert a jumper wire into the breadboard connecting **D14** to **G11**.
+6. Insert the capacitor into the breadboard from **A12** to **B11**.
+7. Insert the piezo speaker into the breadboard from **A6** to **A9** (place the positive end on the bottom).
+8. Place the push button horizontally in the middle of the breadboard so the top pins are in **E15** and **F15**.
+9. Insert the 220Ω resistor into the breadboard from **E6** to **A13**.
+10. Insert a jumper wire into the breadboard connecting **E9** to **D15**.
+11. Insert a jumper wire into the breadboard connecting **G17** to **I11**.
+12. Place the potentiometer with the two-pin side on the right, top pin in **F7** and bottom pin in **F9**.
+13. Insert a jumper wire into the breadboard connecting **D8** to **B13**.
+14. Insert a jumper wire into the breadboard connecting **H7** to **C12**.
+15. Insert a jumper wire into the breadboard connecting **H9** to **D11**.
+16. Insert the battery into its holder and place it in the breadboard, connecting negative to black and positive to red.
+
+**Result:** Pressing the push button will cause the buzzer to sound. Rotating the potentiometer will alter the pitch of the buzzer.
diff --git a/skills/legacy-circuit-mockups/references/lcd.md b/skills/legacy-circuit-mockups/references/lcd.md
new file mode 100644
index 00000000..eef2433d
--- /dev/null
+++ b/skills/legacy-circuit-mockups/references/lcd.md
@@ -0,0 +1,208 @@
+# DFRobot FIT0127 LCD Character Display Specification
+
+## 1. Overview
+
+The **DFRobot FIT0127** is a family of **HD44780-compatible character LCD modules** commonly used in embedded systems and hobbyist projects. These displays provide alphanumeric output using a dot-matrix character generator and support both 8-bit and 4-bit parallel interfaces.
+
+FIT0127 modules are frequently paired with microcontrollers and 8-bit CPUs such as the **6502**, **AVR**, **PIC**, and **Arduino** platforms.
+
+---
+
+## 2. General Characteristics
+
+| Feature | Description |
+| ----------------- | --------------------------------------------------- |
+| Display type | Character LCD (STN, Yellow-Green backlight typical) |
+| Controller | HD44780 or compatible |
+| Interface | Parallel (4-bit or 8-bit) |
+| Character size | 5 x 8 dot matrix |
+| Operating voltage | 5 V logic (some variants support 3.3 V) |
+| Backlight | LED (separate power pins) |
+| Viewing mode | Transflective |
+
+---
+
+## 3. Display Variants
+
+The FIT0127 designation is commonly associated with **16x2 character LCD modules**.
+
+| Variant | Characters |
+| ------- | ------------------- |
+| FIT0127 | 16 columns x 2 rows |
+
+---
+
+## 4. Pin Configuration
+
+### 4.1 Pinout (Standard 16-pin Header)
+
+| Pin | Name | Description |
+| --: | ---- | --------------------- |
+| 1 | VSS | Ground |
+| 2 | VDD | +5 V supply |
+| 3 | VO | Contrast adjust |
+| 4 | RS | Register Select |
+| 5 | R/W | Read/Write select |
+| 6 | E | Enable |
+| 7 | D0 | Data bit 0 |
+| 8 | D1 | Data bit 1 |
+| 9 | D2 | Data bit 2 |
+| 10 | D3 | Data bit 3 |
+| 11 | D4 | Data bit 4 |
+| 12 | D5 | Data bit 5 |
+| 13 | D6 | Data bit 6 |
+| 14 | D7 | Data bit 7 |
+| 15 | A | Backlight Anode (+) |
+| 16 | K | Backlight Cathode (-) |
+
+---
+
+## 5. Electrical Characteristics (Typical)
+
+| Parameter | Value |
+| ------------------- | ----------- |
+| Logic voltage (VDD) | 4.5 - 5.5 V |
+| Logic current | ~1-2 mA |
+| Backlight voltage | ~4.2 V |
+| Backlight current | 15-30 mA |
+
+---
+
+## 6. Interface Signals
+
+### 6.1 RS (Register Select)
+
+| RS | Function |
+| -- | -------------------- |
+| 0 | Instruction register |
+| 1 | Data register |
+
+### 6.2 R/W
+
+| R/W | Operation |
+| --- | ------------- |
+| 0 | Write to LCD |
+| 1 | Read from LCD |
+
+### 6.3 Enable (E)
+
+* Data is latched on the **falling edge** of E
+* E must be pulsed HIGH LOW for each transfer
+
+---
+
+## 7. Data Bus Operation
+
+### 7.1 8-bit Mode
+
+* Uses D0-D7
+* Faster operation
+
+### 7.2 4-bit Mode
+
+* Uses D4-D7 only
+* Data transferred in two nibbles (high first)
+* Saves I/O pins
+
+---
+
+## 8. Internal Memory Map
+
+### 8.1 DDRAM (Display Data RAM)
+
+| Address | Display Position |
+| --------: | ---------------- |
+| 0x00-0x0F | Line 1, Col 1-16 |
+| 0x40-0x4F | Line 2, Col 1-16 |
+
+### 8.2 CGRAM (Character Generator RAM)
+
+* Supports up to **8 custom characters**
+* Each character uses 8 bytes
+
+---
+
+## 9. Instruction Set (Summary)
+
+| Instruction | Description |
+| ----------- | ---------------------- |
+| 0x01 | Clear display |
+| 0x02 | Return home |
+| 0x04-0x07 | Entry mode set |
+| 0x08-0x0F | Display on/off control |
+| 0x10-0x1F | Cursor/display shift |
+| 0x20-0x3F | Function set |
+| 0x40-0x7F | Set CGRAM address |
+| 0x80-0xFF | Set DDRAM address |
+
+---
+
+## 10. Initialization Sequence (4-bit Mode)
+
+```text
+Wait >15 ms after VDD rises
+Function set: 0x33
+Function set: 0x32
+Function set: 0x28 (4-bit, 2-line)
+Display ON/OFF: 0x0C
+Entry mode: 0x06
+Clear display: 0x01
+```
+
+---
+
+## 11. Timing Characteristics (Typical)
+
+| Operation | Time |
+| ------------------ | -------- |
+| Enable pulse width | ≥ 450 ns |
+| Command execution | ~37 µs |
+| Clear / Home | ~1.52 ms |
+
+---
+
+## 12. Typical System Integration (6502 Example)
+
+```text
+RS VIA output
+E VIA output
+D4-D7 VIA Port B
+R/W Grounded (write-only)
+```
+
+---
+
+## 13. Contrast and Backlight Control
+
+* Contrast adjusted via potentiometer on VO pin
+* Backlight may require series resistor
+* PWM dimming supported via external control
+
+---
+
+## 14. Absolute Maximum Ratings (Summary)
+
+| Parameter | Rating |
+| -------------- | --------------------- |
+| VDD | -0.3 V to +6.0 V |
+| Input voltage | -0.3 V to VDD + 0.3 V |
+| Operating temp | -20 °C to +70 °C |
+
+---
+
+## 15. Common Use Cases
+
+* Status displays
+* Debug output for SBCs
+* User interfaces for embedded systems
+* Retrocomputer front panels
+
+---
+
+## 16. References
+
+*
+*
+*
+
+---
diff --git a/skills/legacy-circuit-mockups/references/minipro.md b/skills/legacy-circuit-mockups/references/minipro.md
new file mode 100644
index 00000000..7e0423cf
--- /dev/null
+++ b/skills/legacy-circuit-mockups/references/minipro.md
@@ -0,0 +1,211 @@
+# minipro Chip Programming Utility Specification
+
+## 1. Overview
+
+**minipro** is an open-source, command-line utility used to **program, read, erase, and verify** a wide range of **EEPROM, Flash, EPROM, SRAM, GAL, and logic devices** using supported universal programmers such as the **T48**, **TL866II Plus**, and compatible models.
+
+It is widely used in **Linux**, **macOS**, and **Windows** environments, especially for **retrocomputing**, **firmware development**, and **electronics prototyping**.
+
+---
+
+## 2. Supported Programmers
+
+| Programmer | Notes |
+| ------------ | -------------------------- |
+| T48 | Full support (recommended) |
+| TL866II Plus | Full support |
+| TL866A / CS | Limited / legacy support |
+
+---
+
+## 3. Supported Device Types
+
+### 3.1 Memory Devices
+
+* Parallel EEPROM (e.g., AT28C256)
+* Flash memory (29xxx series)
+* EPROM (27xxx series)
+* SRAM (read/verify only)
+
+### 3.2 Logic and PLDs
+
+* GAL16V8 / GAL22V10
+* PAL devices (limited)
+
+### 3.3 Other Devices
+
+* Some microcontrollers (device-dependent)
+* Logic IC testing (selected models)
+
+---
+
+## 4. Installation
+
+### 4.1 Linux
+
+```bash
+sudo apt install minipro
+```
+
+or from source:
+
+```bash
+git clone https://github.com/vdudouyt/minipro.git
+make
+sudo make install
+```
+
+### 4.2 Windows
+
+* Install via MSYS2 or prebuilt binaries
+* Requires libusb driver (WinUSB)
+
+---
+
+## 5. Basic Command Syntax
+
+```bash
+minipro [options]
+```
+
+Common options:
+
+| Option | Description |
+| ------------- | ---------------------- |
+| `-p ` | Select target device |
+| `-r ` | Read device to file |
+| `-w ` | Write file to device |
+| `-e` | Erase device |
+| `-v` | Verify contents |
+| `-I` | Device information |
+| `-l` | List supported devices |
+
+---
+
+## 6. Common Programming Operations
+
+### 6.1 List Supported Devices
+
+```bash
+minipro -l
+```
+
+### 6.2 Identify Device
+
+```bash
+minipro -p AT28C256 -I
+```
+
+### 6.3 Read a Chip
+
+```bash
+minipro -p AT28C256 -r rom_dump.bin
+```
+
+### 6.4 Write a Chip
+
+```bash
+minipro -p AT28C256 -w rom.bin
+```
+
+### 6.5 Verify Only
+
+```bash
+minipro -p AT28C256 -v rom.bin
+```
+
+---
+
+## 7. Programming EEPROMs (AT28C256 Example)
+
+```bash
+minipro -p AT28C256 -w monitor.bin
+```
+
+* Software Data Protection is handled automatically
+* Write cycle delays are internally managed
+* Verification performed after programming
+
+---
+
+## 8. Programming Flash Memory
+
+```bash
+minipro -p SST39SF040 -e -w firmware.bin
+```
+
+* Erase step required for Flash devices
+* Sector erase handled automatically
+
+---
+
+## 9. EPROM Operations
+
+```bash
+minipro -p 27C256 -r eprom.bin
+```
+
+* UV erase required before reprogramming
+* minipro verifies blank state before write
+
+---
+
+## 10. GAL Programming
+
+```bash
+minipro -p GAL22V10 -w logic.jed
+```
+
+* Uses JEDEC files
+* Supports read, write, and verify
+* Fuse maps viewable via `-I`
+
+---
+
+## 11. Error Handling and Messages
+
+| Message | Meaning |
+| ---------------------- | -------------------------- |
+| `Device not found` | Incorrect device selection |
+| `Verification failed` | Data mismatch |
+| `Chip protected` | Write protection enabled |
+| `Overcurrent detected` | Insertion or wiring error |
+
+---
+
+## 12. Safety and Best Practices
+
+* Always confirm device orientation in ZIF socket
+* Use correct device identifier (`-p`)
+* Do not hot-insert chips during operation
+* Use adapters for PLCC, SOP, TSOP packages
+
+---
+
+## 13. Typical Retrocomputing Workflow
+
+1. Assemble ROM image
+2. Program EEPROM using minipro + T48
+3. Verify contents
+4. Install chip in SBC
+5. Test system boot
+
+---
+
+## 14. Limitations
+
+* Not all devices are supported
+* Some microcontrollers require proprietary tools
+* In-circuit programming (ISP) not supported
+
+---
+
+## 15. References
+
+*
+*
+*
+*
+*
+
+---
diff --git a/skills/legacy-circuit-mockups/references/t48eeprom-programmer.md b/skills/legacy-circuit-mockups/references/t48eeprom-programmer.md
new file mode 100644
index 00000000..63f7d06b
--- /dev/null
+++ b/skills/legacy-circuit-mockups/references/t48eeprom-programmer.md
@@ -0,0 +1,174 @@
+# T48 Universal EEPROM / Flash Programmer Specification
+
+## 1. Overview
+
+The **T48 Universal Programmer** (also sold as **TL866-3G / TL866II Plus successor**) is a USB-connected device used to **read, program, and verify** a wide range of **EEPROM, Flash, EPROM, GAL, and microcontroller devices**. It is commonly used in **retrocomputing**, **firmware development**, and **electronics repair** workflows.
+
+The T48 is a modern replacement for the TL866 series, offering expanded device support and improved software compatibility.
+
+---
+
+## 2. General Characteristics
+
+| Feature | Description |
+| ------------------- | ---------------------------------- |
+| Programmer type | Universal device programmer |
+| Interface | USB 2.0 |
+| Socket | ZIF-48 |
+| Supported devices | EEPROM, Flash, EPROM, GAL, MCU |
+| Programming voltage | Generated internally |
+| Host OS | Windows, Linux (open-source tools) |
+| Verification | Read-after-write, checksum |
+
+---
+
+## 3. Physical Description
+
+### 3.1 ZIF Socket
+
+* **48-pin Zero Insertion Force (ZIF)** socket
+* Supports DIP packages directly
+* PLCC, SOP, TSOP supported via adapters
+
+### 3.2 Indicators and Controls
+
+| Item | Description |
+| ------------- | --------------------------- |
+| Status LED | Power / activity indication |
+| ZIF lever | Locks IC into socket |
+| USB connector | Host connection and power |
+
+---
+
+## 4. Supported Device Categories
+
+### 4.1 Memory Devices
+
+* 27xxx EPROM
+* 28xxx EEPROM (e.g., AT28C256)
+* 29xxx Flash memory
+* Serial EEPROMs (with adapters)
+
+### 4.2 Programmable Logic
+
+* GAL16V8, GAL22V10 (read/write/verify)
+
+### 4.3 Microcontrollers (Limited)
+
+* Some PIC, AVR, and 8051-family devices
+* Programming support depends on voltage and pinout
+
+---
+
+## 5. Electrical Capabilities
+
+| Parameter | Description |
+| -------------- | ---------------------------------------- |
+| VCC range | 1.8 V - 6.5 V (device dependent) |
+| VPP | Internally generated, device-specific |
+| I/O protection | Over-current and short-circuit protected |
+
+---
+
+## 6. Programming Operations
+
+### 6.1 Common Operations
+
+* Device identification
+* Blank check
+* Read
+* Program (write)
+* Verify
+* Erase (Flash/EPROM)
+
+### 6.2 Verification Modes
+
+* Byte-by-byte comparison
+* Checksum / CRC validation
+
+---
+
+## 7. Software Support
+
+### 7.1 Official Software
+
+* Windows-based GUI
+* Device database with pin mappings
+* Automatic voltage and timing control
+
+### 7.2 Open-Source Tools
+
+| Tool | Notes |
+| --------- | -------------------------------- |
+| `minipro` | Linux / macOS / Windows CLI tool |
+| libusb | USB communication backend |
+
+Example:
+
+```bash
+minipro -p AT28C256 -w rom.bin
+```
+
+---
+
+## 8. Device Insertion and Pin Mapping
+
+* Device orientation indicated by **pin 1 marker**
+* Many devices use **lower-left alignment** in ZIF socket
+* Software displays correct insertion diagram
+
+---
+
+## 9. Typical Workflow (EEPROM Example)
+
+1. Select device type (e.g., AT28C256)
+2. Insert chip into ZIF socket
+3. Perform blank check
+4. Load binary image
+5. Program device
+6. Verify written contents
+
+---
+
+## 10. Power and Safety Notes
+
+* Programmer powered entirely via USB
+* Do not insert or remove ICs while programming
+* Use adapters for non-DIP packages
+
+---
+
+## 11. Limitations
+
+* Not all microcontrollers are supported
+* High-voltage EPROMs may require specific adapters
+* Not intended for in-circuit programming (ISP)
+
+---
+
+## 12. Common Use Cases
+
+* Programming EEPROMs for 6502 SBCs
+* Flashing ROM images for retro systems
+* Reading and backing up legacy EPROMs
+* GAL logic development
+
+---
+
+## 13. Comparison with TL866II Plus
+
+| Feature | TL866II Plus | T48 |
+| ----------------- | ------------ | --------------- |
+| Device support | Good | Expanded |
+| OS support | Windows | Windows / Linux |
+| Open-source tools | Limited | Excellent |
+
+---
+
+## 14. References
+
+*
+*
+*
+
+---