From Breadboard to Custom PCB: Complete Beginner Guide
Every custom PCB follows a six-stage pipeline: concept, schematic, layout, Gerber export, ordering, and assembly. This guide walks through each stage with real costs, common mistakes, and tool recommendations so you can turn your ESP32 or Arduino breadboard prototype into a professional printed circuit board.
What You Need
Why Go from Breadboard to PCB
Breadboards are perfect for validating a circuit concept, but they fail in every dimension that matters for a finished project. Breadboard connections have 2-5 ohms of contact resistance per junction, which introduces noise into analog signals and causes voltage drops across power rails. Wires pull loose. The whole assembly is fragile, bulky, and impossible to enclose.
A custom PCB eliminates all of these problems. Copper traces have milliohm-level resistance. Connections are permanent. The board can be any shape and size — a typical 2-layer hobby board is 1.6mm thick and weighs a few grams. Surface-mount components shrink the footprint by 60-80% compared to through-hole equivalents.
The cost barrier has collapsed. In 2015, a small-run PCB order cost $50-100 minimum. In 2026, 5 copies of a 2-layer board cost $2-5 from JLCPCB or $15-25 from OSH Park (domestic US, no tariffs). A first custom board — including design tool learning time — is a weekend project, not a month-long endeavor.
Stage 1: Concept — Define What Your Board Does
Before opening a design tool, write down the functional requirements on paper. What microcontroller or module will the board use? What peripherals does it need (sensors, displays, motor drivers, radio modules)? What connectors and headers are required? What power source will it use, and what voltage regulation is needed?
For a first custom board, start simple. The most common beginner project is a custom carrier board for an existing module — an ESP32-WROOM, a Raspberry Pi Pico, or an Arduino Nano ESP32. The module handles the complex RF layout, and your board provides power regulation, connectors, and peripheral circuits. This approach eliminates the hardest parts of PCB design (RF impedance matching, fine-pitch BGA routing) while still teaching you the full pipeline.
Sketch a block diagram showing power flow, signal connections, and physical placement. Decide on a target board size — credit-card size (85x54mm) is a good starting constraint for a first board. List every component you need: resistors, capacitors, voltage regulator, connectors, LEDs, the microcontroller module. This becomes your Bill of Materials (BOM).
Stage 2: Schematic — Draw the Electrical Connections
The schematic captures the logical connections between components without worrying about physical placement. Think of it as a wiring diagram — it shows what connects to what, not where things go on the board.
Open your design tool (KiCad and EasyEDA are both free — see our PCB design software guide for help choosing) and create a new project. Place component symbols from the library: your microcontroller module, voltage regulator, decoupling capacitors (100nF ceramic on every power pin — non-negotiable), pull-up resistors for I2C lines (4.7K ohm typical), bulk capacitors on the input power rail (10-100uF), and any peripheral ICs.
Connect pins using wires (called "nets"). Use named net labels for power rails (3V3, 5V, GND) and signal buses rather than drawing wires across the entire sheet. Every IC needs decoupling capacitors placed electrically close to its power pins — this is the single most important rule in PCB design and the most common beginner mistake to skip.
Run the Electrical Rules Check (ERC). This catches unconnected pins, shorted nets, and power flag errors. Fix every error and warning — they almost always indicate real problems. A clean ERC is your sign that the schematic is ready for layout.
Stage 3: Layout — Arrange Components on the Physical Board
PCB layout is where your schematic becomes a physical object. You place component footprints (the actual pads and silk markings) on the board and route copper traces between them.
Start by defining the board outline. Set it to your target size (e.g., 50x50mm for a first board). Place the microcontroller module first — it has the most connections and drives the rest of the layout. Put connectors on the board edges. Group related components together: voltage regulator near the power input, decoupling caps within 3mm of their IC's power pins, pull-up resistors near the I2C bus connector.
Route traces manually for your first board rather than using the autorouter — you will learn far more about PCB design this way. Use 0.25mm (10mil) traces for signals and 0.5-1.0mm traces for power. Keep analog and digital signals separated. For a 2-layer board, route horizontal traces on the front and vertical traces on the back, using vias to switch layers.
Pay special attention to the ground plane. On a 2-layer board, fill the back copper layer with a ground pour — this provides a low-impedance return path for all signals and dramatically reduces electromagnetic interference. In KiCad, use "Add Filled Zone" on the back layer and assign it to the GND net.
Run the Design Rules Check (DRC). This verifies that traces meet minimum width and spacing requirements (6mil/6mil is standard for budget fabs like JLCPCB), vias meet size constraints, and no copper overlaps where it should not. Fix every DRC error — fabs will reject boards with clearance violations.
Stage 4: Gerber Export — Generate Manufacturing Files
Gerber files are the universal language of PCB fabrication. They describe each copper layer, soldermask layer, silkscreen layer, and drill pattern as separate files. Every fab on earth accepts Gerber RS-274X format.
In KiCad, go to File > Fabrication Outputs > Gerbers. Select all copper layers (F.Cu, B.Cu for a 2-layer board), both soldermask layers (F.Mask, B.Mask), both silkscreen layers (F.Silkscreen, B.Silkscreen), and the board outline (Edge.Cuts). Generate drill files separately via File > Fabrication Outputs > Drill Files. Use the default settings — Excellon format, millimeters, decimal places 4.
You will also need a BOM (Bill of Materials) and CPL (Component Placement List) if you are ordering assembly. The BOM lists every component with its value, package, and LCSC/manufacturer part number. The CPL specifies the X/Y coordinates, rotation, and layer of each component. KiCad plugins like the JLCPCB Fabrication Toolkit generate all three file sets (Gerbers, BOM, CPL) in one click.
Before uploading, verify your Gerbers using a free viewer like KiCad's built-in Gerber viewer or the online viewer at jlcpcb.com. Check that: the board outline is closed, all pads are visible, soldermask openings expose the right pads, silkscreen text is readable (minimum 0.8mm height), and drill holes appear where expected. This 5-minute check catches most fabrication errors before you pay for boards.
Stage 5: Ordering — Upload and Configure
Upload your Gerber ZIP to your chosen fab. All three major services (JLCPCB, PCBWay, OSH Park) auto-detect board dimensions, layer count, and drill sizes from the Gerber files. Review the auto-detected parameters carefully.
For a first board, stick with these standard specs to keep costs minimal: 2-layer, 1.6mm thickness, FR4 material, 1oz copper weight, HASL surface finish (cheapest option — lead-free HASL or ENIG cost $3-5 more), green soldermask. These are the default settings on every fab and produce perfectly functional boards for any hobbyist project.
JLCPCB's order page shows a real-time price calculator — experiment with quantity breaks. Going from 5 to 10 boards often adds only $1-2 to the total. PCBWay quotes by email for non-standard specs. OSH Park has fixed pricing at $5/sq.in. for 2-layer with no options to tweak — simplicity is their selling point.
If ordering assembly, upload your BOM and CPL alongside the Gerbers. The fab's system will match your BOM entries to their component stock and flag any parts they cannot source. Resolve these before placing the order — substituting an out-of-stock 100nF 0402 capacitor with a 100nF 0603 is usually fine; substituting a voltage regulator is not.
Stage 6: Assembly and Testing
If you ordered bare boards, you will solder components yourself. For through-hole components, a basic soldering iron (anything temperature-controlled from 250-350C) is sufficient. For surface-mount components, you have three options in ascending order of capability: hand-soldering with flux and fine-tip iron (works down to 0603 passives and SOIC packages), hot-air rework station (handles QFN and smaller passives), or solder paste plus hot plate or reflow oven (handles everything including BGA, though that is advanced territory).
For a first board, design with 0805 or 0603 passives and SOIC/SOT-23 ICs — these are hand-solderable with a basic iron and tweezers. Avoid QFN or BGA packages until you have reflow capability. Using an ESP32-WROOM or ESP32-S3-WROOM module rather than a bare ESP32 chip means the hardest soldering (the module's RF shielding and fine-pitch connections) is already done.
Once assembled, power the board through a current-limited bench supply set to 100mA initially. If current draw is reasonable (a bare ESP32 module draws 40-80mA at idle), increase the limit and test each subsystem. Check voltage regulator output, verify I2C and SPI communication with peripherals, and test GPIO functionality. A multimeter and a USB logic analyzer ($10-15 for a Saleae-compatible clone) are your primary debugging tools.
Expect your first board revision to need changes. Professional hardware engineers budget 2-3 board spins for a new design. Common first-revision issues: wrong footprint for a component (verify every footprint against the actual part's datasheet dimensions), missing decoupling capacitors (add more — you cannot have too many), and incorrect GPIO assignments (triple-check pin mappings between your schematic and the module's datasheet).
Module vs Bare Chip: When to Use Each
For your first several custom boards, always use a module (ESP32-WROOM, ESP32-S3-WROOM, RP2040 with external flash) rather than a bare chip. Modules integrate the MCU, flash memory, crystal oscillator, and RF components onto a pre-certified, pre-tested sub-board. Your custom PCB just needs to provide power, connect GPIO pins, and add peripheral circuits.
The ESP32-S3-WROOM-1 module, for example, contains the ESP32-S3 chip, 8-16MB flash, up to 8MB PSRAM, 40MHz crystal, antenna matching network, and a PCB or external antenna — all in a 18x25.5mm package with 2.54mm-pitch castellated pads. Designing a board with this module requires nothing more than a 3.3V regulator, a few bypass capacitors, a USB-C connector for programming, and header pins for GPIO access.
Going bare-chip makes sense when: you need the absolute smallest possible board size, you are making 500+ units and the $1-2 per-module cost premium matters, you need a specific antenna design (ceramic chip antenna, external antenna via U.FL connector), or you need access to pins that the module does not expose. Bare-chip ESP32 design requires impedance-controlled traces for the RF path (50-ohm), careful crystal oscillator layout, and FCC/CE certification of your complete design — a 4-layer board is effectively mandatory.
Frequently Asked Questions
How much does a first custom PCB cost?
A basic 2-layer board costs $2 for 5 copies from JLCPCB or about $15-25 from OSH Park for 3 copies (domestic US). Shipping and tariffs add $15-30 for Chinese fabs. The design software (KiCad or EasyEDA) is free. Budget $20-50 total for your first bare-board order, or $40-80 with assembly.
Should I use KiCad or EasyEDA for my first PCB?
EasyEDA is easier to learn and has one-click JLCPCB ordering with integrated LCSC component sourcing. KiCad is more powerful, fully open-source, and is the industry standard for open-source hardware projects. Start with EasyEDA if you want the fastest path to your first board; learn KiCad if you plan to make PCB design a regular skill.
Can I make a custom ESP32 board without RF design experience?
Yes — use an ESP32-WROOM or ESP32-S3-WROOM module instead of a bare ESP32 chip. The module handles all RF design, crystal oscillator layout, and flash memory integration. Your custom board just provides power regulation, USB connectivity, and GPIO breakout. No impedance-controlled traces or 4-layer stackups needed.
What is the smallest surface-mount component I can hand-solder?
Most people can hand-solder 0603 passives (1.6x0.8mm) and SOIC ICs with practice. Experienced solderers can handle 0402 passives (1.0x0.5mm) and QFP packages. QFN and BGA packages effectively require a hot-air station or reflow oven. For a first board, design with 0805 or 0603 passives to keep hand assembly straightforward.
How many board revisions should I expect?
Professional hardware engineers typically budget 2-3 revisions for a new design. Common first-revision issues include wrong footprints, missing decoupling capacitors, and incorrect GPIO assignments. You can reduce revisions by triple-checking every footprint against its datasheet, running DRC religiously, and keeping the first board simple.
What files do I need to send to a PCB fabricator?
Gerber files (one per copper layer, soldermask layer, and silkscreen layer, plus a board outline), plus Excellon drill files. For assembly, you also need a BOM (Bill of Materials) listing every component with part numbers, and a CPL (Component Placement List) with X/Y coordinates and rotation for each part. KiCad and EasyEDA both export all of these.
Do I need a 4-layer board for an ESP32 project?
Not if you use an ESP32 module (WROOM or WROVER). A 2-layer board with a ground pour on the back layer is sufficient for module-based designs. A 4-layer board is recommended for bare-chip ESP32 designs where you need dedicated ground and power planes for RF performance and signal integrity. 4-layer boards cost roughly 3-4x more than 2-layer.