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

Quickstart (10 minutes)

Build your first project (an Arduino Uno with a BME280 sensor) and run validation in under 10 minutes.

Goal

By the end of this guide you will have a working Protoboard project with two real parts connected over I2C, a passing design rule check, and a bill of materials ready to export. The whole thing takes about ten minutes.

What you need: A free Protoboard account. No hardware required; everything happens in the browser.

What you are building

A simple environmental sensing setup: an Arduino Uno Rev3 reading temperature, humidity, and pressure from a BME280 sensor over the I2C bus. This is one of the most common beginner hardware projects, and it is a great way to learn the Protoboard workflow.


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. Give your board a name. Something like "Arduino Weather Station" works fine.

You will land on an empty canvas: an infinite 2D workspace with a dot grid where you will assemble your design.

An empty Protoboard canvas with dot grid and the Add Your First Part prompt
The empty canvas, ready for parts
2

Add the Arduino Uno Rev3

Open the Parts Bin by clicking the cuboid icon in the left activity bar. Type "Arduino Uno" in the search field. When the Arduino Uno Rev3 appears in the results, drag it onto the canvas.

Parts Bin sidebar showing Arduino Uno search results
Searching for Arduino Uno in the Parts Bin

You should see the part appear on the grid. Click it once to select it, and the Inspector panel on the right will show its properties: interfaces, resources, and metadata.

Arduino Uno Rev3 placed on the Protoboard canvas
The Arduino Uno Rev3 on the canvas
3

Add the BME280 sensor

With the Parts Bin still open, clear the search and type "BME280". Drag the BME280 sensor onto the canvas near the Arduino.

Arduino Uno Rev3 and BME280 Sensor side by side on the canvas
Both parts placed on the canvas

Placement tip: Drop the BME280 to the right of the Arduino so you have room for the connection between them. The canvas supports snap-to-grid to keep things tidy.

4

Connect the two parts with a harness

Hover near the edge of the Arduino part until a connection handle appears. Click and drag from the Arduino toward the BME280 to create a harness, the logical connection that carries one or more interface links between parts.

Protoboard auto-detects compatible interfaces. In this case it will find the I2C interface on both parts and propose a match. You can review the proposed interface link in the Inspector panel on the right side.

ProtoBot showing the I2C interface linked between Arduino and BME280 with SDA and SCL connected
I2C harness connected: SDA and SCL linked, status CONFIGURED

What just happened? The harness created an interface link pairing the I2C interface on the Arduino with the I2C interface on the BME280. Inside that link, individual function links map signals like SCL, SDA, VCC, and GND between the two parts.

5

Run the Design Rule Check (DRC)

Click the Board Review icon (shield icon) in the left activity bar. This opens the validation panel and runs the DRC, Protoboard's automated check of every connection on your board.

Board Review panel showing one DRC issue (PARTIAL) with I2C and Power harnesses visible on the canvas in dark mode
Board Review flagging a partial I2C connection that needs resource allocation

Each connection will show one of these states:

  • CONFIGURED (green): Everything looks good.

  • PARTIALLY_CONFIGURED (amber): Some functions are mapped but others still need attention.

  • NOT_CONFIGURED (red): The interface link exists but no functions are mapped yet.

  • INCOMPATIBLE (red): The parts cannot connect this way.

6

Fix any issues

If the DRC flags issues (for example, the I2C connection needs resource allocation, mapping specific pins on the Arduino to the I2C functions), you have two options:

Open ProtoBot (the AI icon in the left activity bar) and ask it to resolve the flagged issues. ProtoBot has over 70 specialized tools and can auto-allocate resources, suggest fixes, and even add adapter components if needed.

Select the harness on the canvas, open the Inspector panel, and use the interface link detail view to assign resources and functions yourself. This gives you full control over which pins and signals are used.

Re-run the DRC after making changes. Your goal is all green: CONFIGURED across the board.

7

Review your Bill of Materials

Open the BOM panel by clicking the cart icon in the left activity bar. You will see a list of every part in your design (in this case the Arduino Uno Rev3 and the BME280) along with cost estimates and supplier information where available.

Bill of Materials panel showing Arduino Uno Rev3 and BME280 Sensor with prices and supplier info
Bill of Materials with both parts, prices, and export options

From here you can:

  • Export to CSV or PDF for purchasing or documentation

  • Share your board with teammates using the share button in the top bar


What you just learned

Concept
What it means

Board

Your project workspace on the canvas

Part

A component like the Arduino or BME280

Harness

The logical connection bundle between two parts

Interface Link

A pairing of compatible interfaces (e.g., I2C to I2C)

DRC

The automated design rule check that validates your connections

BOM

The bill of materials listing every part you need to buy


Common gotchas

I see "PARTIALLY_CONFIGURED" on my I2C connection

This usually means some function links (like VCC or GND) have not been mapped yet. Select the harness, open the Inspector, and assign the missing functions. Or ask ProtoBot to auto-allocate.

The DRC shows "INCOMPATIBLE"

The two interfaces cannot connect directly. Check whether you have the right parts selected. If the parts are correct, Protoboard may suggest an adapter component to bridge the gap.

I cannot find a part in the Parts Bin

Try different search terms (e.g., "BME280" instead of "Bosch BME280"). If the part is not in the library, you can create a blank part and define its interfaces and resources manually using the Inspector.


Next steps

Last updated