Custom Logo For Mehstastic Node

Discover how to personalize your Meshtastic node's boot screen with your logo and text! Just know, it involves tinkering with custom firmware. And, a quick heads-up: updating with the Web Flasher will reset it to the default Meshtastic logo. Ready to dive in? Let's go!

Meshtasic Devices AliExpress Official Stores
Discover reliable sources for Meshtastic-supported boards on AliExpress. From LILYGO T-Echo to WisBlock Meshtastic Starter Kit, find genuine products and save time with consolidated purchases. Dive into IoT and mesh networking with confidence!

Custom logos and text on your Meshtastic node serve multiple practical purposes:

  1. Personalization: Allows users to make their nodes uniquely their own, reflecting their style and identity.
  2. Team Identification: Ideal for teams using Meshtastic, custom logos help easily distinguish between nodes, facilitating smoother communication and coordination.
  3. Contact Information: In case a node gets misplaced or forgotten, having contact details displayed on the screen can aid in its return to the owner, enhancing the chances of retrieval and minimizing loss.

Setup the Build Environment

  1. Install PlatformIO
  2. Update the repository's submodules
cd firmware && git submodule update --init
💡
cd firmware if your terminal is not already in the firmware folder
  1. Clone the Meshtastic Firmware repository
git clone https://github.com/meshtastic/firmware.git
💡
You might need to install Git if the previous command did not work https://git-scm.com/downloads
💡
If you want to build the RP2040 targets and get a 'Filename too long' error on Windows, please refer to the Platformio documentation for this toolchain
💡
If you do this for the first time, this can take quite some while as PlatformIO will download all the necessary tooling and libraries. Also if platformio is not installed, VSCode will ask you to install it, probably requiring a restart of the program.

Customize The Logo and The Text

  1. Visit https://windows87.github.io/xbm-viewer-converter/
  2. Upload your image, ensuring it's resized to 50x50 pixels
  3. After completing the upload, you should receive a code resembling this format:
#define 2b424fc37ae9c2c6f85afbe7f407bb60_width 280
#define 2b424fc37ae9c2c6f85afbe7f407bb60_height 280
static unsigned char 2b424fc37ae9c2c6f85afbe7f407bb60_bits[] = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
  ...
  0x00, 0x00, 0x00, 0x00, };
  1. Copy the content enclosed within the curly braces.
  2. Navigate to the specified file:
firmware/src/graphics/img/icon.xbm
  1. Replace the content inside the curly braces with the copied content from the earlier webpage.
  2. Adjust the first line (width) and the second line (height) to match the width and height of your image. Ensure to replace only the values, not the entire line. You can find this information on the webpage earlier.
#define icon_width 50
#define icon_height 50

Changing Text

  1. Proceed to the specified location.
firmware/src/graphics/Screen.cpp
  1. Navigate to line 130 or use the find and replace function to locate "meshtastic.org". Change the text to your preferred choice.
const char *title = "meshtastic.org"; OLD
const char *title = "YOUR TEXT HERE"; NEW

Build & Upload The Firmware

  1. To select the device you you wish to build, open your command palette:
    • Windows: Ctrl + Shift + P
    • Mac: command + Shift + P
  2. Enter: PlatformIO: Pick Project Environment and select your target.
  3. To build the firmware, simply run PlatformIO: Build from your command palette.
  4. Finally, flash the firmware to your device by running PlatformIO: Upload

In conclusion, personalizing your Meshtastic node's boot screen with custom logos and text adds both flair and practicality to your device. Whether it's expressing your individual style, enhancing team coordination, or providing contact information for lost nodes, this customization offers numerous benefits. By following the simple steps outlined above to set up the build environment, customize the logo and text, and upload the firmware, you can tailor your Meshtastic experience to suit your needs perfectly. So, dive in, get creative, and make your Meshtastic node uniquely yours!