Добрый день. Работаю над проектом наручных часов на базе atmega 328p и дисплея на sh1106, котрый подключается по i2c . Проблема в том что если во время работы дисплея дотронуться пальцем до шлейфа то изображение начинает давать артефакты, которые так и остаются даже после перерисовки изображения заново. А когда плата находится в корпусе то все вроде как нормально, но за неделю эксплуатации один раз все таки такая ерунда случилась. Пришлось разбирать часы и сбрасывать питание.Даже переинициализация не помогает. Спасает только отключение от питания. Изначально дисплей был на своей плате с обвязкой, и такие проблемы не наблюдались , потом его перепаял на свою плату.
Понимаю что проблема в помехах , но как избавиться от них ума не приложу. Шины данных подтянуты к плюсу через 10к резисторы.

Вот так должно работать и показывать по задумке.

А вот так выглядит глюк. Изображение перевернулось на 180 градусов, стало зеркальным и сместилось на перу пикселей.
При этом все показания изменяются корректно. Т.е. секунды идут и меняются, но вот отображается всё это очень криво.
Код писался под Arduino. Ещё на i2c висит RTC ds1337, хотя не думаю что дело в ней.