Skip to main content
Built-in Elements

<systemblock.group />

systemblock.group encloses related blocks in a labeled region within a systemblock.page. Its size and position are resolved from its children.

System block diagram
import { systemblock } from "tscircuit"

export default () => (
<systemblock.page name="overview" direction="down">
<systemblock.group name="processing" displayName="Sensing and processing">
<systemblock.component name="sensor" displayName="Environment sensor" />
<systemblock.component name="mcu" displayName="Microcontroller" />
<systemblock.connection from="sensor" to="mcu" label="I2C" />
</systemblock.group>
</systemblock.page>
)

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

Group properties​

PropertyDescription
nameRequired group name; unique among all components and groups on the page.
displayNameVisible label; defaults to name.
descriptionDescription of the subsystem's purpose.
childrenSystem block components, connections, and nested groups.
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.

Groups do not create a separate name scope. A systemblock.connection can refer to a component inside a group by its name from anywhere on the same page. Connection endpoints must be components, not groups.

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.