adolanium/hermes-gadget-sdk is an SDK for building devices that let Hermes Agent respond with speech or text, providing ESP32 firmware, a Linux client, and a desktop simulator together. The November 5, 2026 commit e3d08cc merged PR #272 to add the ability to display Russian on the screen. Russian alphabet glyphs (U+0410~U+044F) plus Ё and ё were added to the 5×7 font, and the device now reports its charset as latin1-cyrillic.
The SDK folds response text according to the device charset to fit small screens, that is, it replaces unsupported characters with nearby characters or drops them. latin1-cyrillic is a character set that layers the Russian alphabet as-is on top of the existing latin1. А, В, Е, К, М, Н, О, Р, С, Т, Х, which look the same as Latin letters, and the lowercase а, е, о, р, с, у, х reuse existing glyphs. The documentation (docs/protocol.md, docs/hermes-integration.md) states that the charset has grown to three options, ascii, latin1, and latin1-cyrillic, and the Hermes plugin side (plugin/textfmt.py) also handles this value. The CHANGELOG notes that it was confirmed on a Waveshare ESP32-S3-Touch-LCD-1.83 board with a Russian response displayed on the screen.
However, it is easy to miss the update order. The old plugin passes latin1-cyrillic text through without folding, so the Russian does show up on the screen, but quotation marks, dashes, and emoji are drawn as ?. If the firmware is updated first, those characters are broken until the plugin is changed. Also, remaining Cyrillic characters such as і, ї, є, ђ still stay as ?, and firmware built with the Chinese font still reports its charset as cjk even though it has the glyphs. This commit added 235 lines and deleted 7 lines, and firmware/core/src/font5x7.cpp, firmware/tests/test_i18n.cpp, and plugin/textfmt.py were changed together. If displaying Russian is the goal, it is safer to update the plugin first and then flash the firmware; full Cyrillic character support is still some way off.