From Breadboard to Schematic
In Parts 1–3 you built working prototypes on breadboards and understood MCU peripherals. Now it’s time to translate those loose wires into a professional schematic — the blueprint that every PCB, manufacturing file, and design review depends on. A well-drawn schematic is the single most important document in a hardware project.
A Brief History of Schematic Design
The Schematic Design Workflow
flowchart LR
A[Requirements] --> B[Block Diagram]
B --> C[Component Selection]
C --> D[Schematic Capture]
D --> E[ERC Check]
E --> F[Design Review]
F --> G[Netlist Export]
G --> H[PCB Layout]
Every schematic project follows this flow. The requirements document from your prototype tells you which peripherals, voltage rails, and connectors you need. The block diagram partitions the design into logical sheets. Component selection locks down exact part numbers. Schematic capture wires everything together. The Electrical Rules Check (ERC) catches wiring errors before you commit to copper.
EDA Tool Landscape
Electronic Design Automation (EDA) tools are your primary workspace. Each has trade-offs in cost, capability, and learning curve.
KiCad — Open-Source Professional Tool
KiCad 8 is a fully capable, free, open-source EDA suite used by hobbyists and professionals alike. It includes schematic capture, PCB layout, 3D viewer, SPICE simulation, and Gerber export — everything you need for a complete design.
KiCad 8 at a Glance
- Cost: Free (GPL licence)
- Platforms: Windows, macOS, Linux
- Layer limit: Up to 32 copper layers
- Simulation: Built-in ngspice SPICE engine
- Library: Massive community library + official parts
- Best for: Hobbyists, startups, open-source hardware, prototyping
Creating a new KiCad project follows a simple terminal + GUI workflow:
# Create project directory structure
mkdir -p ~/hardware/iot-sensor-v1/{schematics,pcb,gerbers,docs}
cd ~/hardware/iot-sensor-v1
# Initialise KiCad project (creates .kicad_pro, .kicad_sch, .kicad_pcb)
# Open KiCad GUI → File → New Project → select project folder
# Verify project files
ls -la *.kicad_*
# Expected: iot-sensor-v1.kicad_pro iot-sensor-v1.kicad_sch iot-sensor-v1.kicad_pcb
$ mkdir -p ~/hardware/iot-sensor-v1/{schematics,pcb,gerbers,docs}
$ cd ~/hardware/iot-sensor-v1
$ ls -la *.kicad_*
-rw-r--r-- 1 user staff 423 Apr 17 09:14 iot-sensor-v1.kicad_pro
-rw-r--r-- 1 user staff 1847 Apr 17 09:14 iot-sensor-v1.kicad_sch
-rw-r--r-- 1 user staff 952 Apr 17 09:14 iot-sensor-v1.kicad_pcb
Altium Designer — Industry Standard
Altium Designer is the dominant commercial EDA tool in professional hardware teams. It excels at multi-channel designs, variant management, and tight PLM (Product Lifecycle Management) integration. The learning curve is steeper, but the productivity payoff is significant for complex products.
| Feature | KiCad 8 | Altium Designer |
|---|---|---|
| Cost | Free | ~$7,500/year subscription |
| Hierarchical sheets | Yes | Yes (multi-channel) |
| SPICE simulation | Built-in (ngspice) | Mixed-signal simulation |
| 3D viewer | Yes (STEP export) | Yes (native MCAD) |
| Version control | Git-friendly (text format) | Altium 365 cloud |
| BOM management | Plugin-based | ActiveBOM (real-time pricing) |
| Best for | Open-source, prototyping | Enterprise, complex products |
EasyEDA & Other Tools
EasyEDA is a browser-based EDA tool tightly integrated with JLCPCB’s component library and assembly service. It’s excellent for quick prototypes where you want one-click ordering. Other notable tools include Fusion 360 Electronics (formerly EAGLE), Cadence OrCAD, and Mentor PADS.
The Broader EDA Ecosystem
Electronic Design Automation (EDA) is a multi-billion-dollar industry. While KiCad and Altium dominate PCB design, the EDA landscape extends far beyond board-level work into integrated circuit (IC) design, physical verification, and silicon signoff. Understanding the full ecosystem helps you make informed tool choices and communicate with IC and ASIC teams.
| Vendor | Key Tools | Strength | Primary Market |
|---|---|---|---|
| Synopsys | Fusion Design Platform, Design Compiler, PrimeTime, IC Validator | RTL synthesis, timing signoff, physical verification | IC / ASIC design |
| Cadence | Virtuoso, Genus (synthesis), Pegasus (DRC/LVS), OrCAD | Custom IC layout, analog/mixed-signal, PCB (OrCAD) | IC & PCB design |
| Siemens EDA (formerly Mentor Graphics) | Calibre (signoff), Xpedition (PCB), HyperLynx, PADS | Physical verification (Calibre is industry standard), enterprise PCB | IC signoff & PCB |
| Ansys | PowerArtist, RedHawk, HFSS | Power analysis, thermal simulation, electromagnetic (EM) simulation | Power & signal integrity |
| KiCad | Schematic, PCB, 3D, ngspice | Free, open-source, community-driven | PCB prototyping |
| Altium | Altium Designer, Altium 365 | Unified PCB + cloud collaboration | Enterprise PCB |
EDA Tool Categories
EDA tools fall into four broad categories, each serving a different stage of the design-to-manufacturing pipeline:
flowchart LR
A["Design & Simulation\nSPICE, schematic capture,\nmixed-signal simulation"] --> B["Synthesis\nRTL → gate-level netlist\n(Synopsys DC, Cadence Genus)"]
B --> C["Layout & Implementation\nPCB routing, IC place-and-route,\nfloorplanning"]
C --> D["Verification & Signoff\nDRC, LVS, timing analysis\n(Calibre, PrimeTime)"]
- Design & Simulation: Schematic capture, SPICE circuit simulation, behavioural modelling. Test analog, digital, and mixed-signal circuits before physical prototyping. (LTspice, ngspice, Cadence Virtuoso AMS)
- Synthesis: Translate high-level hardware description (RTL in Verilog/VHDL) into a gate-level netlist of standard cells. Relevant for ASIC and FPGA design. (Synopsys Design Compiler, Cadence Genus)
- Layout & Implementation: Create the physical geometry — component placement, trace routing for PCBs, or place-and-route for ICs. (KiCad, Altium, Cadence Innovus)
- Verification & Signoff: Ensure the design meets manufacturing and functional constraints. Design Rule Check (DRC) catches fabrication violations. Layout vs. Schematic (LVS) confirms the layout matches the intended circuit. Timing analysis verifies signal propagation meets clock requirements. (Siemens Calibre, Synopsys IC Validator, Synopsys PrimeTime)
Hierarchical Schematics
Real-world schematics rarely fit on a single sheet. Hierarchical design splits your circuit into logical modules — each on its own sheet — connected through hierarchical pins and net labels. This mirrors how software engineers organise code into modules.
Sheet Organisation Strategy
flowchart TD
ROOT[Root Sheet: Top-Level Block Diagram] --> PWR[Power Sheet: USB 5V → LDO 3.3V → Filtering]
ROOT --> MCU[MCU Sheet: STM32 + Crystal + Reset + Decoupling]
ROOT --> SENS[Sensor Sheet: I2C Sensors + Connectors]
ROOT --> COMM[Communication Sheet: WiFi/BLE Module + Antenna]
ROOT --> DBG[Debug Sheet: SWD Header + UART Console + LEDs]
ROOT --> PROT[Protection Sheet: ESD + TVS + Fuses]
Each sheet has a clear responsibility. The root sheet shows the high-level interconnections. Child sheets contain the detailed circuitry. This makes design reviews efficient — the power engineer reviews the power sheet, the firmware engineer reviews the MCU sheet, and so on.
00_TopLevel, 01_Power, 02_MCU, 03_Sensors, 04_Communication, 05_Debug, 06_Protection. This ensures consistent ordering in the schematic navigator.
Power Flags & Net Labels
Net labels are the “wires” that connect signals across sheets without drawing physical lines. In KiCad, a net label on one sheet is automatically connected to every net label with the same name on every other sheet. Power flags (PWR_FLAG) tell the ERC that a net is intentionally driven by a power source.
# Common net label naming conventions
# Power rails: +3V3, +5V, +12V, GND, VBAT, VBUS
# Data buses: SDA, SCL, MOSI, MISO, SCK, CS_SENSOR
# Control: nRESET, BOOT0, LED_STATUS, UART_TX, UART_RX
# Clocks: HSE_IN, HSE_OUT, CLK_32K
# The 'n' prefix means active-low: nRESET, nCS, nIRQ
# Use UPPERCASE for net labels (industry convention)
Design Rule Checks (ERC)
The Electrical Rules Check scans your schematic for common errors: unconnected pins, conflicting net assignments, missing power flags, and pin-type conflicts (e.g., two outputs driving the same net). Always run ERC before exporting the netlist.
| ERC Error | Meaning | Fix |
|---|---|---|
| Unconnected pin | An IC pin has no net attached | Connect it or mark “no connect” (X) |
| Power pin not driven | VCC/GND pin has no power source | Add PWR_FLAG on that net |
| Output-output conflict | Two outputs drive the same net | Add a buffer, mux, or resistor |
| Bidirectional conflict | I2C SDA needs open-drain config | Set pin type to open-collector |
| Missing component value | Resistor has no value set | Double-click component, set value |
Component Selection & Lifecycle
Choosing the right component is more than finding one that meets the spec. You must consider availability, lifecycle status, package size, thermal performance, and cost at volume. A component that goes end-of-life (EOL) mid-production can derail an entire product.
Lifecycle & Sourcing Strategy
stateDiagram-v2
[*] --> Introduction : New part released
Introduction --> Growth : Broad adoption
Growth --> Maturity : Peak availability
Maturity --> Decline : Reduced production
Decline --> EOL : End of Life
EOL --> Obsolete : No longer manufactured
Maturity --> NRND : Not Recommended for New Designs
NRND --> EOL
Always check lifecycle status before committing to a part. Use these resources:
- DigiKey / Mouser: Part detail pages show “Active”, “NRND”, or “Obsolete” status
- Octopart: Aggregates stock levels and lifecycle data across distributors
- Manufacturer product change notifications (PCNs): Sign up for alerts on critical parts
- JLCPCB parts library: Shows in-stock parts ready for assembly
Package & Footprint Selection
The component package determines your PCB footprint, thermal performance, and assembly difficulty. For prototyping, larger packages (0805, SOIC) are easier to hand-solder. For production, smaller packages (0402, QFN) save board space and cost.
| Package | Size (mm) | Hand Solder? | Best For |
|---|---|---|---|
| 0805 | 2.0 × 1.25 | Easy | Prototypes, low-density boards |
| 0603 | 1.6 × 0.8 | Moderate | General production |
| 0402 | 1.0 × 0.5 | Difficult | High-density, wearables |
| 0201 | 0.6 × 0.3 | Near impossible | RF, ultra-compact |
| SOIC-8 | 5.0 × 4.0 | Easy | Op-amps, voltage regulators |
| QFP-48 | 7.0 × 7.0 | Moderate (fine pitch) | MCUs, moderate I/O |
| QFN-48 | 7.0 × 7.0 | Hot air / reflow | MCUs, better thermal |
| BGA | Varies | Reflow only | High-pin-count ICs, FPGAs |
Derating & Tolerances
Never operate a component at its absolute maximum rating. Derating extends lifetime and prevents failures. Industry standard is to use components at 50–80% of their rated values.
import math
# Component derating calculator
rated_voltage = 16 # Capacitor rated at 16V
derating_factor = 0.7 # 70% derating (recommended for MLCC)
max_operating_voltage = rated_voltage * derating_factor
print(f"Rated: {rated_voltage}V")
print(f"Derating factor: {derating_factor * 100}%")
print(f"Max operating voltage: {max_operating_voltage}V")
# For a 3.3V rail, 16V cap is fine (3.3V / 11.2V = 29% utilisation)
# For a 12V rail, you need at least 12V / 0.7 = 17.1V → use 25V cap
required_voltage = 12
min_rated = required_voltage / derating_factor
print(f"\nFor {required_voltage}V rail:")
print(f"Minimum rated voltage: {math.ceil(min_rated)}V")
print(f"Recommended: 25V rated capacitor")
Rated: 16V Derating factor: 70.0% Max operating voltage: 11.2V For 12V rail: Minimum rated voltage: 18V Recommended: 25V rated capacitor
Power Supply Design
Every embedded system needs clean, stable power. The choice between an LDO (Low-Dropout Regulator) and a buck converter depends on your input/output voltage difference, current requirements, and noise sensitivity.
LDO Regulators
An LDO is a linear regulator that provides a lower, regulated output voltage. It’s simple (often just 3 external components), low-noise, and ideal when the input-output voltage difference is small.
flowchart LR
VBUS["VBUS 5V"] --> C1["C_in 10µF"]
VBUS --> LDO["AMS1117-3.3"]
LDO --> VOUT["3.3V Rail"]
VOUT --> C2["C_out 22µF"]
LDO --> GND["GND"]
import math
# LDO power dissipation calculator
v_in = 5.0 # USB input voltage
v_out = 3.3 # Regulated output
i_load = 0.3 # 300mA load current
dropout = 0.5 # Typical LDO dropout voltage
# Check: is input high enough?
headroom = v_in - v_out
print(f"Headroom: {headroom:.1f}V (need > {dropout}V dropout)")
print(f"Margin OK: {headroom > dropout}")
# Power dissipated as heat in the LDO
p_dissipated = (v_in - v_out) * i_load
print(f"\nPower dissipated: {p_dissipated:.2f}W = {p_dissipated * 1000:.0f}mW")
# Efficiency (linear regulator)
efficiency = (v_out / v_in) * 100
print(f"Efficiency: {efficiency:.1f}%")
# Junction temperature estimate (SOT-223 package)
theta_ja = 90 # °C/W (SOT-223 thermal resistance)
t_ambient = 25
t_junction = t_ambient + (p_dissipated * theta_ja)
print(f"\nJunction temperature: {t_junction:.1f}°C")
print(f"Safe? {t_junction < 125} (max 125°C)")
Headroom: 1.7V (need > 0.5V dropout) Margin OK: True Power dissipated: 0.51W = 510mW Efficiency: 66.0% Junction temperature: 70.9°C Safe? True (max 125°C)
Buck (Step-Down) Converters
A buck converter is a switching regulator that converts higher voltage to lower voltage with much better efficiency than an LDO. The trade-off is increased complexity (inductor, diode, feedback resistors) and switching noise.
flowchart LR
VIN["V_IN 12V"] --> SW["Switching IC"]
SW --> L["Inductor 10µH"]
L --> VOUT["V_OUT 3.3V"]
SW --> D["Schottky Diode"]
D --> GND["GND"]
VOUT --> FB["Feedback Divider"]
FB --> SW
VOUT --> COUT["C_out 47µF"]
VIN --> CIN["C_in 10µF"]
import math
# Buck converter feedback divider calculator
# V_OUT = V_REF × (1 + R1/R2) where V_REF is typically 0.8V
v_out_target = 3.3 # Desired output voltage
v_ref = 0.8 # Internal reference (check datasheet)
# Choose R2 first (typically 10kΩ - 100kΩ)
r2 = 10_000 # 10kΩ
# Calculate R1
r1 = r2 * ((v_out_target / v_ref) - 1)
print(f"Target V_OUT: {v_out_target}V")
print(f"V_REF: {v_ref}V")
print(f"R2: {r2/1000:.0f}kΩ")
print(f"R1 (calculated): {r1/1000:.1f}kΩ")
# Find nearest standard resistor (E96 series)
e96_values = [31.6, 32.4, 33.2] # kΩ values near calculated
print(f"Nearest E96: {min(e96_values, key=lambda x: abs(x - r1/1000))}kΩ")
# Verify with standard value
r1_actual = 31.6e3
v_out_actual = v_ref * (1 + r1_actual / r2)
print(f"\nActual V_OUT: {v_out_actual:.3f}V")
print(f"Error: {abs(v_out_actual - v_out_target) / v_out_target * 100:.2f}%")
# Efficiency comparison vs LDO
v_in = 12.0
i_load = 0.5 # 500mA
ldo_eff = (v_out_target / v_in) * 100
buck_eff = 88 # Typical for a well-designed buck
ldo_heat = (v_in - v_out_target) * i_load
buck_heat = v_out_target * i_load * (1 - buck_eff/100)
print(f"\n--- 12V→3.3V @ 500mA comparison ---")
print(f"LDO efficiency: {ldo_eff:.1f}% → {ldo_heat:.2f}W heat")
print(f"Buck efficiency: ~{buck_eff}% → {buck_heat:.3f}W heat")
Target V_OUT: 3.3V V_REF: 0.8V R2: 10kΩ R1 (calculated): 31.2kΩ Nearest E96: 31.6kΩ Actual V_OUT: 3.328V Error: 0.85% --- 12V→3.3V @ 500mA comparison --- LDO efficiency: 27.5% → 4.35W heat Buck efficiency: ~88% → 0.198W heat
Power Tree & Sequencing
A power tree diagram shows every voltage rail in your system, how it’s generated, and what loads it feeds. Complex systems may require power sequencing — turning on rails in a specific order to prevent latch-up or brown-out conditions.
flowchart TD
USB["USB 5V / Battery 3.7V"] --> BUCK["Buck: 5V → 3.3V_MAIN"]
BUCK --> MCU["STM32 (200mA)"]
BUCK --> WIFI["WiFi Module (350mA peak)"]
BUCK --> LDO_A["LDO: 3.3V → 1.8V_CORE"]
LDO_A --> CORE["MCU Core (50mA)"]
USB --> CHG["Battery Charger IC"]
CHG --> BAT["Li-Po 3.7V"]
BUCK --> LDO_B["LDO: 3.3V → 3.0V_ANALOG"]
LDO_B --> ADC["ADC Reference (10mA)"]
LDO_B --> SENSOR["Analog Sensors (20mA)"]
Protection Circuits
Protection circuits are the insurance policy of your hardware design. They cost pennies but prevent catastrophic failures from ESD events, reverse polarity connections, and overcurrent conditions.
ESD Protection
Electrostatic Discharge (ESD) can deliver thousands of volts in nanoseconds, destroying sensitive IC inputs. Every external-facing pin — USB, GPIO headers, antenna — needs ESD protection.
| Protection Device | Response Time | Capacitance | Best For |
|---|---|---|---|
| TVS diode (unidirectional) | < 1ns | ~50pF | Power lines, low-speed GPIO |
| TVS diode (bidirectional) | < 1ns | ~50pF | Communication lines (UART, RS-485) |
| TVS array (e.g., USBLC6-2SC6) | < 1ns | ~2pF | USB data lines (low capacitance critical) |
| Varistor (MOV) | ~25ns | ~100pF | AC mains, industrial inputs |
| Polymer PTC fuse | ~100ms | N/A | Overcurrent (self-resetting) |
/*
* ESD protection placement in KiCad schematic
*
* USB connector → TVS array → USB controller
*
* Part: USBLC6-2SC6 (SOT-23-6)
* - Ultra-low capacitance (2pF) for USB 2.0 High Speed
* - IEC 61000-4-2 Level 4 (±8kV contact, ±15kV air)
* - Place as CLOSE to connector as possible
*
* Schematic net connections:
* Pin 1 (I/O1) → USB_DP (D+ data line)
* Pin 2 (GND) → GND
* Pin 3 (I/O2) → USB_DP (after TVS)
* Pin 4 (I/O3) → USB_DM (after TVS)
* Pin 5 (VBUS) → VBUS (clamp reference)
* Pin 6 (I/O4) → USB_DM (D- data line)
*/
Reverse Polarity Protection
Users will inevitably connect batteries or barrel jacks backwards. There are three common protection approaches, each with different trade-offs:
| Method | Voltage Drop | Cost | Current Limit |
|---|---|---|---|
| Series diode (1N5819) | ~0.4V (Schottky) | $0.02 | 1A typical |
| P-MOSFET (e.g., SI2301) | ~20mV (R_DS(on)) | $0.10 | 2–5A |
| Ideal diode IC (LTC4357) | ~10mV | $1.50 | 10A+ |
Overcurrent & Thermal Protection
Overcurrent protection prevents excessive current from damaging your board or causing fires. Options include fuses (one-shot), PTC resettable fuses (self-healing), and electronic current limiters.
import math
# Fuse selection calculator
max_normal_current = 0.5 # 500mA normal operating current
derating = 0.75 # 75% derating for reliability
ambient_temp = 40 # Worst-case ambient temperature
# Fuse rating = max current / derating factor
fuse_rating = max_normal_current / derating
print(f"Normal current: {max_normal_current * 1000:.0f}mA")
print(f"Derating: {derating * 100}%")
print(f"Minimum fuse rating: {fuse_rating * 1000:.0f}mA")
print(f"Recommended: 750mA or 1A slow-blow fuse")
# I²t (energy let-through) check for semiconductor protection
i_fault = 5.0 # Fault current in amps
t_blow = 0.01 # Fuse blow time in seconds
i2t_fuse = i_fault ** 2 * t_blow
print(f"\nI²t let-through: {i2t_fuse:.3f} A²s")
print(f"Check: IC I²t rating must be > {i2t_fuse:.3f} A²s")
Normal current: 500mA Derating: 75% Minimum fuse rating: 667mA Recommended: 750mA or 1A slow-blow fuse I²t let-through: 0.250 A²s Check: IC I²t rating must be > 0.250 A²s
Samsung Galaxy Note 7 — When Power Supply Design Goes Wrong (2016)
In August 2016, Samsung launched the Galaxy Note 7 with a 3,500 mAh lithium-polymer battery. Within weeks, units began catching fire and exploding during charging. Samsung initially blamed Battery Supplier A (Samsung SDI) for manufacturing defects and switched to Supplier B (ATL). When Supplier B’s batteries also caught fire, the root cause was revealed: a design error in the battery protection circuit on the main PCB.
The schematic failure: The battery charging circuit’s protection IC had insufficient margin for the battery’s maximum charge voltage. The schematic specified a charge termination voltage that was too close to the cell’s absolute maximum rating — effectively running the battery at 0% derating. When manufacturing tolerances pushed the actual charge voltage slightly over the cell’s limit, the separator between anode and cathode degraded, causing internal short circuits and thermal runaway.
Engineering lesson: This is a textbook example of why the derating calculator in this article matters. Samsung’s engineers designed a product where the battery operated at its absolute maximum rated voltage with no safety margin. The total recall of 2.5 million units cost Samsung an estimated $5.3 billion and permanently damaged the Note brand. Always derate — especially for energy storage components where failure means fire.
Mars Climate Orbiter — The $125M Schematic Annotation Error (1999)
On September 23, 1999, NASA’s Mars Climate Orbiter burned up in the Martian atmosphere because it approached the planet at 57 km altitude instead of the planned 226 km. The root cause: Lockheed Martin’s ground software produced thruster force values in pound-force seconds, while NASA’s navigation software expected newton-seconds. The factor-of-4.45 error accumulated over 9 months of flight corrections.
The documentation failure: At the schematic level, the thruster interfaces were labelled with generic names like “THRUST_CMD” without specifying units in the net label or documentation. The interface control document (ICD) between Lockheed’s hardware subsystem and NASA’s software subsystem didn’t enforce unit consistency. When the schematic was reviewed, nobody questioned whether the DAC output producing the thrust command was calibrated in SI or imperial units.
Engineering lesson: Net labels and schematic annotations must be unambiguous. On your schematics, annotate signal ranges and units: VREF_1V8 not just VREF, I2C_SDA_3V3 not just SDA. Include units in text notes next to analog interfaces. A $125 million spacecraft was lost because two teams assumed different units for the same signal — something a properly annotated schematic would have caught during design review.
Exercises
Exercise 1: Power Supply Selection
You are designing a battery-powered weather station with a 3.7V Li-Po battery (4.2V fully charged, 3.0V discharged). The system needs a 3.3V rail for an STM32L4 (80mA peak) and sensors (40mA), plus a 1.8V rail for the MCU core (15mA).
- Can you use an LDO for 3.7V → 3.3V? What is the headroom at full charge vs. at 3.5V? At what battery voltage does the LDO drop out?
- Calculate the LDO power dissipation at full charge (4.2V) with 120mA total load. What is the efficiency?
- Would a buck converter be better here? Consider the input/output voltage difference and current levels.
- For the 3.3V → 1.8V rail (15mA), would you use an LDO or buck? Calculate the heat dissipation and justify your choice.
- Draw a power tree diagram showing all voltage rails, regulators, and loads with current budgets.
Hint: At 4.2V → 3.3V: headroom = 0.9V (fine for most LDOs with 200-300mV dropout). At 3.5V: headroom = 0.2V (marginal — choose an LDO with very low dropout like MCP1700, 178mV at 120mA). P_diss = (4.2-3.3) × 0.12 = 108mW, η = 78.6%. A buck would waste more in switching losses at this low delta-V. For 1.8V rail: P_diss = (3.3-1.8) × 0.015 = 22.5mW — LDO is perfect (low noise for MCU core, tiny heat).
Exercise 2: Component Derating & Lifecycle
Your production BOM includes the following critical components. For each, apply proper derating and assess lifecycle risk:
- A 10µF MLCC capacitor rated at 10V on a 5V rail. What is the effective capacitance? (Hint: X7R MLCCs lose 50-80% capacitance at rated voltage due to DC bias effect.) What voltage rating should you specify?
- A 100kΩ resistor (0402, 1/16W) carrying 3.3V. Calculate actual power dissipation. Is it within the 50% derating guideline?
- An STM32F103C8T6 MCU — check its lifecycle status. Is it “Active”, “NRND”, or “Obsolete”? What is the recommended modern replacement?
- Your design uses a TPS62160 buck converter (Texas Instruments). The datasheet says T_j max = 125°C and θ_JA = 48°C/W. If it dissipates 200mW at 60°C ambient, what is the junction temperature? Is it within 80% derating?
Hint: (1) At 5V, a 10V-rated X7R 10µF may only provide 3-5µF effective. Use a 25V rating to get close to the stated 10µF. (2) P = V²/R = 3.3²/100k = 0.109mW. Rated 62.5mW → utilisation 0.17%, well within limits. (3) STM32F103 is “Active” but very old (2007); modern replacement: STM32G431 or STM32C011. (4) T_j = 60 + 0.2 × 48 = 69.6°C. 80% derating: max 100°C → safe at 69.6°C.
Exercise 3: Hierarchical Schematic Organisation
You are designing a Bluetooth Low Energy (BLE) asset tracker with the following subsystems: nRF52840 MCU with BLE antenna, GPS module (UART interface), 3-axis accelerometer (I2C), Li-Po battery with charger (USB-C charging), 0.96″ OLED display (SPI), and a debug header (SWD + UART console).
- Design the hierarchical sheet structure. Name each sheet using the numbering convention from this article. List the hierarchical pins (signal names) that connect each child sheet to the root sheet.
- The GPS module needs a 3.0V supply (50mA), the OLED needs 3.3V (20mA), and the accelerometer needs 1.8V (1mA). The MCU runs on 3.3V (10mA average, 20mA peak during BLE TX). Design the power tree. Which rails use LDOs and which need a buck?
- List the ESD protection components you would add and where. Which pins face the outside world?
- The accelerometer (LIS3DH) is marked “NRND” on DigiKey. Find a pin-compatible, active replacement. What nets on your schematic would change?
Hint: Sheets: 00_TopLevel, 01_Power, 02_MCU_BLE, 03_GPS, 04_Sensors, 05_Display, 06_Debug. Root pins: VCC_3V3, VCC_3V0, VCC_1V8, GND, SDA, SCL, UART_TX_GPS, UART_RX_GPS, SPI_MOSI, SPI_SCK, SPI_CS_OLED, nRESET, SWDIO, SWCLK. All rails from Li-Po (3.0-4.2V): buck to 3.3V (main), LDO 3.3→3.0V (GPS), LDO 3.3→1.8V (accel). ESD on USB-C (TVS array), GPS antenna (ESD diode), SWD header (TVS). LIS3DH → LIS2DH12 (pin-compatible active replacement, same I2C address 0x18/0x19).
Samsung Galaxy Note 7 — When Power Supply Design Goes Wrong (2016)
In August 2016, Samsung launched the Galaxy Note 7 with a 3,500 mAh lithium-polymer battery. Within weeks, units began catching fire and exploding during charging. Samsung initially blamed Battery Supplier A (Samsung SDI) for manufacturing defects and switched to Supplier B (ATL). When Supplier B’s batteries also caught fire, the root cause was revealed: a design error in the battery protection circuit on the main PCB.
The schematic failure: The battery charging circuit’s protection IC had insufficient margin for the battery’s maximum charge voltage. The schematic specified a charge termination voltage that was too close to the cell’s absolute maximum rating — effectively running the battery at 0% derating. When manufacturing tolerances pushed the actual charge voltage slightly over the cell’s limit, the separator between anode and cathode degraded, causing internal short circuits and thermal runaway.
Engineering lesson: This is a textbook example of why the derating calculator in this article matters. Samsung’s engineers designed a product where the battery operated at its absolute maximum rated voltage with no safety margin. The total recall of 2.5 million units cost Samsung an estimated $5.3 billion and permanently damaged the Note brand. Always derate — especially for energy storage components where failure means fire.
Mars Climate Orbiter — The $125M Schematic Annotation Error (1999)
On September 23, 1999, NASA’s Mars Climate Orbiter burned up in the Martian atmosphere because it approached the planet at 57 km altitude instead of the planned 226 km. The root cause: Lockheed Martin’s ground software produced thruster force values in pound-force seconds, while NASA’s navigation software expected newton-seconds. The factor-of-4.45 error accumulated over 9 months of flight corrections.
The documentation failure: At the schematic level, the thruster interfaces were labelled with generic names like “THRUST_CMD” without specifying units in the net label or documentation. The interface control document (ICD) between Lockheed’s hardware subsystem and NASA’s software subsystem didn’t enforce unit consistency. When the schematic was reviewed, nobody questioned whether the DAC output producing the thrust command was calibrated in SI or imperial units.
Engineering lesson: Net labels and schematic annotations must be unambiguous. On your schematics, annotate signal ranges and units: VREF_1V8 not just VREF, I2C_SDA_3V3 not just SDA. Include units in text notes next to analog interfaces. A $125 million spacecraft was lost because two teams assumed different units for the same signal — something a properly annotated schematic would have caught during design review.
Exercises
Exercise 1: Power Supply Selection
You are designing a battery-powered weather station with a 3.7V Li-Po battery (4.2V fully charged, 3.0V discharged). The system needs a 3.3V rail for an STM32L4 (80mA peak) and sensors (40mA), plus a 1.8V rail for the MCU core (15mA).
- Can you use an LDO for 3.7V → 3.3V? What is the headroom at full charge vs. at 3.5V? At what battery voltage does the LDO drop out?
- Calculate the LDO power dissipation at full charge (4.2V) with 120mA total load. What is the efficiency?
- Would a buck converter be better here? Consider the input/output voltage difference and current levels.
- For the 3.3V → 1.8V rail (15mA), would you use an LDO or buck? Calculate the heat dissipation and justify your choice.
- Draw a power tree diagram showing all voltage rails, regulators, and loads with current budgets.
Hint: At 4.2V → 3.3V: headroom = 0.9V (fine for most LDOs with 200-300mV dropout). At 3.5V: headroom = 0.2V (marginal — choose an LDO with very low dropout like MCP1700, 178mV at 120mA). P_diss = (4.2-3.3) × 0.12 = 108mW, η = 78.6%. A buck would waste more in switching losses at this low delta-V. For 1.8V rail: P_diss = (3.3-1.8) × 0.015 = 22.5mW — LDO is perfect (low noise for MCU core, tiny heat).
Exercise 2: Component Derating & Lifecycle
Your production BOM includes the following critical components. For each, apply proper derating and assess lifecycle risk:
- A 10µF MLCC capacitor rated at 10V on a 5V rail. What is the effective capacitance? (Hint: X7R MLCCs lose 50-80% capacitance at rated voltage due to DC bias effect.) What voltage rating should you specify?
- A 100kΩ resistor (0402, 1/16W) carrying 3.3V. Calculate actual power dissipation. Is it within the 50% derating guideline?
- An STM32F103C8T6 MCU — check its lifecycle status. Is it “Active”, “NRND”, or “Obsolete”? What is the recommended modern replacement?
- Your design uses a TPS62160 buck converter (Texas Instruments). The datasheet says T_j max = 125°C and θ_JA = 48°C/W. If it dissipates 200mW at 60°C ambient, what is the junction temperature? Is it within 80% derating?
Hint: (1) At 5V, a 10V-rated X7R 10µF may only provide 3-5µF effective. Use a 25V rating to get close to the stated 10µF. (2) P = V²/R = 3.3²/100k = 0.109mW. Rated 62.5mW → utilisation 0.17%, well within limits. (3) STM32F103 is “Active” but very old (2007); modern replacement: STM32G431 or STM32C011. (4) T_j = 60 + 0.2 × 48 = 69.6°C. 80% derating: max 100°C → safe at 69.6°C.
Exercise 3: Hierarchical Schematic Organisation
You are designing a Bluetooth Low Energy (BLE) asset tracker with the following subsystems: nRF52840 MCU with BLE antenna, GPS module (UART interface), 3-axis accelerometer (I2C), Li-Po battery with charger (USB-C charging), 0.96″ OLED display (SPI), and a debug header (SWD + UART console).
- Design the hierarchical sheet structure. Name each sheet using the numbering convention from this article. List the hierarchical pins (signal names) that connect each child sheet to the root sheet.
- The GPS module needs a 3.0V supply (50mA), the OLED needs 3.3V (20mA), and the accelerometer needs 1.8V (1mA). The MCU runs on 3.3V (10mA average, 20mA peak during BLE TX). Design the power tree. Which rails use LDOs and which need a buck?
- List the ESD protection components you would add and where. Which pins face the outside world?
- The accelerometer (LIS3DH) is marked “NRND” on DigiKey. Find a pin-compatible, active replacement. What nets on your schematic would change?
Hint: Sheets: 00_TopLevel, 01_Power, 02_MCU_BLE, 03_GPS, 04_Sensors, 05_Display, 06_Debug. Root pins: VCC_3V3, VCC_3V0, VCC_1V8, GND, SDA, SCL, UART_TX_GPS, UART_RX_GPS, SPI_MOSI, SPI_SCK, SPI_CS_OLED, nRESET, SWDIO, SWCLK. All rails from Li-Po (3.0-4.2V): buck to 3.3V (main), LDO 3.3→3.0V (GPS), LDO 3.3→1.8V (accel). ESD on USB-C (TVS array), GPS antenna (ESD diode), SWD header (TVS). LIS3DH → LIS2DH12 (pin-compatible active replacement, same I2C address 0x18/0x19).
Schematic Review Checklist Tool
Use this interactive tool to perform a systematic schematic review before moving to PCB layout. Download the checklist as a reference document.
Schematic Review Checklist
Enter your project details to generate a comprehensive schematic review document. Download as Word, Excel, or PDF.
Conclusion & Next Steps
You now understand the complete schematic design workflow — from choosing an EDA tool and organising hierarchical sheets, through component selection with lifecycle awareness, to power supply design and protection circuits. Your schematics are the foundation of everything that follows: PCB layout, manufacturing, and compliance testing.
Next in the Series
In Part 5: PCB Layout, we’ll turn your schematic into a physical board — layer stack-up selection, strategic component placement, trace routing with impedance control, ground plane integrity, thermal management, and DRC verification.