Skip to the content
2 layers37 × 30 mmSTM 32 course, the printed circuit board in 3D

STM 32 course

Ahaz387/STM-32

This project is a custom PCB designed around an STM32 microcontroller for embedded systems development and peripheral interfacing.

Size
37 × 30 mm
Copper layers
2
Thickness
1.6 mm
Parts
32
Nets
50
Pads
132
Tracks, vias
186, 24
Pours
3
Routed
Yes
KiCad
KiCad 10.0 (file 20260206)
Created
22 May 2026
Updated
24 May 2026

Overview

STM 32 course is an open-source printed circuit board by Ahaz387, from the Ahaz387/STM-32 repository on GitHub. It is a 2-layer board of 37 × 30 mm with 32 parts on 50 nets, routed with 186 tracks and 24 vias.

It is built around the STM32F103C8T6 and AMS1117. Its parts include 13 capacitors, 5 resistors, 4 connectors, 2 ICs and 1 diode. It belongs with the interfaces and adapters boards and the STM32 boards of this library.

Main components

2

README

README.md

STM32 PCB Project README

Overview

This project is a custom PCB designed around an STM32 microcontroller for embedded systems development and peripheral interfacing. The PCB integrates power regulation, programming/debugging interfaces, GPIO breakout connections, and communication peripherals such as UART, I²C, and SPI.

The board can be used for:

  • Embedded systems development
  • Sensor interfacing
  • Motor control applications
  • IoT projects
  • Robotics systems
  • Real-time data acquisition

Features

  • STM32 microcontroller core
  • USB programming and communication
  • SWD debugging support
  • UART communication interface
  • I²C communication interface
  • SPI communication interface
  • GPIO expansion headers
  • On-board voltage regulation
  • Status LEDs
  • Reset and boot buttons
  • Decoupling capacitors for stable operation

Microcontroller

ComponentDescription
MCUSTM32 Series Microcontroller
ArchitectureARM Cortex-M
Operating Voltage3.3V
Clock SourceExternal Crystal Oscillator

Example STM32 variants:

  • STM32F103C8T6
  • STM32F401CCU6
  • STM32F411CEU6

PCB Design Software

Designed using:

  • KiCad
  • STM32CubeMX (for pin configuration)

Communication Interfaces

UART

Used for:

  • Serial debugging
  • PC communication
  • Bluetooth/GPS modules
SignalDescription
TXTransmit
RXReceive
GNDGround

I²C

Used for:

  • Sensors
  • OLED displays
  • EEPROMs
  • RTC modules
SignalDescription
SDASerial Data
SCLSerial Clock

Pull-up resistors are included on SDA and SCL lines.


SPI

Used for:

  • SD cards
  • Displays
  • High-speed peripherals
SignalDescription
MOSIMaster Out Slave In
MISOMaster In Slave Out
SCKSerial Clock
CSChip Select

Power System

Input Power

  • USB 5V input
  • External VIN input

Regulation

The PCB uses a 3.3V voltage regulator to power the STM32 and peripherals.

Protection

  • Reverse polarity protection
  • Decoupling capacitors
  • Power filtering capacitors

Programming and Debugging

The board supports SWD (Serial Wire Debug) programming.

Required Programmer

  • ST-Link V2
  • ST-Link V3

SWD Pins

PinDescription
SWDIODebug Data
SWCLKDebug Clock
GNDGround
3.3VReference Voltage

PCB Layout Considerations

  • Short trace routing for high-speed signals
  • Ground plane for noise reduction
  • Decoupling capacitors placed near power pins
  • Proper crystal oscillator placement
  • Wide traces for power lines
  • Separation between analog and digital signals

Firmware Development

Recommended software:

  • STM32CubeIDE
  • Keil uVision
  • PlatformIO
  • Arduino IDE (STM32 core)

Assembly Notes

  • Verify component orientation before soldering
  • Check STM32 pin alignment carefully
  • Inspect for solder bridges
  • Test power rails before programming
  • Ensure correct boot configuration

Testing

Recommended initial tests:

  1. Verify 3.3V rail
  2. Test reset circuit
  3. Confirm oscillator operation
  4. Upload LED blink firmware
  5. Test UART serial communication
  6. Verify I²C and SPI peripherals

Future Improvements

  • USB-C support
  • CAN bus integration
  • Wireless communication module
  • Battery charging system
  • On-board sensors

Author

Designed by Ahaz


License

This project is open-source and available for educational and personal use.

Parts

