🎮 BLE-геймпад на ESP32 достиг первой жизнеспособной версии

Это прямое развитие моего прошлого проекта геймпада на AVR + HC-05 - теперь полностью переписанного под ESP32.

За несколько недель удалось собрать полноценный комплект: аппаратная конфигурация, код и подробная документация. Пока это только чип ESP32-C3 и NES исполнение с минимумом кнопок, но уже работает: можно прошить, собрать и реально использовать.

🔋 Главное - адекватный мониторинг заряда: - точность до 1% (на основе реальных данных 18650 из Battery18650Stats) - контроль и реклама процента заряда каждые 60 секунд - хост (PC/Android) видит актуальный уровень батареи - процент не скачет при подключении/отключении зарядки - работает как с резисторным делителем на внутреннем АЦП, так и с MAX1704x по I2C

А ещё: - Watchdog на 10 секунд - если прошивка зависнет, ESP32 сам перезагрузится - смена режимов кнопок (Standard / Turbo / Slow) - D-input/X-input сменой одного параметра в коде (благодаря библиотеке ESP32-BLE-CompositeHID) - отдельные светодиоды для статуса сопряжения и индикации низкого заряда - предварительная документация: схемы подключения, рекомендации, калибровка АЦП

Поскольку Deep Sleep пока не реализован, для полного отключения питания добавлена кнопка с фиксацией в разрыв питания модуля. Она отлично вписалась в дизайн геймпада - даже цвет колпачка удачно вписался в цветовую гамму. Ну и приятным бонусом стало то, что не понадобился световод - яркости светодиодов хватает, чтобы светить прямо сквозь лицевую панель корпуса.

Это далеко не финал. Впереди ещё много работы - аналоговый мультиплексор или иной расширитель GPIO для кнопок, оптимизация энергопотребления… Но база готова.

GitHub: https://github.com/NoileExe/ESP32_BT-HID_retro_gamepad

Кто хочет сделать свой геймпад - добро пожаловать! Буду рад вашим звездам и обратной связи.

#ESP32 #BLE #Gamepad #OpenSource #DIY #Embedded #HID #BatteryMonitoring

🎮 BLE-геймпад на ESP32 достиг первой жизнеспособной версии | Сетка — социальная сеть от hh.ru