ESP32-C3: https://alii.pub/6m7u94
ESP32-S2: https://alii.pub/6m7ubu
ESP32-S3: https://alii.pub/6m7ude
Прежде чем приступить к материалу, я Вас попрошу, если нравится то, что я делаю и хотите следить за моей деятельностью, то рекомендую подписаться на мой телеграмм канал: https://t.me/ypavla
Там я публикую новости о вышедших видео, статьях и разные устройства для умного дома и не только показываю.
Спасибо за внимание, теперь продолжим.
Довольно давно вышли микроконтроллеры ESP32-C3, ESP32-S2, ESP32-S3 в свет, но в esphome их поддержку все никак не добавляли.
Потом прошло некоторое количество времени и поддержку вроде добавили, но эти микроконтроллеры запрограммированные через esphome_flasher не работали.
Постоянно выскакивала ошибка:
ESP-ROM:esp32c3-api1-20210207
Build:Feb 7 2021
rst:0x15 (USB_UART_CHIP_RESET),boot:0xd (SPI_FAST_FLASH_BOOT)
Saved PC:0x4004c728
invalid header: 0xffffffff
invalid header: 0xffffffff
invalid header: 0xffffffff
invalid header: 0xffffffff
И этот invalid header: 0xffffffff спамил просто постоянно и зависала программа esphome_flasher в конце концов.
Долго я ждал решения проблемы.
Выбор платы esp32-c3 то пропадал в esphome, то появлялся. А ошибка header все так и присутствовала.
Пока я не наткнулся на одну статью, в которой говорилось, что такая проблема возникает только если вы программируете контроллер через esphome_flasher.
Если напрямую подключить к серверу Home Assistant и оттуда запрограммировать, проблемы не будет.
Я побежал скорее пробовать этот момент и… О чудо – это действительно сработало.
Начал разбираться почему-же так происходит и оказалось что esphome-flasher не обновлялся с 21 октября 2021 года.
И он попросту не знает про существование esp32-c3 и бьет заголовки не правильно.
Решение есть, там нужно где-то python скрипты править и компилировать заново.
По этому, если Вы хотите программировать новые контроллеры от компании espressif, то делайте это напрямую. Не через esphome_flasher.
P.S.
Кстати мне очень понравился тот факт, что у esp32-c3 любой пин может быть пином I2c. Просто указываем пин sda и scl какой хотим. И это будет работать. Очень удобно.