Разрабатываю бортовой компьютер для своего мотика (Yamaha TTR)
Основные компоненты - BluePill c STM32F103, DS3231 с батарейкой и экранчик 1.8 на ili9341.
Получается очень громоздко, на руле такая плямба не очень смотрится.
Есть идея вынести STM в отдельный блок и спрятать его где-нибудь в недрах мотоцикла в безопасном месте.
И вот в этот момент возникает вопрос: как его потом связывать с экраном?
Связь с экраном идет по SPI, плюс кнопки для навигации и настроек. SPI для таких условий не очень подходит, плюс тянуть провода от кнопок, что тоже не способствует надежной работе.
Думал сделать экранчик полностью автономным со своим микроконтроллером (ESP8266 вполне бодро рисует на нем), но тогда нужно задумываться уже о протоколе общения с основным модулем.
i2c - слишком замороченный код клиента, и по событиями не работает (опрос кнопок)
Пока в голову приходит только двойной UART: одна линия от экрана к БК, вторая - от БК к экрану.
Как обычно выкручиваются из таких ситуаций?
Фото прототипа прилагаю. В будущем кнопок будет побольше и модуль DS3231 с батарейкой уйдут на плату. От BluePill избавиться не смогу, ибо паять такие корпуса не умею.