Skip to main content
Built-in Elements

<systemblock.component />

systemblock.component represents one functional block inside a systemblock.page or systemblock.group. Core sizes the block from its label and description and places it automatically.

System block diagram
import { systemblock } from "tscircuit"

export default () => (
<systemblock.page name="overview">
<systemblock.component
name="sensor"
displayName="Environment sensor"
description="Measures temperature and humidity"
/>
</systemblock.page>
)

See the system block diagrams guide for this block in a complete, rendered diagram.

Component properties​

PropertyDescription
nameRequired component name; unique among all components and groups on the page.
displayNameVisible label; defaults to name.
descriptionDescription of the block's purpose.
pcbComponentNameOne associated PCB component name, such as U1.
pcbComponentNamesSeveral associated PCB component names, such as ["U1", "C1", "C2"].
pcbSubcircuitNameNamed PCB subcircuit in which to resolve component names.

Use the component's name as the from or to prop of a systemblock.connection.

PCB associations​

Use either pcbComponentName or pcbComponentNames. Without pcbSubcircuitName, names resolve in the page's owning subcircuit. Used alone, pcbSubcircuitName associates the whole subcircuit.

Associations do not inherit from groups, change placement, or create connectivity. Missing or ambiguous targets are errors, and referenced PCB output must be enabled and present.

For example, associate a regulator block with its physical circuit:

System block diagram
import { systemblock } from "tscircuit"

export default () => (
<board width="30mm" height="20mm" routingDisabled>
<group name="power" subcircuit>
<chip name="U1" footprint="soic8" pcbX={-5} />
<inductor name="L1" inductance="10uH" footprint="0805" pcbX={2} />
<capacitor name="C1" capacitance="10uF" footprint="0805" pcbX={6} />
<capacitor name="C2" capacitance="10uF" footprint="0805" pcbX={10} />
</group>
<systemblock.page name="power-overview">
<systemblock.component
name="regulator"
displayName="3.3 V regulator"
pcbComponentNames={["U1", "L1", "C1", "C2"]}
pcbSubcircuitName="power"
/>
</systemblock.page>
</board>
)