Skip to content

About

A Russian YaSHert keyboard layout patch for the original Plai firmware on M5Stack Cardputer.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

1 Commit

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 

Repository files navigation

Plai YaSHert Keyboard Patch

A small patch for the original Plai firmware. It replaces the text-input layout with a Russian phonetic YaSHert layout adapted to the M5Stack Cardputer. The English layout remains unchanged.

This repository intentionally contains only the patch, Linux build instructions, and the same GPL-3.0 license used by Plai. It does not contain a copy of the Plai source tree.

Copyright (c) 2026 lessucettes
This patch was vibe-coded with gpt-5.6-luna.

Files

  • plai-yashert-cardputer.patch — patch for the original Plai source tree.
  • LICENSE — GNU GPL v3.0, matching Plai.

Build from source

1. Install host tools

On Debian or Ubuntu:

sudo apt update
sudo apt install -y git cmake ninja-build python3

Install ESP-IDF v5.5.4 for the ESP32-S3:

mkdir -p ~/esp
git clone --branch v5.5.4 --recursive https://github.com/espressif/esp-idf.git ~/esp/esp-idf
cd ~/esp/esp-idf
./install.sh esp32s3

Install the Nanopb 0.4.9.1 generator:

git clone --branch nanopb-0.4.9.1 --depth 1 https://github.com/nanopb/nanopb.git ~/esp/nanopb-0.4.9.1

2. Download Plai

Clone the original project with its protobuf submodule:

git clone --recursive https://github.com/d4rkmen/plai.git
cd plai

If the repository was cloned without submodules:

git submodule update --init --recursive

3. Download and apply this patch

curl -fL https://github.com/lessucettes/plai-yashert-patch/raw/main/plai-yashert-cardputer.patch \
  -o plai-yashert-cardputer.patch
git apply --check plai-yashert-cardputer.patch
git apply plai-yashert-cardputer.patch
git diff --check

Apply the patch to a clean Plai working tree.

4. Generate protobuf sources

The generated Nanopb files are not stored in the Plai repository. Generate them once after cloning:

cd protobufs
~/esp/nanopb-0.4.9.1/generator/protoc \
  --experimental_allow_proto3_optional \
  '--nanopb_out=-S.cpp -v:../main' \
  -I=../protobufs ../protobufs/meshtastic/*.proto
cd ..

5. Configure and build

source ~/esp/esp-idf/export.sh
export PATH=/usr/bin:$PATH
idf.py set-target esp32s3
idf.py build

The resulting firmware image is:

build/Plai.bin

To flash a connected device on Linux:

idf.py -p /dev/ttyACM0 flash monitor

License

This patch is distributed under the GNU General Public License v3.0, the same license used by Plai.

About

A Russian YaSHert keyboard layout patch for the original Plai firmware on M5Stack Cardputer.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors