For the complete documentation index, see llms.txt. This page is also available as Markdown.

Breadboard from Blank Parts

Create custom blank parts from scratch and wire an LED circuit on a breadboard.

Goal

Build a simple LED + resistor circuit using blank (custom) parts you create yourself. By the end, you'll understand how to define parts from scratch, add domains and interfaces, place them on the canvas, wire them with a harness, and validate the result with DRC.

Time: About 15 minutes. What you need: A free Protoboard account. No hardware required.

Why blank parts?

The Protoboard parts library has hundreds of real-world components, but sometimes you need a part that isn't in the library yet. Blank parts let you model anything (a custom PCB, a passive component, or a prototype module) and still get the full benefit of Protoboard's validation engine.

In this tutorial you'll create two blank parts: an LED and a 220-ohm resistor. These are common passive components that aren't individually cataloged in the library, making them a perfect use case for custom part creation.


Steps

1

Create a new board

Open Protoboard and click the Project menu in the top-left corner of the top bar. Select New Board. Name it something like "LED Breadboard Circuit".

You'll land on an empty canvas, the infinite 2D workspace where you'll assemble your design.

Opening the Project menu to create a new board
Project menu → New Board opens a fresh, empty canvas.
2

Create a blank part for the LED

Open the Parts Bin by clicking the cuboid icon in the left sidebar. Instead of searching the library, select the option to create a Blank Part. A new empty part appears on your canvas.

Adding a Blank Part from the Parts Bin onto the canvas
Parts Bin → Blank Part lands an empty part on the canvas, ready to configure in the Inspector.

Select the part and open the Inspector panel on the right. Configure the following:

  1. Name: Set it to LED (Red)

  2. Description: Standard 5mm red LED, forward voltage ~2V, max 20mA

  3. Domain: Add the Electrical domain

  4. Interface: Add a power input interface with the role set to return (the LED consumes power). This interface should include two functions:

    • Anode: signal class: power, direction: sink

    • Cathode: signal class: ground, direction: sink

3

Create a blank part for the 220-ohm resistor

Create another Blank Part from the Parts Bin. Select it and configure in the Inspector:

  1. Name: Set it to 220-ohm Resistor

  2. Description: 220-ohm through-hole resistor for current limiting

  3. Domain: Add the Electrical domain

  4. Interface: Add a pass-through interface with two functions:

    • Terminal A: signal class: power, direction: bidirectional

    • Terminal B: signal class: power, direction: bidirectional

The resistor acts as a pass-through element: current flows in one terminal and out the other. This is different from the LED, which has a defined polarity (anode/cathode).

4

Arrange both parts on the canvas

You should now have two parts on the canvas: the LED and the resistor. Drag them so they're near each other with some space between them; this gives you room for the harness connection line.

Layout tip: The canvas supports snap-to-grid. Keeping parts aligned makes your board easier to read and share.

5

Create a harness between the resistor and the LED

dragging from the resistor toward the LED to create a harness
Show the drag gesture from the resistor to the LED, with the harness appearing on release.

Hover near the edge of the 220-ohm Resistor part until a connection handle appears on the edge. Click and drag from that handle toward the LED to create a harness.

What you'll see next depends on whether you configured interfaces in Steps 2 and 3:

Protoboard auto-detects the compatible pair and the harness appears with a PARTIALLY_CONFIGURED or CONFIGURED label. Open the Inspector on the harness to review the proposed interface link pairing the resistor's pass-through interface with the LED's power input interface.

The harness still appears, but it's flagged INCOMPATIBLE in red (see the GIF above). There's nothing for Protoboard to match because the parts have no interfaces yet. Go back to Steps 2 and 3 to configure the interfaces on each part, then re-draw the harness.

If the interfaces are configured but don't auto-match (can happen with very generic definitions), create the interface link manually. Select the harness, open the Inspector, and use the link editor to pair the resistor's Terminal B with the LED's Anode.

6

With the harness selected, open the Inspector and look at the interface link detail view. You need to create function links that map individual signals between the two parts:

  • Map the resistor's Terminal B to the LED's Anode

  • Map a shared ground reference to the LED's Cathode

This tells Protoboard exactly how current flows: through the resistor, into the LED anode, and out through the cathode to ground.

7

Run the Design Rule Check (DRC)

Click the Board Review icon (shield icon) in the left sidebar to open the validation panel and run DRC.

If everything is set up correctly, you should see:

  • CONFIGURED (green) on the harness between the resistor and the LED

If you see issues, here's what they mean:

DRC state
What it means
How to fix

PARTIALLY_CONFIGURED (amber)

Some function links are missing

Open the harness in Inspector and assign the unmapped functions

NOT_CONFIGURED (red)

The interface link exists but no functions are mapped

You need to create function links (Step 6)

INCOMPATIBLE (red)

The interfaces can't connect

Check that roles are complementary (output/pass-through to input)


What you just learned

Concept
What it means

Blank part

A custom component you define from scratch when the library doesn't have what you need

Domain

The system category a part belongs to (Electrical, Mechanical, Pneumatic, etc.)

Interface

A connection point on a part that other parts can link to

Function

An individual signal or pin within an interface (like Anode, Cathode, SCL, SDA)

Pass-through

An interface role for components that pass signals through (like resistors, connectors)


Common failures

My blank part doesn't show up as connectable

Make sure you added at least one interface with a valid protocol type and role. Parts without interfaces have no connection points for harnesses. Go back to the Inspector and add an electrical interface.

DRC shows NOT_CONFIGURED even though I created a harness

Creating a harness is just the first step. You also need to create function links inside the interface link. Select the harness, open the Inspector, and map the individual functions (terminals/pins) between the two parts.

I want to add a power source but there's no battery in the library for this

Create another blank part for your power source (e.g., a 5V USB power supply or a coin cell battery). Give it an electrical domain with a power output interface. Then create a harness from the power source to the resistor's Terminal A.

Can I reuse these blank parts in other boards?

Yes. Blank parts are saved as templates within your project. You can clone them or export the template for use in other boards. Over time, frequently used custom parts become your personal library.


Next steps

Last updated