; PlatformIO Project Configuration File ; ; Build options: build flags, source filter ; Upload options: custom upload port, speed and extra flags ; Library options: dependencies, extra library storages ; Advanced options: extra scripting ; ; ================================================ ; See docs for configuration options and examples: ; https://docs.slimevr.dev/firmware/configuring-project.html#1-configuring-platformioini ; ================================================ [platformio] build_cache_dir = cache default_envs = BOARD_WEMOSD1MINI [env] lib_deps= https://github.com/SlimeVR/CmdParser.git https://github.com/SlimeVR/base64_arduino.git https://github.com/adafruit/Adafruit-MCP23017-Arduino-Library.git https://github.com/hideakitai/PCA9547.git monitor_speed = 115200 monitor_echo = yes monitor_filters = colorize ;monitor_rts = 0 ;monitor_dtr = 0 framework = arduino extra_scripts = pre:scripts/preprocessor.py build_flags = !python scripts/get_git_commit.py ;If you want to set hardcoded WiFi SSID and password, uncomment and edit the lines below ;To uncomment, only remove ";" and leave the two spaces in front of the tags ; '" - quotes are necessary! ; -DWIFI_CREDS_SSID='"SSID"' ; -DWIFI_CREDS_PASSWD='"PASSWORD"' ;If you want to set a static IP address, uncomment and edit the lines below ; -DWIFI_USE_STATICIP ; -DWIFI_STATIC_IP=192,168,XXX,XXX ; -DWIFI_STATIC_GATEWAY=192,168,XXX,XXX ; -DWIFI_STATIC_SUBNET=255,255,255,0 ; -DSERVER_IP='"192.168.XXX.XXX"' ; -DSERVER_PORT=6969 ; Uncomment below if your board are using 40MHz crystal instead of 26MHz for ESP8266 ; -DF_CRYSTAL=40000000 ; Enable -O2 GCC optimization -O2 -std=gnu++2a build_unflags = -Os -std=gnu++11 -std=gnu++17 ; If you want to enable OTA Updates, uncomment and set OTA password here and in credentials.h ; You can set upload_port to device's ip after it's set up for the first time ; Use the same password in SlimeVR Server to let it OTA Update the device ;upload_protocol = espota ;upload_port = 192.168.1.49 ;upload_flags = ; --auth=SlimeVR-OTA ; Uncomment below if you want to build for ESP-01 ;[env:esp01_1m] ;platform = espressif8266 @ 4.2.1 ;board = esp01_1m ;board_build.arduino.ldscript = "eagle.flash.1m64.ld" [env:BOARD_WEMOSD1MINI] platform = espressif8266 @ 4.2.1 board = esp12e custom_slime_board = BOARD_WEMOSD1MINI upload_speed = 921600 [env:BOARD_NODEMCU] platform = espressif8266 @ 4.2.1 board = esp12e custom_slime_board = BOARD_NODEMCU upload_speed = 921600 [env:BOARD_TTGO_TBASE] platform = espressif8266 @ 4.2.1 board = esp12e custom_slime_board = BOARD_TTGO_TBASE upload_speed = 921600 [env:BOARD_WEMOSWROOM02] platform = espressif8266 @ 4.2.1 board = esp12e custom_slime_board = BOARD_WEMOSWROOM02 upload_speed = 921600 [env:BOARD_WROOM32] platform = espressif32 @ 6.7.0 platform_packages = framework-arduinoespressif32 @ https://github.com/espressif/arduino-esp32.git#3.0.1 framework-arduinoespressif32-libs @ https://github.com/espressif/arduino-esp32/releases/download/3.0.1/esp32-arduino-libs-3.0.1.zip board = esp32dev custom_slime_board = BOARD_WROOM32 [env:BOARD_ESP01] platform = espressif8266 @ 4.2.1 board = esp01_1m board_build.arduino.ldscript = "eagle.flash.1m64.ld" custom_slime_board = BOARD_ESP01 upload_speed = 921600 [env:BOARD_LOLIN_C3_MINI] platform = espressif32 @ 6.7.0 platform_packages = framework-arduinoespressif32 @ https://github.com/espressif/arduino-esp32.git#3.0.1 framework-arduinoespressif32-libs @ https://github.com/espressif/arduino-esp32/releases/download/3.0.1/esp32-arduino-libs-3.0.1.zip custom_slime_board = BOARD_LOLIN_C3_MINI build_flags = ${env.build_flags} -DESP32C3 board = lolin_c3_mini monitor_filters = colorize, esp32_exception_decoder ; If you want to use a ESP32C3, you can use this (experimental) ; Check your board name at https://docs.platformio.org/en/latest/platforms/espressif32.html#boards ; There are 2 main Boardtypes: ; 1. Boards that use a USB 2 Serial Chipset ( esp32-c3-devkitm-1, ttgo-t-oi-plus ) ; 2. Boards that relay on the USB interface of the ESP32C3 ( lolin_c3_mini , dfrobot_beetle_esp32c3) ; On this board there are 2 type some of them need to have set the build flag (menuconfig) ; -DARDUINO_USB_MODE=1 ; -DARDUINO_USB_CDC_ON_BOOT=1 [env:BOARD_BEETLE32C3] platform = espressif32 @ 6.7.0 platform_packages = framework-arduinoespressif32 @ https://github.com/espressif/arduino-esp32.git#3.0.1 framework-arduinoespressif32-libs @ https://github.com/espressif/arduino-esp32/releases/download/3.0.1/esp32-arduino-libs-3.0.1.zip custom_slime_board = BOARD_BEETLE32C3 build_flags = ${env.build_flags} -DESP32C3 board = dfrobot_beetle_esp32c3 monitor_filters = colorize, esp32_exception_decoder ; If you want to use a ESP32C3, you can use this (experimental) ; Check your board name at https://docs.platformio.org/en/latest/platforms/espressif32.html#boards ; There are 2 main Boardtypes: ; 1. Boards that use a USB 2 Serial Chipset ( esp32-c3-devkitm-1, ttgo-t-oi-plus ) ; 2. Boards that relay on the USB interface of the ESP32C3 ( lolin_c3_mini , dfrobot_beetle_esp32c3) ; On this board there are 2 type some of them need to have set the build flag (menuconfig) ; -DARDUINO_USB_MODE=1 ; -DARDUINO_USB_CDC_ON_BOOT=1 [env:BOARD_ESP32C3DEVKITM1] platform = espressif32 @ 6.7.0 platform_packages = framework-arduinoespressif32 @ https://github.com/espressif/arduino-esp32.git#3.0.1 framework-arduinoespressif32-libs @ https://github.com/espressif/arduino-esp32/releases/download/3.0.1/esp32-arduino-libs-3.0.1.zip custom_slime_board = BOARD_ESP32C3DEVKITM1 build_flags = ${env.build_flags} -DESP32C3 board = esp32-c3-devkitm-1 monitor_filters = colorize, esp32_exception_decoder ; If you want to use a ESP32C3, you can use this (experimental) ; Check your board name at https://docs.platformio.org/en/latest/platforms/espressif32.html#boards ; There are 2 main Boardtypes: ; 1. Boards that use a USB 2 Serial Chipset ( esp32-c3-devkitm-1, ttgo-t-oi-plus ) ; 2. Boards that relay on the USB interface of the ESP32C3 ( lolin_c3_mini , dfrobot_beetle_esp32c3) ; On this board there are 2 type some of them need to have set the build flag (menuconfig) ; -DARDUINO_USB_MODE=1 ; -DARDUINO_USB_CDC_ON_BOOT=1 [env:BOARD_ESP32C6DEVKITC1] platform = https://github.com/tasmota/platform-espressif32/releases/download/2024.06.11/platform-espressif32.zip custom_slime_board = BOARD_ESP32C6DEVKITC1 build_flags = ${env.build_flags} -DESP32C6 -DARDUINO_USB_MODE=1 -DARDUINO_USB_CDC_ON_BOOT=1 board = esp32-c6-devkitc-1 [env:BOARD_XIAO_ESP32C3] platform = espressif32 @ 6.7.0 platform_packages = framework-arduinoespressif32 @ https://github.com/espressif/arduino-esp32.git#3.0.1 framework-arduinoespressif32-libs @ https://github.com/espressif/arduino-esp32/releases/download/3.0.1/esp32-arduino-libs-3.0.1.zip custom_slime_board = BOARD_XIAO_ESP32C3 build_flags = ${env.build_flags} -DESP32C3 board = seeed_xiao_esp32c3 monitor_filters = colorize, esp32_exception_decoder [env:BOARD_ESP32S3_SUPERMINI] platform = espressif32 @ 6.7.0 platform_packages = framework-arduinoespressif32 @ https://github.com/espressif/arduino-esp32.git#3.0.1 framework-arduinoespressif32-libs @ https://github.com/espressif/arduino-esp32/releases/download/3.0.1/esp32-arduino-libs-3.0.1.zip custom_slime_board = BOARD_ESP32S3_SUPERMINI build_flags = ${env.build_flags} -DARDUINO_USB_MODE=1 -DESP32S3 board = esp32s3_supermini board_upload.use_1200bps_touch = 1 board_upload.wait_for_upload_port = 1 board_upload.require_upload_port = 1 upload_speed = 921600 [env:BOARD_SLIMEVR] platform = espressif8266 @ 4.2.1 board = esp12e custom_slime_board = BOARD_SLIMEVR build_flags = ${env.build_flags} -D VENDOR_NAME='"SlimeVR"' -D VENDOR_URL='"https://slimevr.dev"' -D PRODUCT_NAME='"SlimeVR Tracker"' -D UPDATE_ADDRESS='"SlimeVR/SlimeVR-Tracker-ESP"' -D UPDATE_NAME='"BOARD_SLIMEVR-firmware"' [env:BOARD_SLIMEVR_V1_2] platform = espressif8266 @ 4.2.1 board = esp12e custom_slime_board = BOARD_SLIMEVR_V1_2 build_flags = ${env.build_flags} -D VENDOR_NAME='"SlimeVR"' -D VENDOR_URL='"https://slimevr.dev"' -D PRODUCT_NAME='"SlimeVR Tracker v1.2"' -D UPDATE_ADDRESS='"SlimeVR/SlimeVR-Tracker-ESP"' -D UPDATE_NAME='"BOARD_SLIMEVR_V1_2-firmware"' [env:BOARD_SLIMEVR_DEV] platform = espressif8266 @ 4.2.1 board = esp12e custom_slime_board = BOARD_SLIMEVR_DEV build_flags = ${env.build_flags} -D VENDOR_NAME='"SlimeVR"' -D PRODUCT_NAME='"SlimeVR Tracker (dev)"' [env:BOARD_GLOVE_IMU_SLIMEVR_DEV] platform = espressif32 @ 6.7.0 platform_packages = framework-arduinoespressif32 @ https://github.com/espressif/arduino-esp32.git#3.0.1 framework-arduinoespressif32-libs @ https://github.com/espressif/arduino-esp32/releases/download/3.0.1/esp32-arduino-libs-3.0.1.zip build_flags = ${env.build_flags} -D BOARD=BOARD_GLOVE_IMU_SLIMEVR_DEV -DESP32C3 -D PRODUCT_NAME='"SlimeVR Glove (dev)"' board = lolin_c3_mini monitor_filters = colorize, esp32_exception_decoder