Галерея проектов
Любой проект можно открыть, запустить и сделать своей копией. У каждого примера есть разбор: что на схеме, какие библиотеки нужны и что делает код.
Конечный автомат
Состояния, переходы и таблица. Способ описать поведение прибора, который перестаёт помещаться в if-ы.
Сравнение фильтров
Скользящее среднее, экспоненциальное и медиана на одних данных. Видно, чем они отличаются на выбросах.
Сведения о чипе
Ревизия, число ядер, объём флеша, MAC-адрес, свободная память. Первое, что стоит вывести в незнакомом железе.
Случайные числа
esp_random() берёт энтропию из аппаратного генератора. random() без засева даёт одну и ту же последовательность.
Проверка выводов
Перебор безопасных выводов с переключением. Помогает найти обрыв в макетке.
Сторожевой таймер
Зависшую задачу должен кто-то перезапустить. Сторож делает это, если её не гладить вовремя.
ArduinoJson: разбор и сборка
Шестая версия и седьмая различаются в первой же строке. Разбор чужого ответа, проверка ошибок и сборка своего.
Причина перезагрузки
После неожиданного рестарта первое, что нужно знать: питание, сторож или паника.
Слежение за утечкой памяти
Куча, которая только уменьшается, — признак утечки. Здесь она создаётся намеренно, чтобы увидеть, как это выглядит.