Работа с ультразвуковыми датчиками расстояния SRF05, HC-SR04 и совместимыми с регулировкой скорости звука по условиям и усреднением измерений
Архитектура: ESP32
Библиотеки, совместимые с этой платформой, а также универсальные библиотеки для любых Arduino-совместимых плат.
Легковесный драйвер для OLED-дисплеев SSD1306, SSD1315 и SSH1106 с собственной реализацией I2C, экономящий память микроконтроллеров
Драйвер для монохромных LCD-дисплеев 128×64 с контроллером ST7567S, подключаемых по I2C к ESP32 и ESP8266
Динамический и статический буфер для массивов любого типа данных с операциями push/pop и индексацией
Standard PLC function blocks (timers, counters and edge triggers) for Arduino.
Простая реализация конечного автомата с состояниями и переходами, управляемыми функциями-условиями
Реализация конечного автомата с поддержкой состояний, переходов и callback'ов для управления режимами работы проекта
Облегченная замена std::function без динамической памяти для встроенных систем — поддерживает функции, методы и лямбды
Отправка метрик на StatsD-сервер через UDP с поддержкой тегов для Telegraf и Datadog
Клиент для отправки метрик на statsd-сервер через Arduino по TCP или UDP с поддержкой WiFi и Ethernet
Управление DC-моторами на Arduino через PWM с контролем направления и скорости
Управление несколькими шаговыми двигателями одновременно без блокирующих задержек через неблокирующие вызовы step()
Управление шаговыми двигателями через каскадированные сдвиговые регистры 74HC595, используя всего три вывода микроконтроллера
6-осевой инерциальный датчик (акселерометр и гироскоп) для STM32 с поддержкой I2C и SPI
Отладка ARM-плат Arduino через semihosting с помощью J-Link или Black Magic Probe
Измерение интервалов времени и частоты сигналов с точностью до микросекунд
Последовательное выполнение неблокирующих задач с временными интервалами между ними
Вычисление доверительного интервала для среднего значения выборки через T-распределение Student
Субпиксельный рендеринг шрифтов для чётких надписей на маленьких дисплеях
Плавное управление сервомоторами с 30 вариантами easing-анимаций для естественных движений без блокирующих функций
Парсер SVG для создания GUI на ESP8266 с выводом на сенсорный дисплей или веб-интерфейс и поддержкой динамических callback-функций
Программная реализация I2C с простыми методами readFrom() и writeTo() для работы с датчиками и модулями на любой Arduino-плате
Синхронизированные волновые функции (синус, косинус, треугольник, пила) с периодом, независимые от частоты вызова основного цикла
Синтез речи на основе LPC с предзаписанным словарём из 1000+ слов для встраивания в Arduino-проекты
Работа с сенсорной панелью GT911: инициализация контроллера, чтение координат касаний и интерпретация жестов
Планировщик задач для Arduino с поддержкой периодического и отложенного выполнения без блокирующих задержек
Управление четырёхканальным мультиплексером TCA9544A для разделения I2C-устройств с одинаковыми адресами
Управление E-Ink дисплеем Aurora Mb 4.41" через контроллер TCM2 с конвертированием графики в EPD формат
Фреймворк логирования для TcMenu с поддержкой пользовательских реализаций LoggingPort и совместимостью с Arduino, PicoSDK и mbed
TCP-клиент для Arduino через последовательный порт хоста с поддержкой любых серверов без Ethernet и WiFi шилдов