1. не совсем понимаю как бинарник (HEX файл) AquaControllerNano v 1.2.8 - 0.3 весом 84 Кб помещаеться в ArduinoNANO 32 Кб (ATmega328) при этом 2 Кб используются для загрузчика?.
2. мне любая схема интерестна, в схеме где применяються PCA9635 и ADS1015

непонятно назначение клемника DS1(Header3) если для DS18B20 то резистор R6 должен бить между контактом 2 и 3 DS1;
на микросхему U2 не подаеться питание на контакт VDD;
базу транзисторов Q1 и Q2 через сопротивление 10К желательно привязать до минуса;
обвязка управления оптопарами U1-U12 некоректна: слишком большие номинали сопротивлений R2, R8, R15.....при виходних уровнях микросхеми U2- 3 вольта, тем более дальше применяються светодиоди со своим падением напряжения. Может последовательно стоит подключить сопротивлене едак 30 Ом светодиод и до светодиода оптопари или чудить схему с транзисторами.
следует учтивать работу с ADS1115 (ADS1015) напряжение подаваемое на вход АЦП не должно превышать VDD+0,3 В.В данном случае VDD(3,3)+0,3В= 3,6 вольта.Этот модуль очень боится перенапряжения
как по входам, так и по питанию. Превышение напряжения более чем на 5% от напряжения питания его моментально сожжет.
и бузер BZ1 все-таки подключить через транзистор (правило хорошего тона) Все изложенное ИМХО.

Пожелания: если будете фиксить прошивку, профиксите пожалуйста отображение на екране температури с DS18B20, чтоби не отображались сотие градуса (виглядит не корректно).