Skip to the content
PCBKitNew board
6 layers70 × 70 mmSteve, the printed circuit board in 3D

STM32F4 based Flight Computer Development PCB

Size
70 × 70 mm
Copper layers
6
Thickness
1.57 mm
Parts
83
Nets
119
Pads
400
Tracks, vias
1,166, 186
Pours
1
Routed
Yes
KiCad
KiCad 9.0 (file 20241229)
Created
28 Sep 2024
Updated
6 Jun 2025

Overview

Steve is an open-source printed circuit board by Mart4672, from the Mart4672/PCB-STEVE repository on GitHub, published under the BSD-3-Clause licence. It is a 6-layer board of 70 × 70 mm with 83 parts on 119 nets, routed with 1,166 tracks and 186 vias.

Its parts include 25 resistors, 21 capacitors, 6 transistors, 5 diodes and 3 connectors. It belongs with the STM32 boards of this library.

README

README.md

PCB-STEVE

STM32F4 based Flight Computer Development PCB

STEVE, the name of this flight computer, is an acronym: Starter Testbed for Evolving the Vehicle Electronics

As the name implies, the intention of STEVE is to be a testbed circuitboard for proving out avionics functionality. STEVE is very much a development board as this is the first STM32 PCB that I have designed.

Future versions of STEVE will have a focus on exapnding a flight vehicle's envelope (Starter Testbed for Expanding the Vehicle Envelope)

STEVE is intended to be used on a flight vehicle such as a model rocket but can also be used in static environments such as a ground test stand.

STEVE Version 1.1.0 Hardware Features

  • 70 x 70 mm, 6 layer board with all components on one side for ease of manufacturing
  • 1 STM32F407 Microcontroller
    • (STM32F407VGT6 is the specific SKU being used)
    • 1024 KB (1MB) of internal flash memory
    • 192 (112+16+64) KB of system RAM
  • Reset and Boot buttons
  • USB-C input for programming the microcontroller
    • the GCT USB4105-GF-A connector is allegedly rated for 5A
    • also usable for power when not connected to the PSM board
  • Terminal block for 5V regulated input
  • Micro SD card
  • Winbond W25Q 128 Mbit (16 MB) external flash storage
  • 1 BMI270 Inertial Measurement Unit (IMU) connected over SPI
  • 1 BMP390 Barometric Pressure Sensor connected over SPI
  • A 2x5 1.27mm pitch debug header
  • A 32.768 kHz Low Speed External Crystal Oscillator
  • A 8 MHz High Speed External Crystal Oscillator
  • A TI TLV1117 1A 3.3V Output Linear Regulator
  • A dedicated telemetry modem connection
    • uses screwless terminal blocks or a JST-GH connector
      • (each JST-GH connection is rated for 1A and the RFD900 has a max draw of ~1A at 5V)
    • GND, 5V, and UART signals (RX and TX) are present
    • placed close to both the USB-C and Regulated 5V power inputs
  • 2 JST-SH 4 pin connectors for I2C
    • allows for easy hardware development for I2C devices (load cells, GNSS, etc)
  • 1 passive buzzer (passive buzzers allow for different beep noises)
  • 4 standard LEDs
  • 2 WS2812 (NeoPixel) Addressable LEDs
  • Additional GPIO and bus pins broken out
    • SPI2 (also used for BMP390) pins
    • UART1 pins
    • 2 ADC (12-bit) capable pins
    • Uses screwless terminal blocks
  • Connectors for PSM board signals (3 x 6 pin connectors)
    • Uses JST-GH connectors
    • Servo PWM signals (4)
    • Mosfet gate signals (5)
    • Mosfet continuity signals (5)
    • Battery #1 Voltage sense line

Future Updates

Future STEVE Updates

  • use a 3.3V plane on layer 5 (some signals ok) if doing a 6 layer board with components on 1 side
  • move the 5V components to the same area
  • make the board smaller (60 x 60 mm)
  • consider moving the complicated components (BMI, BMP, WS2812) to a separate board
    • probably a bad idea since creating a simple daughter board with Standard PCBA would cost at least (10 PCB + 30 PCBA + 25 shipping) = $65
    • using Economic PCBA only saves ~$25
  • give serious consideration to creating a STEVE revision with the PSM circuitry on the same board
    • keep in mind that any board orders also have tarrifs, taxes, and shipping applied, which can easily double the initial PCB/PCBA cost
  • use a PMOS mosfet for reverse polarity protection
  • add an RJ45 connector to utilize the ethernet capabilities of the STM32F407 (this might be part of a completely different board design)

Using/opening this project on a different machine

  • open the project file in KiCad

On the top bar, the following thing needs to be updated based on the machine you are using:

  • Preferences > Configure Paths Add an enironment variable with a name of: CURRENT_PROJ_DIR The value of the enirnment variable should be: your-repo-dir-path/PCB-STEVE/hardware

On the top bar, the following things should not need to be updated but both use the CURRENT_PROJ_DIR variable

  • Preferences > Manage Symbol Libraries > Project Specific Libraries (tab)
  • Preferences > Manage Footprint Libraries > Project Specific Libraries (tab)

