<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>
)
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>
)
Properties
<breakout /> accepts all the layout properties of <group /> plus a few extras:
| Property | Description |
|---|---|
padding | Uniform padding around the breakout region. |
paddingLeft / paddingRight / paddingTop / paddingBottom | Control padding for each side individually. |
autorouter | Autorouter configuration inherited by children. |