mohan-bee/flight-controller-v2
A 64 mm STM32F405 flight-controller PCB with ICM-42688 IMU, SPI flash, USB-C/ESD, battery buck and 3.3 V regulation, four motor outputs, service I/O, and PETG standoff mounting hardware.
- Version
- 0.1.0
- License
- ISC
- Stars
- 0
imports/ICM_42688_P.tsx
import type { ChipProps } from "@tscircuit/props"
const pinLabels = {
pin1: ["AP_SDO","AP_AD0"],
pin2: ["RESV1"],
pin3: ["RESV2"],
pin4: ["INT1","INT"],
pin5: ["VDDIO"],
pin6: ["GND"],
pin7: ["RESV3"],
pin8: ["VDD"],
pin9: ["INT2","FSYNC","CLKIN"],
pin10: ["RESV4"],
pin11: ["RESV5"],
pin12: ["AP_CS"],
pin13: ["AP_SCL","AP_SCLK"],
pin14: ["AP_SDA","AP_SDIO","AP_SDI"]
} as const
const pinAttributes = {
pin6: {requiresGround: true, mustBeConnected: true},
pin8: {requiresPower: true, mustBeConnected: true, shouldHaveDecouplingCapacitor: true},
pin1: {isInput: true, isOutput: true, isBidirectional: true, capabilities: ["spi_miso"]},
pin2: {isPassive: true},
pin3: {isPassive: true},
pin4: {isOutput: true, canUseOpenDrain: true, canUsePushPull: true},
pin5: {requiresPower: true, mustBeConnected: true, shouldHaveDecouplingCapacitor: true},
pin7: {requiresGround: true, mustBeConnected: true},
pin9: {isInput: true, isOutput: true, isBidirectional: true, canUseOpenDrain: true, canUsePushPull: true},
pin10: {isPassive: true},
pin11: {isPassive: true},
pin12: {isInput: true, capabilities: ["spi_cs"]},
pin13: {isInput: true, capabilities: ["i2c_scl","spi_sck"]},
pin14: {isInput: true, isOutput: true, isBidirectional: true, capabilities: ["i2c_sda","spi_mosi"]}
} satisfies NonNullable<ChipProps["pinAttributes"]>
export const ICM_42688_P = (props: ChipProps<typeof pinLabels>) => {
return (
<chip
pinLabels={pinLabels}
pinAttributes={pinAttributes}
supplierPartNumbers={{
"jlcpcb": [
"C1850418"
]
}}
manufacturerPartNumber="ICM-42688-P"
footprint={<footprint>
<smtpad portHints={["pin1"]} pcbX="-1.261999mm" pcbY="0.750062mm" width="0.675005mm" height="0.2800096mm" shape="rect" />
<smtpad portHints={["pin2"]} pcbX="-1.261999mm" pcbY="0.249936mm" width="0.675005mm" height="0.2800096mm" shape="rect" />
<smtpad portHints={["pin3"]} pcbX="-1.261999mm" pcbY="-0.249936mm" width="0.675005mm" height="0.2800096mm" shape="rect" />
<smtpad portHints={["pin4"]} pcbX="-1.261999mm" pcbY="-0.750062mm" width="0.675005mm" height="0.2800096mm" shape="rect" />
<smtpad portHints={["pin5"]} pcbX="-0.499999mm" pcbY="-1.012444mm" width="0.2800096mm" height="0.675005mm" shape="rect" />
<smtpad portHints={["pin6"]} pcbX="-0.000127mm" pcbY="-1.012444mm" width="0.2800096mm" height="0.675005mm" shape="rect" />
<smtpad portHints={["pin7"]} pcbX="0.499999mm" pcbY="-1.012444mm" width="0.2800096mm" height="0.675005mm" shape="rect" />
<smtpad portHints={["pin8"]} pcbX="1.261999mm" pcbY="-0.750062mm" width="0.675005mm" height="0.2800096mm" shape="rect" />
<smtpad portHints={["pin9"]} pcbX="1.261999mm" pcbY="-0.249936mm" width="0.675005mm" height="0.2800096mm" shape="rect" />
<smtpad portHints={["pin10"]} pcbX="1.261999mm" pcbY="0.249936mm" width="0.675005mm" height="0.2800096mm" shape="rect" />
<smtpad portHints={["pin11"]} pcbX="1.261999mm" pcbY="0.750062mm" width="0.675005mm" height="0.2800096mm" shape="rect" />
<smtpad portHints={["pin12"]} pcbX="0.499999mm" pcbY="1.012444mm" width="0.2800096mm" height="0.675005mm" shape="rect" />
<smtpad portHints={["pin13"]} pcbX="-0.000127mm" pcbY="1.012444mm" width="0.2800096mm" height="0.675005mm" shape="rect" />
<smtpad portHints={["pin14"]} pcbX="-0.499999mm" pcbY="1.012444mm" width="0.2800096mm" height="0.675005mm" shape="rect" />
<silkscreenpath route={[{"x":0.8303767999999536,"y":1.326210200000105},{"x":1.576069999999845,"y":1.326210200000105},{"x":1.576069999999845,"y":1.0804906000000756}]} />
<silkscreenpath route={[{"x":0.8303767999999536,"y":-1.326210200000105},{"x":1.576069999999845,"y":-1.326210200000105},{"x":1.576069999999845,"y":-1.0804906000000756}]} />
<silkscreenpath route={[{"x":-0.8306307999999945,"y":1.326210200000105},{"x":-1.5763240000001133,"y":1.326210200000105},{"x":-1.5763240000001133,"y":1.0804906000000756}]} />
<silkscreenpath route={[{"x":-0.8306307999999945,"y":-1.326210200000105},{"x":-1.5763240000001133,"y":-1.326210200000105},{"x":-1.5763240000001133,"y":-1.0804906000000756}]} />
<silkscreencircle pcbX="-1.905127mm" pcbY="0.762mm" radius="0.07493mm" />
<silkscreentext text="{NAME}" pcbX="-0.190627mm" pcbY="2.3462mm" anchorAlignment="center" fontSize="1mm" />
<courtyardoutline outline={[{"x":-1.8495015000000876,"y":1.599946500000101},{"x":1.849501499999974,"y":1.599946500000101},{"x":1.849501499999974,"y":-1.5999464999999873},{"x":-1.8495015000000876,"y":-1.5999464999999873},{"x":-1.8495015000000876,"y":1.599946500000101}]} />
</footprint>}
cadModel={{
objUrl: "https://modelcdn.tscircuit.com/easyeda_models/assets/C1850418.obj?uuid=f43373e142124ec98babb70d58d97864",
stepUrl: "https://modelcdn.tscircuit.com/easyeda_models/assets/C1850418.step?uuid=f43373e142124ec98babb70d58d97864",
pcbRotationOffset: 0,
modelOriginPosition: { x: 0.00012700000002041634, y: -0.000012700000070253736, z: 0 },
}}
{...props}
/>
)
}