Пожалуй, целую статью об этой поделке сочинить не стоит, мало контента. Но вот пара слов о том, как можно просто и легко сделать
троллейбус некое подобие беспроводной клавиатуры из платы, продающейся на рынке под названием
ESP32-C3 Super Mini.
Просто берём этот самый ESP32-C3 Super Mini, берём I2C расширитель
PCF8574T и слепляем это вместе.

Вот по такой схеме:

Кнопульки, понятное дело, подключаются к расширителю в XP4 и тянут его ноги на землю. Здесь я использую выход прерывания PCF для того, чтобы будить ESP32-C3 из глубокого сна: как известно, этот выход переходит в 0, если состояние любого "квазидвунаправленного" выхода изменит состояние относительно того, которое было записано в чип, иными словами, если нажать на любую из кнопок.
На LM3671 сделана Step-down понижайка в 3,3В. Данный чип, помимо своей высокой эффективности, хорош ещё тем, что если напряжение на его входе становится близким к стабилизируемому на выходе, или даже ниже, он не уходит в какую-то защиту и т.д., а просто полностью открывает свой ключ, пропуская на выход практически всё, что есть на входе.
Тем не менее, чтобы не высаживать слишком сильно литиевый аккумулятор, добавлен супервизор DA1, вырубающий чип при входном напряжении ниже 2,6В и зажигающий светодиод, подключенный к пинам XP2.
К XP1 подключен тумблер в разрыв питания. M1 - это "классический" китайский модуль зарядки на TP4056,
типа такого. К нему разведена
панелька для банки 18650.
XP3 просто прокинутый на плату UART, мало ли для отладки (хотя мне не пригодилось).
Если кому надо,
здесь полный архив проекта, включающий в себя плату в Altium Designer 10 и проект прошивки для
Arduino PlatformIO, что есть почти то же самое, но с Майкрософтом и тёмной темой.
Добавлено after 18 minutes 21 second:Плата более-менее встала
конкретно вот в этот корпус.

И пара слов о софтовой части: чтобы всё завертелось, я, не долго думая, взял
первый попавшийся проект BLE-клавы и немного его пообрезал. Чтобы он скомпилировался, нужна библиотека NimBLE, но не абы какая, а версии не выше 1.4.3...так гугловский ИИ-поиск утверждает.

Для считывания PCF8574, конечно же, тоже возьмём
готовую библиотеку от xreef. Чтобы экономить заряд батареи, через 5 минут контроллер уходит в т.н. "esp deep sleep" и в таком состоянии, сам по себе, потребляет всего пару сотен мкА. Но не забудем, что на плате по питанию распаян красный светодиод, который хоть и сильно придушен по току, но что-то таки потребляет, так что лучше
очень аккуратно отпаять либо его самого, либо его ограничивающий ток резистор.
Задержка delay(20) нужна, чтобы адекватно успевала отработать библиотека PCF8574 и её алгоритм антидребезга для кнопок.
Остальное более-менее должно быть понятно.
А теперь о вещах, которые не очень понятны мне: какой-то этот блютус на ESP32C3 получается...не очень лоу энерджи! Модуль в активном состоянии (пока не спит) постоянно кушает чуть более 80 мА, не зависимо даже, подключился он к хосту, или нет. Это примерно столько же, сколько ест ESP8266!

Не знает ли кто, это, вообще, норма, или я что-то делаю не так?