Открытый проект со схемой, платой и документацией.
USB-ограничитель заряда телефона на ATtiny45/85 управляет зарядкой телефонов и других устройств и следит за ней. Напряжение, ток, мощность и энергия постоянно измеряются через INA219 и сравниваются с заданными пользователем пределами. При достижении выбранного условия питание отключается полевым транзистором. Так можно контролировать степень заряда литий-ионного аккумулятора телефона и продлевать его срок службы. Настройки пользователя хранятся в EEPROM.

Устройство снабжено вилкой USB-A на входе и гнездом USB-A на выходе, чтобы включаться между источником питания и телефоном (или другой нагрузкой). Линии D+ и D- пропускаются насквозь, чтобы телефон мог согласовать протокол зарядки.
Для измерения напряжения и тока используется INA219 — монитор тока и мощности с интерфейсом I²C. Он следит и за падением на шунте, и за напряжением шины, с программируемым временем преобразования и фильтрацией. Программируемое калибровочное значение с внутренним умножителем позволяет напрямую считывать ток в амперах. Выбранное сопротивление шунта 8 мОм даёт малое влияние на цепь и разрешение измерения 1 мА. Для точности берите шунт с малым допуском (1% или лучше).
Устройство питается 3,3 В через линейный стабилизатор HT7333, снимающий входное напряжение до 12 В с шины USB.
Это краткое изложение проекта. Полную версию с подробностями смотрите на сайте оригинала: https://oshwlab.com/wagiminator/attiny85-phone-charge-guard