Skip to the content
4 layers76 × 51.5 mmFlight stick, the printed circuit board in 3D

Flight Stick HW and SW files for the Falcon Aircraft

Size
76 × 51.5 mm
Copper layers
4
Thickness
1.61 mm
Parts
60
Nets
83
Pads
299
Tracks, vias
739, 50
Pours
4
Routed
Yes
KiCad
KiCad 9.0 (file 20241229)
Created
16 Aug 2025
Updated
1 Oct 2026

Overview

Flight stick is an open-source printed circuit board by hpvdt, from the hpvdt/Falcon_flight_stick repository on GitHub. It is a 4-layer board of 76 × 51.5 mm with 60 parts on 83 nets, routed with 739 tracks and 50 vias.

It is built around the STM32F103CBU6, AT24CS01-MAHM-T and TPS62177DQC, with the USBLC6-2SC6, SS34 and SMLVN6RGB1U1 among its other parts. Its parts include 17 capacitors, 16 resistors, 8 connectors, 7 ICs and 4 diodes. It belongs with the STM32 boards of this library.

Main components

6

README

README.md

Falcon Flight Stick

A custom-designed flight control stick for the Falcon Aircraft project — designing both hardware and firmware for force sensing, CAN communication, and USB HID joystick interfacing.

image image

Overview

The Falcon Flight Stick is a force-sensing joystick that measures user input via strain gauges and communicates with the aircraft’s control system through CAN bus or to a computer host via USB-C.
This project demonstrates my ability to proficiently design, route, and program an embedded system from the ground up — including power delivery, signal integrity, and firmware architecture.


Key Features

  • MCU Core: STM32F103CBU6 managing all board-level events with an external 8Mhz Oscillator
  • Sensing System: Three strain gauges read via a precision Texas Instruments ADS131M03IRUK ADC (32-bit SPI interface)
  • Connectivity:
    • USB-C (HID joystick or virtual COM port)
    • CAN bus daisy-chain communication
  • Memory: 1×128-byte EEPROM for calibration data
  • Power System:
    • TI TPS62177 step-down converter for higher current ditial power
    • ADI LT1962 LDO (3.3V) for low noise, low current analog power
    • Automatic protection between USB-C and LiPo (12V) sources
  • PCB Stackup: 4-layer board with separated analog/digital planes for signal integrity
  • Breakout Button Matrix:
    • button matrix allowing for a hotswappable and fully customizable button interface on the joystick
    • Up to 25 individual buttons, all allowable for interrupts

Hardware Design

Hardware Repository

The latest hardware version is Falcon Flight Stick Rev5.
Previous revisions were experimental or undocumented.

Design Breakdown

The STM32 MCU is programmed through ST-LinkV3 (SWD) and communicates via UART for debug and development.
Differential USB data lines enable HID or COM functionality, depending on firmware.

Strain gauge signals are processed through a TI ADC, which triggers SPI reads via a DRDY interrupt.
Processed values are sent to the servo controller board (via CAN) or USB interface.


Power Architecture

The power subsystem ensures stable operation from multiple sources:

  • 12V LiPo (CAN chain) or 5V USB-C
  • Both inputs are protected from backfeed
  • Outputs:
    • 3.3V Digital (MCU, logic)
    • 3.3V Analog (ADC, strain gauge front-end)

These rails are physically isolated to minimize noise and ground-reference drift.


Schematics

Full schematic set:
Schematic


PCB Layout

Summary

  • 4-layer stackup for power and noise isolation
  • Separated analog/digital ground and power planes
  • Power trace widths sized by current draw
  • Labelled parts for developer readability

Views

Full Layout:

Layer 1: Signal
image

Layer 2: Power

Layer 3: GND / AGND

Layer 4: Signal 2
image


3D Model


Firmware (Planned / In Progress)

Example outline:

  • USB HID joystick emulation via STM32 HAL
  • CAN message handling for actuator control
  • ADC data acquisition and digital filtering
  • EEPROM calibration storage

Tools Used

  • KiCad 8.0 – PCB and schematic design
  • STM32CubeIDE – Firmware development & MCU pinout planning
  • JLCPCB – Fabrication and assembly
  • SolidWorks – 3D mechanical integration
  • GitHub / Git – Version control

Parts

