; PlatformIO Project Configuration File for SkyLogic AeroAlign Slave Node ; ; Slave node: ; - ESP-NOW transmitter (sends IMU data to Master every 100ms) ; - MPU6050/BNO055 IMU driver ; - Battery monitoring (ADC) ; - Low power consumption (no WiFi AP, only ESP-NOW) ; ; Board: ESP32-C3 (RISC-V, 160MHz, 4MB flash, WiFi) ; Alternative: ESP32-S3 (dual-core, 240MHz, 8MB flash) [env:esp32-c3] platform = espressif32 board = esp32-c3-devkitm-1 framework = arduino ; Serial monitor settings monitor_speed = 115200 monitor_filters = esp32_exception_decoder ; Build flags build_flags = -D ARDUINO_USB_CDC_ON_BOOT=1 ; Enable USB serial -D CORE_DEBUG_LEVEL=3 ; Info-level logging -D NODE_ID=0x02 ; Default Slave node ID (change for multi-slave) ; Library dependencies lib_deps = Wire ; I2C for IMU adafruit/Adafruit MPU6050@^2.2.4 ; MPU6050 IMU driver adafruit/Adafruit BNO055@^1.6.0 ; BNO055 IMU driver (optional) ; Partition scheme (minimal, no web server) board_build.partitions = min_spiffs.csv ; Flash settings board_build.flash_mode = dio board_build.f_flash = 80000000L board_build.f_cpu = 160000000L ; Upload settings upload_speed = 921600 [env:esp32-s3] platform = espressif32 board = esp32-s3-devkitc-1 framework = arduino ; Serial monitor settings monitor_speed = 115200 monitor_filters = esp32_exception_decoder ; Build flags build_flags = -D ARDUINO_USB_CDC_ON_BOOT=1 -D CORE_DEBUG_LEVEL=3 -D NODE_ID=0x02 ; Library dependencies (same as C3) lib_deps = Wire adafruit/Adafruit MPU6050@^2.2.4 adafruit/Adafruit BNO055@^1.6.0 ; Partition scheme board_build.partitions = min_spiffs.csv ; Flash settings (8MB) board_build.flash_mode = qio board_build.f_flash = 80000000L board_build.f_cpu = 240000000L ; Upload settings upload_speed = 921600 ; Multi-slave build environments (for 8-sensor expansion) [env:slave1] extends = env:esp32-c3 build_flags = ${env:esp32-c3.build_flags} -D NODE_ID=0x02 [env:slave2] extends = env:esp32-c3 build_flags = ${env:esp32-c3.build_flags} -D NODE_ID=0x03 [env:slave3] extends = env:esp32-c3 build_flags = ${env:esp32-c3.build_flags} -D NODE_ID=0x04 [env:slave4] extends = env:esp32-c3 build_flags = ${env:esp32-c3.build_flags} -D NODE_ID=0x05 [env:slave5] extends = env:esp32-c3 build_flags = ${env:esp32-c3.build_flags} -D NODE_ID=0x06 [env:slave6] extends = env:esp32-c3 build_flags = ${env:esp32-c3.build_flags} -D NODE_ID=0x07 [env:slave7] extends = env:esp32-c3 build_flags = ${env:esp32-c3.build_flags} -D NODE_ID=0x08 [env:slave8] extends = env:esp32-c3 build_flags = ${env:esp32-c3.build_flags} -D NODE_ID=0x09