> For the complete documentation index, see [llms.txt](https://docs.protoboard.xyz/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.protoboard.xyz/protobot/prompt-patterns.md).

# Prompt patterns

Prompts and workflows that get better results from ProtoBot, from finding parts to wiring, validating and planning

## Goal

Write prompts that get ProtoBot to do the right thing the first time.

## Getting started

{% stepper %}
{% step %}

### Open a board and launch ProtoBot

ProtoBot works on the board you have open. Click the robot icon at the top of the left rail; the **Agents** panel opens on the **ProtoBot** tab.
{% endstep %}

{% step %}

### Type what you need in plain language

* "What parts are on this board?"
* "Find me a 3.3V I2C temperature sensor"
* "Run DRC and tell me what's wrong"

The default model handles most tasks. For complex multi-step work, pick a stronger model and raise **Reasoning effort**. Choose **Plan** mode when you want to review a plan before anything changes. See [Models and reasoning effort](/protobot/models-and-reasoning.md) and [Modes](/protobot/modes.md).
{% endstep %}

{% step %}

### Review the response

Expand the **tool-call cards** to see exactly what ProtoBot changed on your board, and the **extended thinking** view for its reasoning. Use the **Stop** button to interrupt generation at any time.
{% endstep %}
{% endstepper %}

***

## Common workflows

{% tabs %}
{% tab title="Find & Place Parts" %}

1. *"Find a voltage regulator that takes 12V in and outputs 3.3V at 500mA"*
2. Review the matches, then: *"Place the LM1117-3.3 onto my board"*

Or combine both: *"Find and place a 3.3V voltage regulator for 12V input."*
{% endtab %}

{% tab title="Wire Connections" %}

1. *"Create a harness between the MCU and the temperature sensor"*
2. *"Auto-link compatible interfaces on that harness"*
3. *"Auto-allocate resources for the I2C link"*

For standard protocols (I2C, SPI, UART), auto-linking handles the pin mapping automatically.
{% endtab %}

{% tab title="Validate & Fix" %}

1. *"Run DRC on the full board"*
2. *"How do I fix the voltage mismatch between the MCU and the sensor?"*
3. Approve the suggested fix, then: *"Run DRC again to confirm"*
   {% endtab %}

{% tab title="Plan a Project" %}

1. *"Set the board description to 'Indoor air quality monitor v1'"*
2. *"Add requirements: must measure CO2, temperature, humidity; battery-powered; BLE connectivity"*
3. *"Create tasks: select sensors, design power circuit, set up BLE interface"*
   {% endtab %}

{% tab title="Manage BOM" %}

1. *"Show me the full BOM"*
2. *"What's the estimated project cost?"*
3. *"Fetch prices for all items"*
4. *"Set DigiKey as the active supplier for the capacitors"*
   {% endtab %}
   {% endtabs %}

***

## Patterns

The more context and constraints you provide, the better ProtoBot performs.

| Pattern                  | Key phrase                                                                     | Why it works                                                          |
| ------------------------ | ------------------------------------------------------------------------------ | --------------------------------------------------------------------- |
| **Constraints-first**    | "I need an I2C sensor that runs on 3.3V, accurate to 0.5 degrees, under $5"    | Filters results immediately instead of triggering follow-up questions |
| **Assumptions-explicit** | "Assume 5V logic and a 12V supply. Find a motor driver for a 2A brushed motor" | Eliminates the most common sources of irrelevant suggestions          |
| **Output-as-changes**    | "Add a 3.3V regulator, create a harness, auto-link, then run DRC"              | You get board changes to review, not an explanation to implement      |
| **Compare alternatives** | "Compare the BME280 vs DHT22 on accuracy, power, interfaces, and cost"         | Focused comparison on your criteria instead of a feature dump         |
| **Explain this error**   | "Why is DRC showing INCOMPATIBLE on the SPI harness, and how do I fix it?"     | Cause and fix in one turn                                             |
| **Build a subsystem**    | "Set up a motor chain: battery, driver, motor. Create harnesses and auto-link" | ProtoBot handles the mechanical steps; you review the result          |
| **Review my design**     | "Run DRC, check utilization, and suggest improvements"                         | A holistic pass across several tools in one request                   |
| **Batch operations**     | "Auto-allocate resources on all harnesses, then run DRC"                       | Repetitive work across the whole board in one turn                    |

{% hint style="success" %}
Combine patterns: *"Assume 3.3V logic. Find an I2C accelerometer under $3, place it, wire it to the MCU, and run DRC."*
{% endhint %}

### Do / Avoid

{% columns %}
{% column %}

### Do

* Be specific about constraints: voltage, current, protocol
* Break complex tasks into reviewable steps
* Use auto-link and auto-allocate for standard connections
* Run DRC frequently to catch issues early
  {% endcolumn %}

{% column %}

### Avoid

* Vague requests ("make it better")
* Skipping review before purchasing or producing
* Ignoring tool-call cards; they tell you exactly what changed
  {% endcolumn %}
  {% endcolumns %}

***

## Sessions

Conversations are saved per board. Start a **New chat session** when you switch topics, and reopen old ones from **Session history**. See [Plans, approvals and sessions](/protobot/plans-approvals-and-sessions.md).

## Related pages

* [Design with ProtoBot](/tutorials/design-with-protobot.md)
* [Modes](/protobot/modes.md)
* [Energy and usage](/protobot/usage-and-energy.md)
* [Agent Bridge setup](/agent-bridge/setup.md): use the same tools from your own agent
