
как это сделать с помощью ЦАП, ибо выходит что на нём самый комфортный шаг с 256 ступенямиНе понял, откуда вы это вывели. ЦАПов много, есть и с бОльшим количеством ступеней, вот например КР572ПА1А, производимый с чёрт знает каких времён. У него 1024 ступени. При напряжении питания 15 вольт получаем с него шаг 15/1024=15 милливольт. Вам этого достаточно? Правда, придётся на его входы подавать не 8-битное, а 10-битное слово. Но ведь для вашего ESP32 это не проблема, верно?


Делается это так. Разряжаем батарею смартфона как можно ниже - лучше всего до нуля (но вряд ли он вам это позволит). Затем втыкаем измерительный девайс в зарядник, а шнур от смартфона втыкаем в него с другой стороны. Зарядник, естественно, в розетку. Начинается заряд, на экранчике девайса виден ток заряда и накапливаются цифры потреблённой аккумулятором ёмкости. Дожидаемся окончания заряда (цифры ёмкости перестают расти), смотрим эти цифры и сравниваем их с тем, что ранее было известно про этот аккум. Например, по техническим данным смартфона его аккум имел ёмкость 5000 мач, а прибор показал 1500 - ну значит, аккумулятор потерял более чем две трети своей ёмкости.
Раздобыть этот очень полезный приборчик можно тут.
Ну, а что делать, если выяснится, что виновата батарея, вы и без меня знаете.