Skip to main content
Built-in Elements

<breakout />

Overview

A <breakout /> is similar to a <group /> but is meant for situations where you want to guide the autorouter on where connections should exit the group. Inside a breakout you can place <breakoutpoint /> elements to define explicit exit locations, or let tscircuit generate breakout points for connections that leave the breakout.

export default () => (
<board width="20mm" height="20mm">
<breakout autorouter="auto">
<resistor
name="R1"
resistance="1k"
footprint="0402"
pcbX={0}
pcbY={0}
/>
<capacitor
name="C1"
capacitance="1uF"
footprint="0402"
pcbX={2}
pcbY={0}
/>
<trace from="R1.2" to="C1.1" />
<breakoutpoint connection="R1.1" pcbX={5} pcbY={5} />
</breakout>
</board>
)
PCB Circuit Preview

Auto-Generated Breakout Points

When traces connect from components inside a <breakout /> to components outside of it, tscircuit can create the needed breakout points automatically. This keeps the breakout local to the component cluster while still letting board-level traces connect to headers and other surrounding parts.

The example below routes a QFP16 controller inside a breakout to an external pin header and nearby passives without adding any manual <breakoutpoint /> elements.

export default () => (
<board width="20mm" height="16mm">
<breakout name="MCU_BREAKOUT" padding="1mm">
<chip
footprint="qfp16"
name="U1"
pinLabels={{
pin1: "GPIO1",
pin2: "GPIO2",
pin3: "GPIO3",
pin4: "GPIO4",
pin5: "VCC",
pin6: "GND",
pin7: "SDA",
pin8: "SCL",
pin9: "RESET",
pin10: "BOOT",
pin11: "GPIO5",
pin12: "GPIO6",
pin13: "GPIO7",
pin14: "GPIO8",
pin15: "GPIO9",
pin16: "GPIO10",
}}
pcbX={0}
pcbY={0}
/>
<capacitor
name="C1"
capacitance="100nF"
footprint="0402"
pcbX={-3.5}
pcbY={2.4}
/>
<trace from="C1.1" to="U1.GPIO1" />
<trace from="C1.2" to="U1.GPIO3" />
</breakout>
<pinheader
name="J1"
pinCount={4}
footprint="pinrow4"
pinLabels={["VCC", "GND", "SDA", "SCL"]}
pcbX={7}
pcbY={0}
pcbRotation={90}
/>
<resistor
name="R1"
resistance="10k"
footprint="0402"
pcbX={-5}
pcbY={-2.4}
connections={{ pin1: "U1.RESET", pin2: "net.VCC" }}
/>
<trace from="J1.VCC" to="U1.VCC" />
<trace from="J1.GND" to="U1.GND" />
<trace from="J1.SDA" to="U1.SDA" />
<trace from="J1.SCL" to="U1.SCL" />
</board>
)
PCB Circuit Preview

Properties

<breakout /> accepts all the layout properties of <group /> plus a few extras:

PropertyDescription
paddingUniform padding around the breakout region.
paddingLeft / paddingRight / paddingTop / paddingBottomControl padding for each side individually.
autorouterAutorouter configuration inherited by children.