Skip to content

Latest commit

 

History

6 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 

Repository files navigation

✈️ DIY Simulator Control Panel (Button Box)

Самодельная панель управления для авиасимулятора на базе STM32F103C8 (Blue Pill)
Вдохновлено устройствами VKB. Проект в активной разработке.

Status MCU IDE Sim


📋 Описание

Проект реализует USB HID-совместимый button box для авиасимуляторов (DCS, MSFS, IL-2 и др.).
Основа — матрица кнопок 4×4, прошивка на bare-metal C, симуляция схемы в Proteus.

Цель: создать полнофункциональную панель управления без использования готовых решений — только свой контроллер, своя прошивка.


🛠️ Железо

Компонент Описание
Микроконтроллер STM32F103C8T6 (Blue Pill)
Матрица кнопок 4×4 (16 кнопок)
Антигостинг Программный (опрос матрицы с защитой от фантомных нажатий)
Подключение к ПК USB (HID)

📁 Структура репозитория

DIY-panel/
├── buttons/            # Исходный код STM32CubeIDE (bare-metal C)
│   ├── Src/            # main.c, syscalls.c, sysmem.c
│   ├── Startup/        # стартап-файлы
│   ├── Debug/          # артефакты сборки (в .gitignore)
│   └── STM32F401CCUX_FLASH.ld
├── button_box.pdsprj   # Proteus-проект (схема + симуляция)
├── buttons.hex         # Скомпилированный HEX (последняя стабильная версия)
├── .gitignore
└── README.md

🔧 Прошивка

  • IDE: STM32CubeIDE
  • Язык: C (bare-metal, без RTOS)
  • Сканирование матрицы: построчное, polling
  • Антигостинг: программный (фильтрация фантомных нажатий при сканировании)

Сборка

  1. Открыть папку buttons/ как проект в STM32CubeIDE
  2. Build → Project > Build All (Ctrl+B)
  3. Прошить через ST-Link: Run > Run или загрузить buttons.hex через STM32CubeProgrammer

🧪 Симуляция (Proteus)

Файл button_box.pdsprj содержит схему матрицы кнопок с Blue Pill.
Позволяет отлаживать прошивку без физического железа.

Запуск:

  1. Открыть button_box.pdsprj в Proteus 8+
  2. Загрузить buttons.hex в свойства микроконтроллера
  3. Запустить симуляцию (F12)

📊 Прогресс

  • Схема матрицы 4×4 в Proteus
  • Сканирование матрицы (bare-metal, polling)
  • Программный антигостинг (защита от фантомных нажатий)
  • Добавление энкодеров (поворотные переключатели)
  • Добавление двухцветных светодиодов (индикация состояния)
  • USB HID — прошивка как джойстик (HID дескриптор + репорты)
  • Физическая сборка панели

📌 Заметки

  • Workspace-файл Proteus (.workspace) добавлен в .gitignore — он хранит локальные пути
  • Папка Debug/ добавлена в .gitignore — туда идут артефакты сборки STM32CubeIDE
  • buttons.hex в репе — актуален для последней стабильной версии прошивки

About

DIY aviation sim button box on STM32F103C8. 4×4 key matrix, anti-ghosting, USB HID joystick (WIP)

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages