Loading files…
A custom PCB main board designed to extend JST cables for STM32F103C8T6 Blue Pill microcontroller board. This board provides organized connections for displays, sensors, buttons, and communication modules with proper ESD protection.
This project is a breakout/expansion board for the STM32 Blue Pill that simplifies connections to various peripherals through organized connectors. The board features dedicated interfaces for TFT displays, laser range finders, sensors, and a 10-button.
Standard SPI TFT display interface with power and control signals.
Pin | Signal | STM32 Pin | Description
----|--------|-----------|-------------
1 | CS | PA4 | SPI Chip Select
2 | BLK | PA3 | Backlight control (PWM)
3 | DC | PA1 | Data/Command select
4 | RES | PA2 | Reset signal
5 | MOSI | PA7 | SPI Data Out (SPI1_MOSI)
6 | CLK | PA5 | SPI Clock (SPI1_SCK)
7 | VCC | 3.3V | Power supply
8 | GND | GND | Ground
UART interface for laser distance measurement modules.
Pin | Signal | STM32 Pin | Description
----|--------|-----------|-------------
1 | VCC | VIN | Power supply (5V tolerant)
2 | GND | GND | Ground
3 | Rx | PA10 | UART Receive (USART1_RX)
4 | Tx | PA9 | UART Transmit (USART1_TX)
5 | En | 3.3V | Enable signal
6 | GND | GND | Additional ground connection
First set of button inputs with internal pull-up resistors.
Pin | Signal | STM32 Pin | Description
----|--------|-----------|-------------
1 | GND | GND | Common ground
2 | BTN1 | PB4 | Button 1 input
3 | BTN2 | PA15 | Button 2 input
4 | BTN3 | PA12 | Button 3 input
5 | BTN4 | PA8 | Button 4 input
5 | BTN5 | PB15 | Button 5 input
Second set of button inputs with internal pull-up resistors.
Pin | Signal | STM32 Pin | Description
----|--------|-----------|-------------
1 | GND | GND | Common ground
2 | BTN6 | PB5 | Button 6 input
3 | BTN7 | PB6 | Button 7 input
4 | BTN8 | PB7 | Button 8 input
5 | BTN9 | PB8 | Button 9 input
5 | BTN10 | PB9 | Button 10 input
SPI interface for various sensors (IMU, compass, temperature, etc.).
Pin | Signal | STM32 Pin | Description
----|--------|-----------|-------------
1 | VCC | 3.3V | Power supply
2 | CS | PB12 | Chip Select (SPI2_NSS)
3 | CLK | PB13 | SPI Clock (SPI2_SCK)
4 | MISO | PB14 | SPI Data In (SPI2_MISO)
5 | GND | GND | Ground
SWD interface for Programming & debbugging.
Pin | Signal | STM32 Pin | Description
----|--------|-----------|-------------
1 | VCC | 3.3V | Power supply
2 | SWDIO | SWDIO | Serial Wire Debug Input Output data
3 | SWDCLK | SWDCLK | Serial Wire Debug Clock
4 | GND | GND | Ground
Power input for the system
Pin | Signal | STM32 Pin | Description
----|--------|-----------|-------------
1 | VCC | 5V | System Power supply
2 | GND | GND | Ground
Switch to select the Brightness of the TFT
Pin | Signal | STM32 Pin | Description
----|--------|-----------|-------------
1 | Level1 | PB0 | Brightness Level 1
2 | Level2 | PB1 | Brightness Level 2
3 | Level3 | PB10 | Brightness Level 3
4 | Level4 | PB11 | Brightness Level 4
Standard 40-pin socket for STM32F103C8T6 Blue Pill board with organized breakout connections.
The board includes comprehensive ESD protection for all I/O connections:
All 10 buttons are configured for internal pull-up operation:
| Button | STM32 Pin | GPIO Mode | Notes |
|---|---|---|---|
| 1 | PA8 | Input + Pull-up | TIM1_CH1 alternate function |
| 2 | PA12 | Input + Pull-up | USB_DP alternate function |
| 3 | PA15 | Input + Pull-up | SPI3_NSS alternate function |
| 4 | PB4 | Input + Pull-up | SPI3_MISO alternate function |
| 5 | PB5 | Input + Pull-up | SPI3_MOSI alternate function |
| 6 | PB6 | Input + Pull-up | I2C1_SCL, TIM4_CH1 alternate |
| 7 | PB7 | Input + Pull-up | I2C1_SDA, TIM4_CH2 alternate |
| 8 | PB8 | Input + Pull-up | TIM4_CH3 alternate function |
| 9 | PB9 | Input + Pull-up | TIM4_CH4 alternate function |
| 10 | PB15 | Input + Pull-up | SPI2_MOSI alternate function |
├── D98.kicad_pcb # PCB layout file
├── D98.kicad_sch # Schematic file
├── D98.kicad_pro # KiCad project file
├── bom/ # Bill of Materials
│ └── bom.csv # Component list with part numbers
├── production/ # Manufacturing files
│ ├── gerbers/ # Gerber files for PCB fab
│ ├── drill/ # NC drill files
│ └── pick_and_place/ # Assembly files
├── 3D output/ # 3D renderings (Step files)
└── fabrication-toolkit-options.json
// SPI1 configuration for TFT
// PA5 - SPI1_SCK (Clock)
// PA7 - SPI1_MOSI (Data)
// PA4 - CS (Chip Select)
// PA1 - DC (Data/Command)
// PA2 - RES (Reset)
// PA3 - Backlight control (PWM)
// SPI2 configuration for sensors
// PB13 - SPI2_SCK (Clock)
// PB14 - SPI2_MISO (Data In)
// PB12 - SPI2_NSS/CS (Chip Select)
// USART1 configuration for LRF
// PA9 - USART1_TX (Transmit)
// PA10 - USART1_RX (Receive)
// Baud rate: 9600-115200 (module dependent)
// Configure buttons with internal pull-up
// Active LOW logic (pressed = 0, released = 1)
// Debouncing recommended in software
This project is licensed under the MIT License - see the LICENSE file for details.
Mohamed Yousry Ragab
Contributions are welcome! Please feel free to submit:
For technical support:
This README reflects the D98 PCB design with corrected pin assignments. Always verify connections against the actual schematic before assembly.
No comments yet. Be the first to ask about this board.