mohan-bee/stm32-midi-keys
Clips rectangular ground-region geometry to fit within the board’s scaled rounded-edge outline using polygon intersection.
- Version
- 1.0.2
- License
- unset
- Stars
- 0
imports/STM32F072CBT6.tsx
import type { ChipProps } from "@tscircuit/props"
const pinLabels = {
pin1: ["VBAT"],
pin2: ["PC13"],
pin3: ["PC14","OSC32_IN"],
pin4: ["PC15","OSC32_OUT"],
pin5: ["PF0","OSC_IN"],
pin6: ["PF1","OSC_OUT"],
pin7: ["NRST"],
pin8: ["VSSA"],
pin9: ["VDDA"],
pin10: ["PA0"],
pin11: ["PA1"],
pin12: ["PA2"],
pin13: ["PA3"],
pin14: ["PA4"],
pin15: ["PA5"],
pin16: ["PA6"],
pin17: ["PA7"],
pin18: ["PB0"],
pin19: ["PB1"],
pin20: ["PB2"],
pin21: ["PB10"],
pin22: ["PB11"],
pin23: ["VSS1"],
pin24: ["VDD1"],
pin25: ["PB12"],
pin26: ["PB13"],
pin27: ["PB14"],
pin28: ["PB15"],
pin29: ["PA8"],
pin30: ["PA9"],
pin31: ["PA10"],
pin32: ["PA11"],
pin33: ["PA12"],
pin34: ["PA13"],
pin35: ["VSS2"],
pin36: ["VDDIO"],
pin37: ["PA14"],
pin38: ["PA15"],
pin39: ["PB3"],
pin40: ["PB4"],
pin41: ["PB5"],
pin42: ["PB6"],
pin43: ["PB7"],
pin44: ["BOOT0"],
pin45: ["PB8"],
pin46: ["PB9"],
pin47: ["VSS3"],
pin48: ["VDD2"]
} as const
const pinAttributes = {
pin9: {isInput: true, capabilities: [], requiresPower: true, includeInBoardPinout: false, mustBeConnected: true, shouldHaveDecouplingCapacitor: true},
pin23: {capabilities: [], requiresGround: true, requiresVoltage: 0, includeInBoardPinout: false, mustBeConnected: true},
pin24: {isInput: true, capabilities: [], requiresPower: true, includeInBoardPinout: false, mustBeConnected: true, shouldHaveDecouplingCapacitor: true},
pin35: {capabilities: [], requiresGround: true, requiresVoltage: 0, includeInBoardPinout: false, mustBeConnected: true},
pin47: {capabilities: [], requiresGround: true, requiresVoltage: 0, includeInBoardPinout: false, mustBeConnected: true},
pin48: {isInput: true, capabilities: [], requiresPower: true, includeInBoardPinout: false, mustBeConnected: true, shouldHaveDecouplingCapacitor: true},
pin1: {isInput: true, capabilities: [], requiresPower: true, includeInBoardPinout: false, shouldHaveDecouplingCapacitor: true},
pin2: {isInput: true, isOutput: true, isBidirectional: true, canUseTriState: true, capabilities: [], canUseInternalPullup: true, canUseInternalPulldown: true, canUseOpenDrain: true, canUsePushPull: true, isGpio: true},
pin3: {isInput: true, isOutput: true, isBidirectional: true, canUseTriState: true, capabilities: [], canUseInternalPullup: true, canUseInternalPulldown: true, canUseOpenDrain: true, canUsePushPull: true, isGpio: true},
pin4: {isInput: true, isOutput: true, isBidirectional: true, canUseTriState: true, capabilities: [], canUseInternalPullup: true, canUseInternalPulldown: true, canUseOpenDrain: true, canUsePushPull: true, isGpio: true},
pin5: {isInput: true, isOutput: true, isBidirectional: true, canUseTriState: true, capabilities: [], canUseInternalPullup: true, canUseInternalPulldown: true, canUseOpenDrain: true, canUsePushPull: true, isGpio: true},
pin6: {isInput: true, isOutput: true, isBidirectional: true, canUseTriState: true, capabilities: [], canUseInternalPullup: true, canUseInternalPulldown: true, canUseOpenDrain: true, canUsePushPull: true, isGpio: true},
pin7: {isInput: true, isOutput: true, isBidirectional: true, capabilities: [], canUseInternalPullup: true, canUseOpenDrain: true},
pin8: {capabilities: [], requiresGround: true, requiresVoltage: 0, includeInBoardPinout: false, mustBeConnected: true},
pin10: {isInput: true, isOutput: true, isBidirectional: true, canUseTriState: true, capabilities: ["uart_tx"], canUseInternalPullup: true, canUseInternalPulldown: true, canUseOpenDrain: true, canUsePushPull: true, isGpio: true},
pin11: {isInput: true, isOutput: true, isBidirectional: true, canUseTriState: true, capabilities: ["uart_rx"], canUseInternalPullup: true, canUseInternalPulldown: true, canUseOpenDrain: true, canUsePushPull: true, isGpio: true},
pin12: {isInput: true, isOutput: true, isBidirectional: true, canUseTriState: true, capabilities: ["uart_tx"], canUseInternalPullup: true, canUseInternalPulldown: true, canUseOpenDrain: true, canUsePushPull: true, isGpio: true},
pin13: {isInput: true, isOutput: true, isBidirectional: true, canUseTriState: true, capabilities: ["uart_rx"], canUseInternalPullup: true, canUseInternalPulldown: true, canUseOpenDrain: true, canUsePushPull: true, isGpio: true},
pin14: {isInput: true, isOutput: true, isBidirectional: true, canUseTriState: true, capabilities: ["spi_cs"], canUseInternalPullup: true, canUseInternalPulldown: true, canUseOpenDrain: true, canUsePushPull: true, isGpio: true},
pin15: {isInput: true, isOutput: true, isBidirectional: true, canUseTriState: true, capabilities: ["spi_sck"], canUseInternalPullup: true, canUseInternalPulldown: true, canUseOpenDrain: true, canUsePushPull: true, isGpio: true},
pin16: {isInput: true, isOutput: true, isBidirectional: true, canUseTriState: true, capabilities: ["spi_miso"], canUseInternalPullup: true, canUseInternalPulldown: true, canUseOpenDrain: true, canUsePushPull: true, isGpio: true},
pin17: {isInput: true, isOutput: true, isBidirectional: true, canUseTriState: true, capabilities: ["spi_mosi"], canUseInternalPullup: true, canUseInternalPulldown: true, canUseOpenDrain: true, canUsePushPull: true, isGpio: true},
pin18: {isInput: true, isOutput: true, isBidirectional: true, canUseTriState: true, capabilities: [], canUseInternalPullup: true, canUseInternalPulldown: true, canUseOpenDrain: true, canUsePushPull: true, isGpio: true},
pin19: {isInput: true, isOutput: true, isBidirectional: true, canUseTriState: true, capabilities: [], canUseInternalPullup: true, canUseInternalPulldown: true, canUseOpenDrain: true, canUsePushPull: true, isGpio: true},
pin20: {isInput: true, isOutput: true, isBidirectional: true, canUseTriState: true, capabilities: [], canUseInternalPullup: true, canUseInternalPulldown: true, canUseOpenDrain: true, canUsePushPull: true, isGpio: true},
pin21: {isInput: true, isOutput: true, isBidirectional: true, canUseTriState: true, capabilities: ["i2c_scl","spi_sck","uart_tx"], canUseInternalPullup: true, canUseInternalPulldown: true, canUseOpenDrain: true, canUsePushPull: true, isGpio: true},
pin22: {isInput: true, isOutput: true, isBidirectional: true, canUseTriState: true, capabilities: ["i2c_sda","uart_rx"], canUseInternalPullup: true, canUseInternalPulldown: true, canUseOpenDrain: true, canUsePushPull: true, isGpio: true},
pin25: {isInput: true, isOutput: true, isBidirectional: true, canUseTriState: true, capabilities: ["spi_cs"], canUseInternalPullup: true, canUseInternalPulldown: true, canUseOpenDrain: true, canUsePushPull: true, isGpio: true},
pin26: {isInput: true, isOutput: true, isBidirectional: true, canUseTriState: true, capabilities: ["i2c_scl","spi_sck"], canUseInternalPullup: true, canUseInternalPulldown: true, canUseOpenDrain: true, canUsePushPull: true, isGpio: true},
pin27: {isInput: true, isOutput: true, isBidirectional: true, canUseTriState: true, capabilities: ["i2c_sda","spi_miso"], canUseInternalPullup: true, canUseInternalPulldown: true, canUseOpenDrain: true, canUsePushPull: true, isGpio: true},
pin28: {isInput: true, isOutput: true, isBidirectional: true, canUseTriState: true, capabilities: ["spi_mosi"], canUseInternalPullup: true, canUseInternalPulldown: true, canUseOpenDrain: true, canUsePushPull: true, isGpio: true},
pin29: {isInput: true, isOutput: true, isBidirectional: true, canUseTriState: true, capabilities: [], canUseInternalPullup: true, canUseInternalPulldown: true, canUseOpenDrain: true, canUsePushPull: true, isGpio: true},
pin30: {isInput: true, isOutput: true, isBidirectional: true, canUseTriState: true, capabilities: ["uart_tx"], canUseInternalPullup: true, canUseInternalPulldown: true, canUseOpenDrain: true, canUsePushPull: true, isGpio: true},
pin31: {isInput: true, isOutput: true, isBidirectional: true, canUseTriState: true, capabilities: ["uart_rx"], canUseInternalPullup: true, canUseInternalPulldown: true, canUseOpenDrain: true, canUsePushPull: true, isGpio: true},
pin32: {isInput: true, isOutput: true, isBidirectional: true, canUseTriState: true, capabilities: [], canUseInternalPullup: true, canUseInternalPulldown: true, canUseOpenDrain: true, canUsePushPull: true, isGpio: true},
pin33: {isInput: true, isOutput: true, isBidirectional: true, canUseTriState: true, capabilities: [], canUseInternalPullup: true, canUseInternalPulldown: true, canUseOpenDrain: true, canUsePushPull: true, isGpio: true},
pin34: {isInput: true, isOutput: true, isBidirectional: true, canUseTriState: true, capabilities: [], canUseInternalPullup: true, canUseInternalPulldown: true, canUseOpenDrain: true, canUsePushPull: true, isGpio: true},
pin36: {isInput: true, capabilities: [], requiresPower: true, includeInBoardPinout: false, mustBeConnected: true, shouldHaveDecouplingCapacitor: true},
pin37: {isInput: true, isOutput: true, isBidirectional: true, canUseTriState: true, capabilities: ["uart_tx"], canUseInternalPullup: true, canUseInternalPulldown: true, canUseOpenDrain: true, canUsePushPull: true, isGpio: true},
pin38: {isInput: true, isOutput: true, isBidirectional: true, canUseTriState: true, capabilities: ["spi_cs","uart_rx"], canUseInternalPullup: true, canUseInternalPulldown: true, canUseOpenDrain: true, canUsePushPull: true, isGpio: true},
pin39: {isInput: true, isOutput: true, isBidirectional: true, canUseTriState: true, capabilities: ["spi_sck"], canUseInternalPullup: true, canUseInternalPulldown: true, canUseOpenDrain: true, canUsePushPull: true, isGpio: true},
pin40: {isInput: true, isOutput: true, isBidirectional: true, canUseTriState: true, capabilities: ["spi_miso"], canUseInternalPullup: true, canUseInternalPulldown: true, canUseOpenDrain: true, canUsePushPull: true, isGpio: true},
pin41: {isInput: true, isOutput: true, isBidirectional: true, canUseTriState: true, capabilities: ["spi_mosi"], canUseInternalPullup: true, canUseInternalPulldown: true, canUseOpenDrain: true, canUsePushPull: true, isGpio: true},
pin42: {isInput: true, isOutput: true, isBidirectional: true, canUseTriState: true, capabilities: ["i2c_scl","uart_tx"], canUseInternalPullup: true, canUseInternalPulldown: true, canUseOpenDrain: true, canUsePushPull: true, isGpio: true},
pin43: {isInput: true, isOutput: true, isBidirectional: true, canUseTriState: true, capabilities: ["i2c_sda","uart_rx"], canUseInternalPullup: true, canUseInternalPulldown: true, canUseOpenDrain: true, canUsePushPull: true, isGpio: true},
pin44: {isInput: true, capabilities: [], mustBeConnected: true},
pin45: {isInput: true, isOutput: true, isBidirectional: true, canUseTriState: true, capabilities: ["i2c_scl"], canUseInternalPullup: true, canUseInternalPulldown: true, canUseOpenDrain: true, canUsePushPull: true, isGpio: true},
pin46: {isInput: true, isOutput: true, isBidirectional: true, canUseTriState: true, capabilities: ["i2c_sda","spi_cs"], canUseInternalPullup: true, canUseInternalPulldown: true, canUseOpenDrain: true, canUsePushPull: true, isGpio: true}
} satisfies NonNullable<ChipProps["pinAttributes"]>
export const STM32F072CBT6 = (props: ChipProps<typeof pinLabels>) => {
return (
<chip
pinLabels={pinLabels}
pinAttributes={pinAttributes}
supplierPartNumbers={{
"jlcpcb": [
"C81720"
]
}}
manufacturerPartNumber="STM32F072CBT6"
footprint="qfn48_pillpads_h10.2mm_pw0.27mm_pl1.5mm_pin1location(bottomside,left)"
cadModel={{
objUrl: "https://modelcdn.tscircuit.com/easyeda_models/assets/C81720.obj?uuid=a4b96ad857dc48c08dab3d0efdf20aec",
stepUrl: "https://modelcdn.tscircuit.com/easyeda_models/assets/C81720.step?uuid=a4b96ad857dc48c08dab3d0efdf20aec",
pcbRotationOffset: 0,
modelOriginPosition: { x: 0, y: 0, z: 0.000795 },
}}
{...props}
/>
)
}