60
QtyValueFootprintReferences
9100nCapacitor_SMD:C_0603_1608MetricC8, C9, C11, C12, C14, C16, C17, C18, C19
61kResistor_SMD:R_0603_1608MetricR12, R13, R14, R15, R16, R17
3200Resistor_SMD:R_0603_1608MetricR8, R9, R10
3MountingHoleMountingHole:MountingHole_3.2mm_M3H1, H2, H3
22.2uCapacitor_SMD:C_0603_1608MetricC1, C3
24.7kResistor_SMD:R_0603_1608MetricR2, R3
25.1KResistor_SMD:R_0603_1608MetricR23, R24
2Conn_01x04_MaleConnector_JST:JST_XH_B4B-XH-A_1x04_P2.50mm_VerticalJ1, J3
2SS34Diode_SMD:D_SMCD6, D7
11.5kResistor_SMD:R_0603_1608MetricR7
110kResistor_SMD:R_0603_1608MetricR20
110nCapacitor_SMD:C_0603_1608MetricC4
110uHInductor_SMD:L_0603_1608MetricL2
11uCapacitor_SMD:C_0402_1005MetricC23
11uCapacitor_SMD:C_0603_1608MetricC5
1220nCapacitor_SMD:C_0603_1608MetricC13
122uCapacitor_SMD:C_0603_1608MetricC2
14.7uCapacitor_SMD:C_0603_1608MetricC6
1400Resistor_SMD:R_0805_2012MetricR4
18MCrystal:Resonator_SMD_Murata_CSTxExxV-3Pin_3.0x1.1mmY1
1ADS131M03IRUKxflight_stick_footprints:QFN_WQFN_RUK_TEXU3
1AT24CS01-MAHMPackage_DFN_QFN:DFN-8-1EP_3x2mm_P0.5mm_EP1.3x1.5mmU2
1Conn_02x05_Odd_EvenConnector_JST:JST_PHD_B10B-PHDSS_2x05_P2.00mm_VerticalJ2
1Conn_ST_STDC14Connector_PinHeader_1.27mm:PinHeader_2x07_P1.27mm_Vertical_SMDJ9
1GREEN_LEDLED_SMD:LED_0805_2012MetricD1
1KMR223G LFGflight_stick_footprints:KMR2_G_CNKSW1
1LT1962-3.3Package_SO:MSOP-8_3x3mm_P0.65mmU7
1Load Cell 1Connector_PinHeader_1.27mm:PinHeader_1x04_P1.27mm_VerticalJ6
1Load Cell 2Connector_PinHeader_1.27mm:PinHeader_1x04_P1.27mm_VerticalJ12
1Load Cell 3Connector_PinHeader_1.27mm:PinHeader_1x04_P1.27mm_VerticalJ4
1NetTie_2NetTie:NetTie-2_THT_Pad1.0mmNT1
1SMLVN6RGBLED_SMD:LED_ROHM_SMLVN6D4
1STM32F103CBU6Package_DFN_QFN:QFN-48-1EP_7x7mm_P0.5mm_EP5.6x5.6mmU4
1SolderJumperJumper:SolderJumper-2_P1.3mm_Open_TrianglePad1.0x1.5mmJP1
1TCAN3403Package_TO_SOT_SMD:TSOT-23-8U6
1TPS62177DQCPackage_SON:WSON-10-1EP_2x3mm_P0.5mm_EP0.84x2.4mm_ThermalViasU8
1USBLC6-2SC6Package_TO_SOT_SMD:SOT-23-6U5
1USB_C_Receptacle_USB2.0Connector_USB:USB_C_Receptacle_HRO_TYPE-C-31-M-12J10

Similar boards

  • 2 layers29 × 12 mmUbmp v1, the printed circuit board in 3D

    Ubmp v1

    korken89/micro-bmp

    A small Black Magic Probe based on the pinout of the STLink V2 support firmware

    25 parts37
  • 2 layers37 × 46 mmAmp panel, the printed circuit board in 3D

    Amp panel

    adamgreig/amp

    A clone of the wonderful Black Magic Probe but in KiCAD and with a few small hardware tweaks.

    78 parts2
  • 6 layers36.8 × 16.4 mmIntegrated Debugger, the printed circuit board in 3D

    Integrated Debugger

    PicoballoonLabs/Debug-Boards

    Hardware designs for the integrated debug probe, debug adapter, flex debug cables and RF VNA calibrator

    72 parts1MIT
  • 6 layers60.6 × 100 mmCpuAddOn, the printed circuit board in 3D

    CpuAddOn

    logisim-evolution/GECKO5Education

    Openhardware educational platform based on the ideas of the ulx3s and Gecko4Education

    141 parts18MIT
  • 2 layers40 × 70 mmKinetiCoreDC, the printed circuit board in 3D

    KinetiCoreDC

    axpaul/KinetiCoreDC

    Compact STM32G0-based DC motor controller board featuring TI DRV8874 H-bridge drivers, RS485 communication, optoisolated I/O, and hardware power protection.

    183 parts1CERN-OHL-S-2.0
  • 2 layers121 × 121 mmGlobal ESP32S3 PCB, the printed circuit board in 3D

    Global ESP32S3 PCB

    TiTooom/Global_ESP32S3_PCB

    Carte électronique ESP32-S3-WROOM-U1 permettant de controller : - Jusqu'à 3 NEMA 17 - 3 Capteurs TOF VL53L0X (i2c) - 1 écran OLED 0.96 12864 (i2c) - Buzzer - LiDAR

    85 parts
  • 4 layers100 × 48 mmBMS v2, the printed circuit board in 3D

    BMS v2

    embeddedalpha/BMS

    Battery Management System for 6s4p Li-ion Pack

    190 parts6

Questions

How big is the Flight stick PCB?

It measures 76 × 51.5 mm and has 4 copper layers, 1.61 mm thick.

What parts does the Flight stick use?

60 parts, built around the STM32F103CBU6, AT24CS01-MAHM-T, TPS62177DQC and USBLC6-2SC6. 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 Flight stick KiCad files?

From the hpvdt/Falcon_flight_stick repository on GitHub, at the commit this page was made from: the board is hardware/flight_stick.kicad_pcb and its schematic hardware/Adc_Strain_gauge.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the Flight stick design in my own project?

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