meshtastic-firmware/docs/software/build-instructions.md

1.6 KiB

Build instructions

This project uses the simple PlatformIO build system. You can use the IDE, but for brevity in these instructions I describe use of their command line tool.

  1. Purchase a suitable radio (see above)
  2. Install PlatformIO
  3. Download this git repo and cd into it
  4. Run git submodule update --init --recursive to pull in dependencies this project needs.
  5. If you are outside the USA, edit platformio.ini to set the correct frequency range for your country. The line you need to change starts with hw_version and instructions are provided above that line. Options are provided for EU433, EU835, CN, JP and US (default). Pull-requests eagerly accepted for other countries.
  6. Plug the radio into your USB port
  7. Type pio run --environment XXX -t upload (This command will fetch dependencies, build the project and install it on the board via USB). For XXX, use the board type you have (either tbeam, heltec, ttgo-lora32-v1, ttgo-lora32-v2).
  8. Platform IO also installs a very nice VisualStudio Code based IDE, see their tutorial if you'd like to use it.

Decoding stack traces

If you get a crash, you can decode the addresses from the Backtrace: line:

  1. Save the Backtrace: 0x.... line to a file, e.g., backtrace.txt.
  2. Run bin/exception_decoder.py backtrace.txt (this uses symbols from the last firmware.elf, so you must be running the same binary that's still in your .pio/build directory).