AirGradient Forum

Having issues with uploading arduino sketch to Airgradient ONE

I am running into a persistent boot loop on my AirGradient ONE Indoor (v9) when trying to upload code via the Arduino IDE. While the official Web Flasher works perfectly and the device runs fine with it, any manual compilation from the IDE results in a blank screen and a serial loop showing rst:0x3 (RTC_SW_SYS_RST) every ~300ms. I have already downgraded my ESP32 Board Manager to v2.0.17, tried both QIO and DIO flash modes, and verified my board settings (ESP32C3 Dev Module with USB CDC Enabled) as instructed by the compilation guide on github arduino/docs/howto-compile.md at master · airgradienthq/arduino · GitHub. Since the hardware is clearly functional via the web flash, I figured something is wrong with the way I am attempting to update the firmware on my device. Any pointers or advice on how I can further debug here?

OS: Mac OS 15.6
Airgradient library version: 3.6.0
esp32 board version: 2.0.17
Arduino IDE version: 2.3.3

Arduino IDE config:

Sample of serial monitor logs after following compile instructions and uploading OneOpenAir.ino:

14:38:51.399 -> Saved PC:0x403cf94c

14:38:51.399 -> SPIWP:0xee

14:38:51.399 -> mode:DIO, clock div:1

14:38:51.399 -> load:0x3fcd5810,len:0x38c

14:38:51.399 -> load:0x403cc710,len:0x6a0

14:38:51.399 -> load:0x403ce710,len:0x2624

14:38:51.399 -> entry 0x403cc710

14:38:51.728 -> ESP-ROM:esp32c3-api1-20210207

14:38:51.728 -> Build:Feb 7 2021

14:38:51.728 -> rst:0x3 (RTC_SW_SYS_RST),boot:0xc (SPI_FAST_FLASH_BOOT)

14:38:51.728 -> Saved PC:0x403cf94c

14:38:51.728 -> SPIWP:0xee

14:38:51.728 -> mode:DIO, clock div:1

14:38:51.728 -> load:0x3fcd5810,len:0x38c

14:38:51.728 -> load:0x403cc710,len:0x6a0

14:38:51.728 -> load:0x403ce710,len:0x2624

14:38:51.728 -> entry 0x403cc710

14:38:52.056 -> ESP-ROM:esp32c3-api1-20210207

14:38:52.056 -> Build:Feb 7 2021

14:38:52.056 -> rst:0x3 (RTC_SW_SYS_RST),boot:0xc (SPI_FAST_FLASH_BOOT)

14:38:52.056 -> Saved PC:0x403cf94c

14:38:52.056 -> SPIWP:0xee

14:38:52.056 -> mode:DIO, clock div:1

14:38:52.056 -> load:0x3fcd5810,len:0x38c

14:38:52.056 -> load:0x403cc710,len:0x6a0

14:38:52.056 -> load:0x403ce710,len:0x2624

14:38:52.056 -> entry 0x403cc710

Hoping the issue is because of a dumb mistake I made, still relatively novice when it comes to arduino programming so any help would be appreciated!