Lesson 5 of 5 · 18 min
DRC, ordering and bring-up
The board looks finished, but a layout that looks right is not the same as one that is right. The last stage is a sequence of checks, each one catching a different class of mistake, followed by export, ordering and your first power-up. Doing this carefully is the difference between a board that works on day one and a drawer full of expensive green coasters.
The Design Rules Checker
DRC compares your board against a list of rules: minimum trace width, minimum clearance between copper of different nets, minimum drill size, silkscreen over pads, overlapping courtyards, unconnected nets. Open it with Inspect > Design Rules Checker and press Run DRC. Keep the option that tests for parity between the PCB and schematic ticked, so DRC also reports a footprint missing from the board or a net that does not match.
Read every item. Violations are real problems, such as a trace too close to a pad. Warnings are less severe, such as silkscreen clipped by a pad. Many first-time messages are caused by an unconnected ground fill or a trace that ends a hair short of a pad. Do not silence an error because you cannot see it: click the item, and KiCad zooms to the spot.
DRC can only check the rules you give it. If the rules are wrong, the board passes and still fails at the factory. This is why you set the limits first.
Match the fab's capabilities
Every factory publishes a table of what it can make reliably. Typical limits for a low-cost two-layer service look like this, but always read the current numbers on the fab's own capability page before you design to them:
| Parameter | Common low-cost fab limit | Our design value |
|---|---|---|
| Minimum trace width | about 0.127 mm | 0.2 mm |
| Minimum clearance | about 0.127 mm | 0.2 mm |
| Minimum drill (via) | about 0.3 mm | 0.3 mm |
| Via annular ring | about 0.13 mm | 0.15 mm |
| Board thickness | 1.6 mm (standard) | 1.6 mm |
| Copper weight | 1 oz (35 µm) | 1 oz |
Enter these in File > Board Setup > Design Rules > Constraints and make your values at least slightly more generous than the fab's. Why? The fab's minimum is the number at which it can still produce boards; staying a bit above it improves yield and avoids extra fees or rejected orders.
Look at it in 3D
Open View > 3D Viewer (key Alt+3). This is a sanity check, not just a pretty picture. Rotate the board and look for:
- Connectors facing the wrong way, or sitting too far inside the board edge to plug into.
- A part missing its 3D model, which can also mean it has the wrong footprint.
- The module antenna overhanging the board without copper below it.
- Components that collide, such as a tall capacitor under the module.
Compare the front face with your schematic: LED anode towards the GPIO resistor, USB-C on the correct edge, pin headers on the correct sides and on a 2.54 mm grid so standard jumper wires fit.
Clean up the silkscreen
Silkscreen is for the person assembling and debugging the board. Use a text height of at least 1 mm with a line width of about 0.15 mm, or the letters turn into blobs. Keep text off pads, because ink on a pad prevents solder from sticking, and DRC flags it. Put reference designators next to their parts and orient them in only two directions (left to right, or bottom to top), so you never turn the board upside down to read one. Add a name and version, such as ESP32C3-BRK v1, plus labels for the headers, for example 3V3, GND, IO3. Mark the LED polarity and the BOOT button. Labels you add now are labels you will not need to guess at in six months.
Export Gerbers and drills
Gerber files are the standard format, one per layer, that tells the factory what to etch, mask and print. Open File > Plot. Choose a new output folder, such as gerbers/, set the format to Gerber, and tick these layers: F.Cu, B.Cu, F.Paste, B.Paste (only if you use paste), F.Silkscreen, B.Silkscreen, F.Mask, B.Mask and Edge.Cuts. Click Plot. Then click Generate Drill Files..., choose Excellon format with millimetres, and generate. The drill files describe where each hole goes and its diameter.
Do not skip a re-check: open the files in KiCad's Gerber Viewer (launched from the Project Manager) and look at them layer by layer. If something is missing, it will be missing from your boards too. Then zip the folder. If you want assembly, also export a BOM and a component placement file using File > Fabrication Outputs.
Ordering in general terms
At JLCPCB or PCBWay the flow is similar. Upload the zip; the site shows a rendered preview and you should compare it against your 3D view. Choose layers (2), dimensions, quantity (usually a minimum of 5), thickness (1.6 mm), colour, surface finish and copper weight. Lead-free HASL is the economical finish; ENIG is flatter and better for fine pitch, but costs more. If you want the parts soldered for you, upload the BOM and placement file and check each line against the stock list. Prices change, but small prototype quantities usually cost a few dollars for the boards plus shipping, with assembly priced separately. Expect about a week to ten days to receive them.
Assembly and bring-up checklist
When boards arrive, resist the urge to plug them straight into a computer. Follow this order:
- Visual inspection. Check for solder bridges on the USB-C pins and the module with a magnifier.
- Continuity with power off. Set a multimeter to continuity (beep) mode. Check that
+5VtoGNDis not shorted,+3V3toGNDis not shorted, and that each pin header pad connects to the right module pin. A short will show as a beep or near 0 Ω. - Current-limited supply. Use a bench supply at 5 V with a limit of 100 mA. A short will make the supply drop to the limit instead of burning a trace.
- Measure the rails. Probe
+3V3and expect 3.3 V, plus or minus 5 percent. Idle current should be a few tens of milliamps once the firmware starts. - Plug in USB. Hold BOOT and tap reset to enter download mode, flash a blink sketch and watch the LED on GPIO3.
If something fails, go back to the continuity step. Most bring-up faults are solder bridges and swapped parts, not design flaws.
Check yourself
You enable a board minimum trace width of 0.127 mm because the fab lists that value. What is a safer approach?
Check yourself
Why power a new board from a current-limited supply the first time?