Model-specific tscircuit components for development boards that plug into female pin headers.
The package includes dedicated model-specific modules for all 427 entries in
the catalog, covering popular breadboard/header modules from Adafruit,
SparkFun, Pololu, Seeed, Arduino, Raspberry Pi, and common marketplace
families. The implementation status and audit trail live in
TODOS.md.
The first concrete model-specific modules are:
AdafruitFeatherRP2040: the Adafruit Feather RP2040 with one 12-pin row, one 16-pin row, and the supported I2C/SPI/UART mux capabilities for every exposed GPIO.SeeedXiaoRP2040: the Seeed Studio XIAO RP2040 with two 7-pin rows and all 14 header pins mapped to the board and RP2040 names.PololuA4988StepperMotorDriverCarrier: the Pololu item 2980 A4988 carrier used by Arduino CNC shields, with its 2x8 socket, motor outputs, control inputs, power domains, and microstep pull-downs modeled explicitly.
Each component is a single <chip /> backed entirely by a female headermodule
footprinter string. Every exposed header pin has pinAttributes, including
GPIO behavior, internal pull support, I2C/SPI/UART capabilities, and explicit
power/ground direction and voltage where applicable.
Catalog entries use explicit interface-level header maps (for example, VCC, GND, SDA, and SCL for an I2C breakout) and are exported as named components, so a board can be designed against a stable female-header socket immediately. The existing Feather, XIAO, Nano, Pico, and other development-board models use their own form-factor pin maps.
import {
AdafruitFeatherRP2040,
AdafruitAHT20TemperatureAndHumidityBreakout,
PololuA4988StepperMotorDriverCarrier,
SeeedXiaoRP2040,
} from "@tscircuit/header-modules"
export default () => (
<board width="130mm" height="30mm">
<AdafruitFeatherRP2040 name="U1" pcbX={-20} />
<SeeedXiaoRP2040 name="U2" pcbX={30} />
<PololuA4988StepperMotorDriverCarrier name="U3" pcbX={50} />
<AdafruitAHT20TemperatureAndHumidityBreakout name="U4" pcbX={70} />
</board>
)Both footprints place the USB connector on the negative PCB X side when
pcbRotation={0}. Feather and Xiao remain as deprecated aliases for the
two RP2040 models.
The exported model data includes:
ADAFRUIT_FEATHER_RP2040_FOOTPRINTADAFRUIT_FEATHER_RP2040_PIN_LABELSADAFRUIT_FEATHER_RP2040_PIN_ATTRIBUTESSEEED_XIAO_RP2040_FOOTPRINTSEEED_XIAO_RP2040_PIN_LABELSSEEED_XIAO_RP2040_PIN_ATTRIBUTESPOLOLU_A4988_STEPPER_MOTOR_DRIVER_CARRIER_FOOTPRINTPOLOLU_A4988_STEPPER_MOTOR_DRIVER_CARRIER_PIN_LABELSPOLOLU_A4988_STEPPER_MOTOR_DRIVER_CARRIER_PIN_ATTRIBUTES
Runnable board examples live in sample-boards. The first
example combines the XIAO RP2040 and A4988 carrier into a USB-controlled,
separately powered bipolar stepper controller with the recommended local motor
supply bulk capacitor.
The XIAO component also provides XIAO_PIN1 through XIAO_PIN14 aliases for
Seeed's official header numbering. This keeps those numbers exact even though
the underlying headermodule footprinter has its own perimeter numbering.
All aliases are available in selectors; pass showPinAliases when you also
want them rendered inside the schematic symbol.
Pin mappings are based on the official Adafruit Feather RP2040 pinout and Seeed Studio XIAO RP2040 documentation. The A4988 geometry, power limits, and control behavior come from Pololu's carrier documentation and dimension drawing.
Independent row spacing, sparse pin grids, module outlines, literal silkscreen
labels, and pin-one markers are provided by @tscircuit/footprinter 0.0.409 or
newer. The package is pinned to that release so the headermodule geometry and
silkscreen output are generated by the published implementation.