Diagnostics (DRC, design rule check) is the feature that finds mistakes in your circuit before you start soldering. It tells you, one line at a time in the diagnostics panel at the bottom of the screen, whether power is shorted, whether an LED has overcurrent, whether an electrolytic capacitor is in backwards, and so on. The code names look unfamiliar at first, but with one line of message and the location you can fix most things right away. This article covers how to read the diagnostics panel, the meaning and fix for each rule, and display-level settings. The simulation itself is explained first in Using Patterndo Simulation.
Opening the diagnostics panel
At the right of the status bar at the very bottom of the screen are the E (errors) and W (warnings) numbers. When a number is not 0 it changes color, and pressing it opens the Circuit diagnostics panel. On a narrow phone screen, press the small E·W indicator at the lower left to open the same panel.
Each item in the panel is made up like this.
- The rule name (for example, Component stress) and the level (error, warning, info) on the right
- The small-print rule code (for example, COMPONENT_STRESS)
- The message, shortened to two lines
Click an item and the view moves to the problem location and the related part is selected, and the full message with the coordinate (for example, 36P), the part, and the net appears at the bottom of the panel. The coordinate is a column number combined with a row letter (2D and 3D Views). If there is no problem, it shows "No issues detected." Problems with a location are also marked on the board. For example, for a VCC–GND short, the wires involved in the short are highlighted in orange and a round marker appears where it touches the rail.
What the levels mean
| Level | Color | Meaning | Response |
|---|---|---|---|
| Error | Red | A problem where the circuit does not work as intended or simulation is blocked | Fix it before soldering |
| Warning | Orange | It works, but a part may be at risk or the result may be inaccurate | Review values and placement |
| Info | Gray | Reference notes worth knowing | Check only when needed |
Circuit rules
These check the wiring and jumpers on the board itself. They are calculated even without simulation.
| Rule (code) | Default level | Meaning and fix |
|---|---|---|
| VCC–GND short (SUPPLY_SHORT) | Error, fixed | The VCC rail and GND rail are joined by some path. Follow the wires touching the rail and the highlighted wires, and delete the offending wire or replace it with a jumper |
| Jumper collision (JUMPER_COLLISION) | Error | A jumper wire overlaps a part body. Move the jumper path outside the part or change the part position |
| Wire crossing (WIRE_CROSS) | Error | It is in the rule list, but as explained below, it currently shows up as a short item |
When wires cross
When bare wires cross, like real copper wire, they are calculated as touching at the crossing and the two wires become one net. No separate item appears for the crossing itself, so you have to check for crossings yourself. If the merged result joins VCC and GND, it shows as the VCC–GND short above. Where you have to cross, hop with a jumper wire. An insulated jumper does not connect even when it passes over other wiring (Wiring Methods Compared).
Simulation rules
These appear while simulation is running. The messages and fixes for the items you meet often are as follows.
| Rule (code) | Default level | Meaning and fix |
|---|---|---|
| Missing connection (MISSING_CONNECTION) | Error | A part's pin is connected to nothing, or the VCC or GND rail is missing. Messages like "A resistor is not fully connected to the circuit" and "The IC power connection is incomplete". Connect wiring to the missing pin |
| Invalid component (INVALID_COMPONENT) | Error | The value or pin information is not valid. If it says "The resistance value is not valid", re-enter the value in properties |
| Unsupported IC (UNSUPPORTED_IC_MODEL) | Error | The IC model is not set or its calculation is not supported. Choose a model in the IC properties |
| Blocked component (BLOCKED_COMPONENT) | Error | A part that stopped simulation from starting. The title has the part name and the message gives the reason |
| Component stress (COMPONENT_STRESS) | Warning | A condition where a part exceeds its rating. See the table below |
| Polarity error (POLARITY_ERROR) | Error | "The electrolytic capacitor is connected with reversed polarity". Swap the + and − directions (Capacitor Types and Polarity) |
| Current limit (CURRENT_LIMIT) | Warning | "The battery's maximum current limit engaged and the voltage dropped". The circuit is drawing more current than the supply's limit. Suspect a short or a resistor that is too small |
| Solver did not converge (SOLVER_DIVERGED) | Error | The calculation did not settle. Check the connections and polarity around LEDs, diodes, and transistors |
| Stale simulation result (SIM_STALE) | Warning | A short state right after you fix the circuit, before the result has updated. It will disappear soon |
| Simulation runtime error (SIMULATION_RUNTIME_ERROR) | Error, fixed | An unexpected error occurred during calculation. Turn simulation off and on again, and if it continues, back up with RAW JSON and reload the page |
Kinds of component stress
| Part | Message | Criterion | Fix |
|---|---|---|---|
| LED | Current exceeds the maximum rating | Over 20 mA | Raise the series resistor (LED Current-Limiting Resistors) |
| Resistor | Power dissipation exceeds the rating | Over 0.25 W | Raise the resistance or lower the current. A real part would use a higher wattage |
| Transistor | Collector current exceeds the maximum rating, and so on | Over the model's maximum rating | Check the base resistor and load (Transistor Switch Circuits) |
| Zener diode | Zener current exceeds the maximum rating | Over the maximum current | Raise the series resistor (Diodes and Zener Diodes) |
| Seven-segment | Segment current exceeds the maximum rating. Check the series resistor | Over the per-segment maximum current | Put a resistor on every segment (Driving Seven-Segment Displays) |
Placement rules
They appear only while you drag to move a part or wire, and disappear when you drop it. An error level means it cannot be placed in that position, and a warning means it can be placed but be careful.
| Rule (code) | Default level | Meaning |
|---|---|---|
| Out of board range (OUT_OF_RANGE) | Error | A part or wire goes beyond the range of board holes |
| Non-integer hole (NON_INTEGER_HOLE) | Error | A hole coordinate is not an integer |
| Invalid segment angle (INVALID_SEGMENT_ANGLE) | Error | A wire angle breaks the horizontal, vertical, and 45-degree rule |
| No safe route (NO_SAFE_ROUTE) | Error | During a linked move, there is no path to connect the attached wires safely. Move with normal move and redraw the wires |
| Touching another net (OTHER_NET_CONTACT) | Error | While moving, it touches another net |
| Part overlap (BODY_OVERLAP) | Warning | A part body overlaps another part |
Items such as pin direction mismatch, pin drive conflict, pin low voltage, pin overvoltage, and DC assumption are in the rule list, but in the current version no diagnostics corresponding to these rules are produced.
The order to fix things
- Fix the errors first. If there are red items, the meaning of warnings gets blurred.
- Click an item to move to the location, and follow the part's pins and wires in the message with your eyes.
- Find the same message in the tables above and narrow down the cause. If power looks wrong, Power Rails, Grounding, and Decoupling Capacitor Placement helps, and if a part will not light, It Is Finished but It Does Not Work: A Step-by-Step Checklist.
- After fixing, turn simulation on and see whether the item has gone.
- Solder once it is E 0 W 0. Even so, simulation uses ideal models, so check the same points with a multimeter after soldering.
Display level settings
If unneeded items are distracting or you want to emphasize a particular warning, you can change the display level for each rule. Open Settings and go to the DRC tab, or run "DRC rule settings" in Ctrl+K command search.
- For each rule, choose one of error, warning, info, or off. Rules you changed carry a "Custom" mark.
- You can type a rule name or code in the search box at the top, or narrow by the Circuit, Sim, Placement categories.
- Restore defaults returns to the initial settings. With a category chosen, only that category is restored.
- The VCC–GND short and the simulation runtime error carry a Fixed mark and are always kept as errors.
When you change a level, the diagnostics panel, the markers on the board, and the notices all change to the same standard. However, off only hides the display; the position limits that placement rules enforce and the conditions that block simulation stay as they are. The settings are remembered only in this browser's storage and are not included in share links or RAW files, so on another device or browser they return to defaults (Ads & Cookies).
Summary
Open the diagnostics panel by pressing the E and W numbers, click an item to move to the location, find the message in the tables, and fix it. Shorts and jumper collisions are always checked, while missing connections, component stress, and polarity errors are checked during simulation. Solder after clearing the errors, and if you get stuck, continue checking with It Is Finished but It Does Not Work: A Step-by-Step Checklist. Choosing between jumpers and wiring is compared in Wiring Methods Compared.