mohan-bee/stm32-mini-dev-board-v1-a-2

A diagnostic STM32G031 development board with USB‑C 3.3V power, SWD/GPIO/UART/SPI headers, reset, potentiometer, buttons, LEDs, buzzer, I²C EEPROM, MCP23008 GPIO expansion, filtered inputs, and multiple I²C sensor ports.

Version
1.0.1
License
unset
Stars
0

stress-v5.circuit.tsx

import { Fragment } from "react"
import StressBoard from "./stress.circuit"

// Diagnostic expansion, not a fabrication-approved design.
// Configure expander pins as inputs when using the buttons; LED loads are shared.
export default function StressV5Board() {
  const original = StressBoard()
  return (
    <board {...original.props} title="STM32 Expansion Lab V5 — diagnostic" width="130mm" height="95mm" schLayout={{ layoutMode: "relative" }}>
      {/* Sheet dimensions are paper millimetres, not schematic coordinate units. */}
      <schematicsheet name="main" displayName="STM32 expansion lab — V5" sheetWidth="700mm" sheetHeight="700mm">
        {original.props.children}
        <schematicsection name="buttons" displayName="FILTERED BUTTON INPUTS — SHARED EXPANDER GPIO" />
        {Array.from({ length: 8 }, (_, channel) => {
          const pcbY = -35 + channel * 10
          const schX = -28 + channel * 7
          const pullup = `R${27 + channel * 2}`
          const series = `R${28 + channel * 2}`
          const capacitor = `C${18 + channel}`
          const button = `SW${channel + 1}`
          return (
            <Fragment key={channel}>
              <resistor name={pullup} resistance="10k" footprint="0603"
                schSectionName="buttons" schX={schX} schY={-50} schRotation={90}
                pcbX={-43} pcbY={pcbY + 2} />
              <resistor name={series} resistance="1k" footprint="0603"
                schSectionName="buttons" schX={schX + 2} schY={-52}
                pcbX={-48} pcbY={pcbY} />
              <capacitor name={capacitor} capacitance="100nF" footprint="0603"
                schSectionName="buttons" schX={schX} schY={-55} schRotation={90}
                pcbX={-43} pcbY={pcbY - 2} />
              <pushbutton name={button} footprint="pushbutton_4pin"
                schSectionName="buttons" schX={schX + 4} schY={-55}
                pcbX={-56} pcbY={pcbY} />
              <trace from={`.${pullup} > .pin1`} to="net.VCC_3V3" thickness="0.4mm" />
              <trace from={`.${pullup} > .pin2`} to={`net.EXP_GP${channel}`} />
              <trace from={`.${series} > .pin1`} to={`net.EXP_GP${channel}`} />
              <trace from={`.${series} > .pin2`} to={`.${button} > .pin1`} />
              <trace from={`.${button} > .pin2`} to="net.GND" thickness="0.3mm" />
              <trace from={`.${capacitor} > .pin1`} to={`net.EXP_GP${channel}`} />
              <trace from={`.${capacitor} > .pin2`} to="net.GND" thickness="0.3mm" />
            </Fragment>
          )
        })}
      </schematicsheet>
    </board>
  )
}