Meshtastic T-Deck fancy-ui manual build instructions
This blog post shows you how to build and flash the meshtastic-firmware with the new “fancy-ui”
The build instructions are meant to be executed in a fresh and clean ‘debian 12’ environment (e.g. a container or a vm). Execute the flashing instructions on your own risk, i am not responsible for your bricked t-deck. Be very careful when copying shell commands in your terminal and always try to understand them first.
Build instructions:
inside the environment:
- install requirements with:
sudo apt update && sudo apt install -y git python3-venv - clone the meshtastic firmware repo with the right branch and enter the directory:
git clone -b tft-gui-work https://github.com/meshtastic/firmware.git && cd firmware - initialize submodules:
git submodule update --init - create a virtual environment and activate it:
python3 -m venv venv && source venv/bin/activate - install platformio with pip:
pip install platformio - and build the firmware for the t-deck with:
pio run -e t-deck(this can take quite some while) - at last we need to build the filesystem:
pio run -e t-deck -t buildfs
Flash instructions:
After a successful build you need to get this folder from the build-environment: ‘firmware/.pio/build/t-deck’. Let’s say you’ve put it in ‘/tmp/t-deck-firmware/’ and you got a shell in the directory. We will again use a virtual environment to setup all requirements for the flashing process, so you’ll need a recent python version up and running on your system.
- create a virtual environment and activate it:
python3 -m venv venv - copy the compiled firmware binaries to your directory and rename them to avoid confusion later:
cp t-deck/firmware.bin ./firmware.update.bin && cp t-deck/firmware.factory.bin ./firmware.factory.bin - get the correct bleota binary:
wget https://github.com/meshtastic/firmware-ota/releases/download/latest/firmware-s3.bin - copy the littlefs binary from the build into your directory:
cp t-deck/littlefs.bin . - the content of your flashing directory should now look like this:
|
|
- make sure that your venv is activated:
source venv/bin/activate - install the esptool:
pip install esptool - connect the t-deck via usb with your computer and then power it on while holding down the trackball to get it in flashing mode
- check which port your device is mounted at:
ls /dev/ttyACM* - you can omit
--portto auto detect the port (not very stable) - check the connection with the esp-tool
esptool.py chip_id --port <your-port>, your output should contain (of course the MAC can be different):
|
|
- and now we can start the flashing process by erasing the flash:
esptool.py erase_flash - flash the base firmware image:
esptool.py write_flash 0x00 firmware.factory.bin - flash the bleota binary:
esptool.py write_flash 0x260000 firmware-s3.bin - then flash the littlefs binary:
esptool.py write_flash 0x300000 littlefs.bin - and finally flash the firmware update file:
esptool.py --baud 115200 write_flash 0x10000 firmware.update.bin - wait for the process to finish, reboot your device and enjoy!