PCB Ordering Notes

STEVE V1.1.0

STEVE V1.1.0 is a 6 layer PCB that uses vias as small as 0.3mm (hole size) / 0.45mm (overall via diameter)

On JLC's website, 6 layer boards use the "Advanced PCB/PCBA service". This has different default options from the standard service

Nonstandard options chosen for the advanced PCB service:

  • (optional) Specify Stackup > No requirement
  • Mark on PCB = 2D barcode (Serial Number)
    • 2D barcode Only | QR Code | STEVE_V1-1-0_SN | Remove Unique Number | 0001
      • 8*8mm (5x5 also ok) | Specify Position (No Requirement is ok too)

Advanced Options

  • $0.71 Blank Box

PCB Assembly Options A board with 6 or fewer layers and single sided assembly qualifies for JLC's Economic PCBA https://jlcpcb.com/capabilities/pcb-assembly-capabilities See the above link for Economic PCBA constraints such as

  • only supporting green silkscreens
  • only supporting the ENIG finish

STEVE 1.1.0 is a 70 x 70mm board; using Standard PCBA auotmatically sets the board size to at least 70x70mm for adding edge rails/fiducials. "The board size would be modified to be 80*70mm for Standard PCBA due to adding two 5mm edge rails on the shorter sides"

Nonstandard PCBA options chosen:

  • PCBA Qty = 2 (can choose 2+ based on component availibility)
  • Edge Rails/Fiducials = Added by JLCPCB (default)
  • Confirm Parts Placement = Yes

Advanced Options

  • Photo Confirmation = Yes (Not available for Economic)
  • Conformal Coating (+cleaning) = No (can choose yes for future boards)
    • Not available for Economic PCBA
  • Packaging = ESD+Cardboard (Cardboard is ok too)
  • Solder Paste = Sn96.5/Ag3.0/Cu0.5 (Do NOT use Bismuth/Bi solder)
  • The "Bake Components" option is not available for Economic PCBA
    • Will need to use the Standard PCBA service or omit the WS2812 LEDs (C2761795) from being assembled since they are moisture sensitive
  • The BMI270 and BMP390 also require Standard PCBA

"Note: The setup fee is $25 per assembly side for Standard PCBA."

Stencil Order Options

  • No stencil being ordered
    • If boards with many small pitch components (ex: STM32) are going to be assembled, a reflow oven is strongly recommended
    • if a stencil is ordered, make sure to get it cut to size to save on shipping costs

Other Notes

  • Don't use special characters such as "µ" for part designators, footprints, or values as this can cause issues with processing the bom and positions (CPL) files.

Parts

83
QtyValueFootprintReferences
120.1uFCapacitor_SMD:C_0603_1608MetricC7, C8, C9, C10, C11, C27, C28, C29, C30, C31, C32, C33
6NMOS GSD 350mA 60V C282405Package_TO_SOT_SMD:SOT-23Q1, Q2, Q3, Q4, Q5, Q6
510kResistor_SMD:R_0603_1608MetricR3, R4, R5, R6, R7
41kResistor_SMD:R_0603_1608MetricR20, R21, R22, R26
42kResistor_SMD:R_0603_1608MetricR16, R17, R18, R19
45A Spring Conn 4pos C3818616Imported_Footprints:CONN_1814582_TerminalBlock_1770979_4pos_VerticalADC1, SPI2, UART1, UART2
3220Resistor_SMD:R_0603_1608MetricR23, R24, R25
3JST GH 6P Vertical 1A C189892Connector_JST:JST_GH_BM06B-GHS-TBT_1x06-1MP_P1.25mm_VerticalJ1, J2, J3
21.0uFCapacitor_SMD:C_0603_1608MetricC13, C14
21.0uFCapacitor_SMD:C_1206_3216MetricC25, C26
2100kResistor_SMD:R_0603_1608MetricR1, R15
22.2uFCapacitor_SMD:C_0603_1608MetricC1, C2
222Resistor_SMD:R_0603_1608MetricR11, R12
25.1kResistor_SMD:R_0603_1608MetricR13, R14
25pFCapacitor_SMD:C_0603_1608MetricC5, C6
2Button KMR221G C72443Imported_Footprints:SW_Push_3D_1P1T-SH_NO_CK_KMR2xxGBT0, RST1
2JST-SH-4P Vertical C160390Imported_Footprints:JST-SH_BM04B-SRSS-TB_1x04_Vertical_P1.00mmI2C_1, I2C_2
2WS2812B RGB LED C2761795LED_SMD:LED_WS2812B_PLCC4_5.0x5.0mm_P3.2mmNEO1, NEO2
1100k 0.5%Resistor_SMD:R_0603_1608MetricR9
110A/5A Schottky Diode Arr C780876Imported_Footprints:PDS1040CTL-13_PowerDI-5D1
13.3V 1A Lin Reg C15578Package_TO_SOT_SMD:SOT-223-3_TabPin2LDO-1
132.768kHz Crystal 12.5pf C90944Imported_Footprints:Crystal_SMD_3215-2Pin_3.2x1.5mm_Fixed32K-Y2
14.7kResistor_SMD:R_0603_1608MetricR2
14.7uFCapacitor_SMD:C_0603_1608MetricC12
1422k 1%Resistor_SMD:R_0603_1608MetricR8
15A Spring Conn 2pos C3818639Imported_Footprints:CONN_1814498_TerminalBlock-1770885-2pos5V-1
18MHz Crystal 10pf C400090Crystal:Crystal_SMD_3225-4Pin_3.2x2.5mm8M-Y1
1BLUELED_SMD:LED_0603_1608MetricLED4
1BMI270 Inertial Measurement Unit C2836813Package_LGA:Bosch_LGA-14_3x2.5mm_P0.5mmBMI270-1
1BMP390 Barometric Pressure Sensor C2684802Imported_Footprints:QFN_BMP388_BOSBMP390-1
1Externally Driven Buzzer 1.5-12.5V 4kHz 65dB C910763Buzzer_Beeper:Buzzer_Murata_PKMCS0909EBuzzer1
1GREENLED_SMD:LED_0603_1608MetricLED3
1LOGOImported_Footprints:STEVE-3D-ImageG***
1MicroSD Hirose DM3AT C114218Imported_Footprints:microSD_3D_HC_Hirose_DM3AT-SF-PEJM5uSD1
1REDLED_SMD:LED_0603_1608MetricLED1
1STM32F407VGTx Microcontroller C12345Package_QFP:LQFP-100_14x14mm_P0.5mmSTM32F407-uC1
1TagConnect_TC2030-NLConnector:Tag-Connect_TC2030-IDC-NL_2x03_P1.27mm_VerticalTagConnect-1
1USB-C Receptacle 16P C3025063Imported_Footprints:USB_C_Receptacle_3D_HCTL_HC-TYPE-C-16P-01AUSBC-1
1W25Q128JVSIQ 128Mb SPI Flash C97521Imported_Footprints:SOIC-8_5.23x5.23mm_P1.27mm_3DFlash1
1YELLOWLED_SMD:LED_0603_1608MetricLED2