32
QtyValueFootprintReferences
5100nCapacitor_SMD:C_0402_1005MetricC1, C2, C3, C4, C9
4MountingHoleMountingHole:MountingHole_2.2mm_M2H1, H2, H3, H4
31k5Resistor_SMD:R_0402_1005MetricR2, R4, R5
3Conn_01x04_PinConnector_PinHeader_2.54mm:PinHeader_1x04_P2.54mm_VerticalJ1, J3, J4
210pCapacitor_SMD:C_0402_1005MetricC10, C11
21uCapacitor_SMD:C_0402_1005MetricC7, C8
222uCapacitor_SMD:C_0805_2012MetricC12, C13
110kResistor_SMD:R_0402_1005MetricR1
110nCapacitor_SMD:C_0402_1005MetricC6
110uCapacitor_SMD:C_0603_1608MetricC5
116MHzCrystal:Crystal_SMD_3225-4Pin_3.2x2.5mmY1
1AMS1117Package_TO_SOT_SMD:SOT-223-3_TabPin2U2
1FerriteBeadInductor_SMD:L_0603_1608MetricFB1
1LEDLED_SMD:LED_0603_1608MetricD1
1RResistor_SMD:R_0402_1005MetricR3
1STM32F103C8T6Package_QFP:LQFP-48_7x7mm_P0.5mmU1
1SW_SPDTButton_Switch_SMD:SW_SPDT_PCM12SW1
1USB_B_MicroConnector_USB:USB_Micro-B_Wuerth_629105150521J2

Similar boards

  • 2 layers71.1 × 35.1 mmBrilliant Reflow v0.1, the printed circuit board in 3D

    Brilliant Reflow v0.1

    LKbrilliant/Brilliant-Reflow

    A complete DIY solution for converting a consumer oven into a temperature controlled reflow oven for PCB soldering

    28 parts4MIT
  • 2 layers81 × 72.8 mmGPS INS PCB, the printed circuit board in 3D

    GPS INS PCB

    siddarthiyer/GPS-aided-Inertial-Navigation-System-Module

    Upper 6 bits - Module ID - max 0x3F Lower 5 bits - Command ID - max 0x1F CAN ID = (Module ID Default Module ID : 0x200 (Standard)

    29 parts2
  • 2 layers47.6 × 39 mmSTM32, the printed circuit board in 3D

    STM32

    shrivastavprangya/STM32-MICROCONTROLLER-USB-DEVELOPMENT-BOARD

    Custom STM32 microcontroller USB development board designed using KiCad. Includes LDO based 3.3V power regulation, external crystal oscillator, decoupling capacitors, USB interface and GPIO expansion headers on a…

    32 parts1
  • 2 layers42.5 × 32.3 mmSTM32F103C8T6, the printed circuit board in 3D

    STM32F103C8T6

    siddarthiyer/PCB-Design

    A repository for PCB Design Projects

    29 parts1
  • 2 layers44.2 × 31.3 mmStm32-PCB design, the printed circuit board in 3D

    Stm32-PCB design

    hughmancoder/stm32-PCB-design

    PCB Design for STM32F103C8T6 Microcontroller built with KiCAD

    32 parts
  • 4 layers52.2 × 21.8 mmMyFirstPCB, the printed circuit board in 3D

    MyFirstPCB

    karaketir16/MyFirstPCB

    23 parts
  • 4 layers48.3 × 52.9 mmDynaButton, the printed circuit board in 3D

    DynaButton

    manhoosbilli1/dynaboard-button-controller

    Dynaboard - large button/control interface board (102 syms, 590 tracks)

    68 parts
  • 2 layers60 × 100 mmTernel box, the printed circuit board in 3D

    Ternel box

    MengNiangXiaoYuGan/USB-HID-throttle-PCB

    这是一个用于模拟飞行的节流阀设计,主要目的是为了方便和便宜,所有非标件均使用FDM3D打印制造,该仓库为项目的PCB仓库

    132 partsGPL-2.0

Questions

How big is the STM 32 course PCB?

It measures 37 × 30 mm and has 2 copper layers, 1.6 mm thick.

What parts does the STM 32 course use?

32 parts, built around the STM32F103C8T6 and AMS1117. 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 STM 32 course KiCad files?

From the Ahaz387/STM-32 repository on GitHub, at the commit this page was made from: the board is STM 32 course.kicad_pcb and its schematic STM 32 course.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the STM 32 course design in my own project?

Its repository states no licence, so its author keeps all rights: ask Ahaz387 before reusing the design.