```gitignore
# =========================================================
# STM32 / CubeIDE build output
# =========================================================
bpdt-firmware/bpdt-adapter-stm32h5/Debug/
bpdt-firmware/bpdt-adapter-stm32h5/Release/
bpdt-firmware/bpdt-adapter-stm32h5/build/
bpdt-firmware/bpdt-adapter-stm32h5/Build/
bpdt-firmware/bpdt-adapter-stm32h5/out/
bpdt-firmware/bpdt-adapter-stm32h5/.settings/*.log
bpdt-firmware/bpdt-adapter-stm32h5/.settings/language.settings.xml

*.o
*.obj
*.d
*.su
*.elf
*.axf
*.map
#*.hex
*.bin
*.list

# CubeIDE autogenerated temp / cache
.metadata/

# Keep project files tracked
# .project
# .cproject

# Ignore only user-specific launch/debug temp
*.launch
*.log

# =========================================================
# KiCad generated temporary / backup files
# =========================================================
bpdt-hardware/bpdt-hardware-backups
bpdt-hardware/#auto_saved_files#
*.kicad_prl
*.kicad_sch-bak
*.kicad_pcb-bak
*.bak
*-bak
*.tmp

# Autosave / lock files
*.autosave
*.lock

# Plot / manufacturing outputs
gerbers/
plot/
*.gbr
*.drl
*.gko
*.gbl
*.gtl
*.gts
*.gto
*.gm1
*.csv
*.rpt
*.pos
*.step
*.stp

# 3D exports if generated
exports/

# =========================================================
# IDE / editor files
# =========================================================
.vscode/
*.swp
*~
*.user

# =========================================================
# OS junk
# =========================================================
Thumbs.db
Desktop.ini
.DS_Store

# =========================================================
# Python helper scripts temp
# =========================================================
__pycache__/
*.pyc

# =========================================================
# Coverage / test artifacts
# =========================================================
coverage/
*.gcda
*.gcno
*.gcov

# =========================================================
# Debugger files
# =========================================================
*.jlink
*.jlinkscript
```
