Лёгкие реализации массивов, очередей и map для микроконтроллеров с малой памятью: от ATtiny до ESP32 и STM32
Библиотеки
Ищите по названию, автору, категории или строчке #include. У каждой библиотеки видно, готов ли ZIP к скачиванию с зеркала TREMA.
Управление I²C коммутатором PCA9846 для переключения между несколькими устройствами с одинаковыми адресами
Управление многозначными семисегментными индикаторами с мультиплексированием и кодированием символов
Управление аналоговыми мультиплексерами вроде CD74HC4067 через простой объектно-ориентированный интерфейс без битовых операций
MVC-фреймворк для создания веб-приложений IoT на Arduino, ESP8266 и ESP32 с поддержкой RESTful, AJAX и аутентификацией
Модульный фреймворк для быстрого прототипирования датчиков и актюаторов на ESP32/ESP8266 с веб-интерфейсом, WebSockets, MQTT и неблокирующей логикой
ESP32 IoT веб-сервер с автоматической генерацией мобильного интерфейса, WiFi подключением через приложение и mDNS обнаружением
OTA обновление прошивки ESP32 через WiFi с проверкой целостности кода и поддержкой Android-приложений и Python-скриптов
Управление WiFi-учётными данными ESP32 через встроенное хранилище NVS с синхронизацией через mvsConnect
Управление WiFi-учётными данными ESP8266 с сохранением в EEPROM для переподключения после перезагрузки
Управление шаговыми двигателями через драйверы A4988, DRV8825 и подобные с интерфейсом STEP+DIR
WebSocket для микроконтроллеров с поддержкой Arduino, ESP8266/ESP32 и Ethernet-щитов, соответствует стандарту RFC6455
Неблокирующие таймеры с минимальным расходом памяти для параллельного опроса датчиков и обработки событий
Упрощённое управление двухканальным DC-мотор-драйвером MX1508 с PWM-контролем скорости и направления вращения
Работа с датчиком движения MX8650 через SPI: чтение регистров, управление DPI и получение данных о движению по осям X и Y
Обработка нажатий кнопок без блокировок с распознаванием кликов и долгого нажатия, с поддержкой прерываний
Портированная uClibc++ для Arduino с исправлением конфликтов std::nothrow, контейнерами STL и функциями ввода-вывода
Управление LED-драйверами MY9291 и MY9231 для Arduino AVR и ESP8266 с контролем яркости и цвета
Управление будильниками и таймерами для запуска кода в определённое время или через заданные интервалы
Управление миганием обычных светодиодов и адресуемых NeoPixel лент с настройкой эффектов
Управление Durian UNO с ESP8266 через Blynk с поддержкой 5V датчиков и модулей
Обнаружение событий нажатия кнопок с антидребезгом и подсчётом импульсов для Arduino и ESP32
Обработка кнопок с INPUT_PULLUP без внешних резисторов через простую проверку isPressed()
A simple Arduino/ESP32 button library for handling a list of buttons - configure once, trigger a debounced pressed event via callback, or check pressed states anytime.
Управление конфигурацией приложений ESP32 с поддержкой NVS и файловой системы, валидаторами и сохранением в JSON
Управление мощностью TRIAC, SSR и регуляторов напряжения через фазовое управление, cycle stealing, PWM или I2C DAC
Асинхронное чтение температуры с датчиков Dallas DS18 на ESP32 через RMT, с поддержкой множественных сенсоров и JSON-вывода
OLED-дисплеи SH1106, SH1107 и SSD1306 по I2C с поддержкой виртуальных экранов и режима карусели
Сетевой менеджер для ESP32 с WiFi, Ethernet и встроенным веб-интерфейсом для подключения