С длинным крокодилом на выходе преобразователя было страшно смотреть на выбросы. Пружинка земли сделала картину значительно спокойнее — без единой правки платы.

Снял колпачок щупа и замкнул пружинку на землю прямо у выходного конденсатора. Сравнивал при одной нагрузке и одной полосе измерения. Петля из провода сама ловила помеху от дросселя.
Что изменил
Сохранил обе картинки в журнал, чтобы не повторять эту охоту за привидениями. Пружинка теперь лежит в отдельной коробочке: потерять её легче, чем найти источник выброса.
Моя памятка для следующего измерения
Перед сравнением плат проверяю компенсацию щупа на калибровочном выходе. Затем оставляю одинаковые масштаб, ограничение полосы и способ подключения земли. Если поменять сразу всё, две осциллограммы начинают рассказывать разные истории.
Вторая полезная проверка — замкнуть кончик щупа на его собственную землю и поднести получившуюся петлю к дросселю. Если на экране остаётся похожий импульс, часть картинки связана с наведённой помехой. Это не повод объявить питание идеальным; это повод сначала уменьшить петлю и повторить измерение.
Для труднодоступного места припаял короткий контакт земли рядом с тестовой площадкой. Он выглядит менее аккуратно, чем ряд одинаковых пинов, зато позволяет подключить пружинку. В следующую ревизию добавлю такой контакт сразу.
// Короткий фрагмент: антидребезг одного входа, без блокировки цикла.
constexpr uint32_t debounce_ms = 25;
static bool sample = false, stable = false;
static uint32_t changed_at = 0;
const bool now = digitalRead(BUTTON_PIN) == LOW;
if (now != sample) { sample = now; changed_at = millis(); }
if (millis() - changed_at >= debounce_ms && stable != sample) {
stable = sample;
if (stable) toggle_relay();
}
Продолжение и история ревизий: Комнатный контроллер на ESP32.
Ещё из журнала
Завёл журнал плат, пока ещё помню номиналы
Нашёл пакет с тремя одинаковыми платами и разными резисторами обратной связи. На одной карандашом было написано «норм», но к какой нагрузке это относилось — уже не вспомнить.