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.circuit.tsx

import ComplexBoard from "./complex.circuit"
import { Fragment } from "react"

// Separate V4 diagnostic variant; V1–V3 sources remain unchanged.
export default function StressBoard() {
  const original = ComplexBoard()
  return (
    <board {...original.props} title="STM32 Expansion Lab V4 — diagnostic"
      width="110mm" height="85mm">
      {original.props.children}
      <schematicsection name="filters" displayName="FILTERED GPIO — SHARED WITH LED BANK" />
      {Array.from({ length: 8 }, (_, channel) => {
        const y = -21 + channel * 6
        const schX = -28 + channel * 5
        return (
          <Fragment key={channel}>
            <net name={`FILTERED_GP${channel}`} />
            <resistor name={`R${19 + channel}`} resistance="1k" footprint="0603"
              schSectionName="filters" schX={schX} schY={-40}
              pcbX={40} pcbY={y} />
            <capacitor name={`C${10 + channel}`} capacitance="100nF" footprint="0603"
              layer="bottom" pcbRotation={90} schRotation={-90}
              schSectionName="filters" schX={schX + 2} schY={-42}
              pcbX={44} pcbY={y} />
            <testpoint name={`TP${5 + channel}`} footprintVariant="pad" padDiameter="1.5mm"
              schSectionName="filters" schX={schX + 2} schY={-39}
              pcbX={48} pcbY={y} />
            <trace from={`net.EXP_GP${channel}`} to={`.R${19 + channel} > .pin1`} />
            <trace from={`.R${19 + channel} > .pin2`} to={`net.FILTERED_GP${channel}`} />
            <trace from={`net.FILTERED_GP${channel}`} to={`.C${10 + channel} > .pin1`} />
            <trace from={`net.FILTERED_GP${channel}`} to={`.TP${5 + channel} > .pin1`} />
            <trace from={`net.FILTERED_GP${channel}`} to={`.J8 > .pin${channel + 3}`} />
            <trace from={`.C${10 + channel} > .pin2`} to="net.GND" thickness="0.3mm" />
          </Fragment>
        )
      })}
      <pinheader name="J8" displayName="FILTERED GPIO" pinCount={10} pitch="2.54mm"
        schSectionName="filters" schX={15} schY={-43} pcbX={0} pcbY={35} />
      <trace from=".J8 > .pin1" to="net.VCC_3V3" thickness="0.4mm" />
      <trace from=".J8 > .pin2" to="net.GND" thickness="0.3mm" />
      <hole name="mount_slot_left" shape="pill" width="8mm" height="3.2mm" pcbX={-30} pcbY={35} />
      <hole name="mount_slot_right" shape="pill" width="8mm" height="3.2mm" pcbX={30} pcbY={35} />
    </board>
  )
}