Questions

How big is the Steve PCB?

It measures 70 × 70 mm and has 6 copper layers, 1.57 mm thick.

What parts does the Steve use?

83 parts. The full list of its parts is on this page, with links to each part's symbol and footprint where PCBKit's library has them.

Where can I download the Steve KiCad files?

From the Mart4672/PCB-STEVE repository on GitHub, at the commit this page was made from: the board is hardware/steve.kicad_pcb and its schematic hardware/steve.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the Steve design in my own project?

Its repository publishes it under the BSD-3-Clause licence: you may reuse it on that licence's terms (keep the author's notice, and for a copyleft licence share your changes alike).

Similar boards

  • 6 layers48.5 × 50 mmUSB Type C Switch, the printed circuit board in 3D

    USB Type C Switch

    bluetiger9/USB-Type-C-Switch

    2:1 USB 3.x Type-C Switch

    83 parts6MIT
  • 6 layers50 × 50 mmZeus le, the printed circuit board in 3D

    Zeus le

    lopsided98/zeus-le

    Synchronized wireless audio recording system

    83 parts2GPL-3.0
  • 6 layers44 × 68 mmMouse, the printed circuit board in 3D

    Mouse

    aerogull/beat

    working on designing a custom mouse around the paw3395 sensor

    83 parts1GPL-3.0
  • 6 layers110 × 78 mmFilled, the printed circuit board in 3D

    Filled

    AxelMcKenna/AFX-1000

    RMX-1000-inspired effects processor for macOS, AU and VST3, built on a shared C++20 engine. Standalone Daisy Seed 3 hardware with two main PCBs and a custom housing is in development.

    83 parts1
  • 6 layers100 × 45 mmEsphome rgbcct led controller, the printed circuit board in 3D

    Esphome rgbcct led controller

    mikelawrence/esphome-rgbcct-led-controller

    ESPHome RGBCCT LED Controller is a PCB design that support a 5-Channel LED arrangement with Red, Green, Blue, Warm White and Cool White LEDs.

    83 parts1CERN-OHL-P-2.0
  • 6 layers90 × 66.8 mmNescart fc, the printed circuit board in 3D

    Nescart fc

    Keitark/fc-rom-vomitter

    Wi-Fi NROM development cartridge for Famicom: ESP32-S3, SRAM, KiCad, firmware, fabrication evidence, and an experimental NES variant.

    83 partsMIT
  • 6 layers37 × 37 mmArdu can, the printed circuit board in 3D

    Ardu can

    vk-sahni/ardu-can

    CAN-NODE

    82 parts
  • 6 layers14.5 × 90 mmNew stm32u3-203f, the printed circuit board in 3D

    New stm32u3-203f

    IsaacNorris/new-stm32u3-203f-hardware

    hardware design for my stm32 board

    82 parts