Кириллица на OLED Meshtastic

Стандартная прошивка Meshtastic не включает кириллические шрифты для OLED-дисплея. Мобильные приложения показывают кириллицу нормально — проблема только на экране устройства.

Решение — кастомная сборка с флагом OLED_RU

В исходниках Meshtastic уже есть всё необходимое:

  • src/graphics/fonts/OLEDDisplayFontsRU.h — шрифты ArialMT 10/16/24pt с кириллицей
  • src/graphics/ScreenFonts.h#ifdef OLED_RU подключает русские шрифты
  • src/graphics/Screen.hcustomFontTableLookup() маппит UTF-8 (0xD0/0xD1) → CP-1251

Нужно только активировать при сборке.

Пошагово

1. Подготовка

pip3 install platformio
pip3 install esptool

2. Клонирование репозитория

git clone https://github.com/meshtastic/firmware.git
cd firmware
git fetch --tags
git checkout v2.7.15.567b8ea   # нужная версия
git submodule update --init --recursive

3. Добавление флага

В файле variants/esp32s3/heltec_v4/platformio.ini, секция [env:heltec-v4], добавить -D OLED_RU в build_flags:

[env:heltec-v4]
extends = heltec_v4_base
build_flags =
  ${heltec_v4_base.build_flags}
  -D HELTEC_V4_OLED
  -D OLED_RU              # <-- добавить эту строку
  -D USE_SSD1306
  ...

4. Сборка

pio run -e heltec-v4

Результат: .pio/build/heltec-v4/firmware.factory.bin — комбинированный образ (bootloader + partitions + firmware).

Сборка занимает ~5 минут.

5. Прошивка

Перевести устройство в download mode: зажать BOOT → нажать RESET → отпустить RESET → отпустить BOOT.

# Стереть flash
esptool --port <DL_PORT> erase_flash
 
# Записать firmware (download mode снова)
esptool --port <DL_PORT> write_flash 0x00 .pio/build/heltec-v4/firmware.factory.bin
 
# Записать BLE OTA (download mode снова)
esptool --port <DL_PORT> write_flash 0x650000 bleota-s3.bin
 
# Записать LittleFS (download mode снова)
esptool --port <DL_PORT> write_flash 0xc90000 littlefs-heltec-v4-*.bin

BLE OTA и LittleFS можно взять из официального архива firmware-esp32s3-*.zip.

6. Восстановить конфигурацию

См. Бэкап и восстановление Meshtastic.

Важно

  • После erase_flash все настройки сбрасываются — обязательно сделать бэкап перед прошивкой
  • После прошивки USB-порт меняет имя (MAC в имени)
  • Между записью каждого компонента нужен download mode (BOOT + RESET)
  • firmware.factory.bin уже содержит bootloader — записывается по адресу 0x00

Готовые сборки с кириллицей

Онлайн-прошивальщик Mrekin

mrekin.duckdns.org/flasher — сторонний Web Flasher с предсобранными прошивками, включающими кириллицу. Если прошивка через сайт не работает — скачать .zip, извлечь файл firmware (не factory), и прошить через официальный flasher, указав файл вручную.

GitHub-сборки

Пользователь lisachev делает автоматические nightly-сборки с OLED_RU:

Для Heltec V4 готовых сборок нет — нужно собирать самостоятельно.

См. также