I'm stuck and could use a little help. I've used Arduino before for a few projects, but it's been several years and I'm rusty. I just bought an ESP32 board and am trying to upload the most basic LED blink sketch, but it fails to compile and I can't determine why.
Freenove (the board manufacturer) included some documentation, and I followed it as carefully as possible. As far as I can tell, the CH34x USB to Serial Driver installed successfully, I have all of the recommended settings defined properly in the Arduino IDE, and the right serial port chosen (/dev/cu.usbserial-110). The latter does not look like the example format shown in Freenove's setup docs (which is COM27), but it presented itself when I connected the board and granted permission for my Macbook to connect to it, so it seems kind of likely to be the one.
Some pertinent details:
- OS: macOS Tahoe 26.0.1
- Board: Freenove ESP32 WROOM
- Arduino IDE: 2.3.6
Here's my sketch:
#define PIN_LED 2
void setup() {
// put your setup code here, to run once:
pinMode(PIN_LED, OUTPUT);
}
void loop() {
// put your main code here, to run repeatedly:
digitalWrite(PIN_LED, HIGH);
delay(1000);
digitalWrite(PIN_LED, LOW);
delay(1000);
}
When I try to upload, I get the following debug output, and the process fails.
FQBN: esp32:esp32:esp32:UploadSpeed=115200
Using board 'esp32' from platform in folder: /Users/twarr/Library/Arduino15/packages/esp32/hardware/esp32/3.3.1
Using core 'esp32' from platform in folder: /Users/twarr/Library/Arduino15/packages/esp32/hardware/esp32/3.3.1
/usr/bin/env bash -c "[ ! -f \"/Users/twarr/Documents/Arduino/sketch_oct6a\"/partitions.csv ] || cp -f \"/Users/twarr/Documents/Arduino/sketch_oct6a\"/partitions.csv \"/Users/twarr/Library/Caches/arduino/sketches/F89682EF324F691ADB0DDC3AAD803EB5\"/partitions.csv"
/usr/bin/env bash -c "[ -f \"/Users/twarr/Library/Caches/arduino/sketches/F89682EF324F691ADB0DDC3AAD803EB5\"/partitions.csv ] || [ ! -f \"/Users/twarr/Library/Arduino15/packages/esp32/hardware/esp32/3.3.1/variants/esp32\"/partitions.csv ] || cp \"/Users/twarr/Library/Arduino15/packages/esp32/hardware/esp32/3.3.1/variants/esp32\"/partitions.csv \"/Users/twarr/Library/Caches/arduino/sketches/F89682EF324F691ADB0DDC3AAD803EB5\"/partitions.csv"
/usr/bin/env bash -c "[ -f \"/Users/twarr/Library/Caches/arduino/sketches/F89682EF324F691ADB0DDC3AAD803EB5\"/partitions.csv ] || cp \"/Users/twarr/Library/Arduino15/packages/esp32/hardware/esp32/3.3.1\"/tools/partitions/default.csv \"/Users/twarr/Library/Caches/arduino/sketches/F89682EF324F691ADB0DDC3AAD803EB5\"/partitions.csv"
/usr/bin/env bash -c "[ -f \"/Users/twarr/Documents/Arduino/sketch_oct6a\"/bootloader.bin ] && cp -f \"/Users/twarr/Documents/Arduino/sketch_oct6a\"/bootloader.bin \"/Users/twarr/Library/Caches/arduino/sketches/F89682EF324F691ADB0DDC3AAD803EB5\"/sketch_oct6a.ino.bootloader.bin || ( [ -f \"/Users/twarr/Library/Arduino15/packages/esp32/hardware/esp32/3.3.1/variants/esp32\"/bootloader.bin ] && cp \"/Users/twarr/Library/Arduino15/packages/esp32/hardware/esp32/3.3.1/variants/esp32\"/bootloader.bin \"/Users/twarr/Library/Caches/arduino/sketches/F89682EF324F691ADB0DDC3AAD803EB5\"/sketch_oct6a.ino.bootloader.bin || \"/Users/twarr/Library/Arduino15/packages/esp32/tools/esptool_py/5.1.0\"/esptool --chip esp32 elf2image --flash-mode dio --flash-freq 80m --flash-size 4MB -o \"/Users/twarr/Library/Caches/arduino/sketches/F89682EF324F691ADB0DDC3AAD803EB5\"/sketch_oct6a.ino.bootloader.bin \"/Users/twarr/Library/Arduino15/packages/esp32/tools/esp32-arduino-libs/idf-release_v5.5-129cd0d2-v4/esp32\"/bin/bootloader_qio_80m.elf )"
esptool v5.1.0
Creating ESP32 image...
Merged 2 ELF sections.
Successfully created ESP32 image.
/usr/bin/env bash -c "[ ! -f \"/Users/twarr/Documents/Arduino/sketch_oct6a\"/build_opt.h ] || cp -f \"/Users/twarr/Documents/Arduino/sketch_oct6a\"/build_opt.h \"/Users/twarr/Library/Caches/arduino/sketches/F89682EF324F691ADB0DDC3AAD803EB5\"/build_opt.h"
/usr/bin/env bash -c "[ -f \"/Users/twarr/Library/Caches/arduino/sketches/F89682EF324F691ADB0DDC3AAD803EB5\"/build_opt.h ] || : > \"/Users/twarr/Library/Caches/arduino/sketches/F89682EF324F691ADB0DDC3AAD803EB5\"/build_opt.h"
/usr/bin/env bash -c ": > '/Users/twarr/Library/Caches/arduino/sketches/F89682EF324F691ADB0DDC3AAD803EB5/file_opts'"
/usr/bin/env bash -c "cp -f \"/Users/twarr/Library/Arduino15/packages/esp32/tools/esp32-arduino-libs/idf-release_v5.5-129cd0d2-v4/esp32\"/sdkconfig \"/Users/twarr/Library/Caches/arduino/sketches/F89682EF324F691ADB0DDC3AAD803EB5\"/sdkconfig"
Detecting libraries used...
/Users/twarr/Library/Arduino15/packages/esp32/tools/esp-x32/2411/bin/xtensa-esp32-elf-g++ -c @/Users/twarr/Library/Arduino15/packages/esp32/tools/esp32-arduino-libs/idf-release_v5.5-129cd0d2-v4/esp32/flags/cpp_flags -w -Os -Werror=return-type -w -x c++ -E -CC -DF_CPU=240000000L -DARDUINO=10607 -DARDUINO_ESP32_DEV -DARDUINO_ARCH_ESP32 -DARDUINO_BOARD="ESP32_DEV" -DARDUINO_VARIANT="esp32" -DARDUINO_PARTITION_default -DARDUINO_HOST_OS="macosx" -DARDUINO_FQBN="esp32:esp32:esp32:UploadSpeed=115200,CPUFreq=240,FlashFreq=80,FlashMode=qio,FlashSize=4M,PartitionScheme=default,DebugLevel=none,PSRAM=disabled,LoopCore=1,EventsCore=1,EraseFlash=none,JTAGAdapter=default,ZigbeeMode=default" -DESP32=ESP32 -DCORE_DEBUG_LEVEL=0 -DARDUINO_RUNNING_CORE=1 -DARDUINO_EVENT_RUNNING_CORE=1 -DARDUINO_USB_CDC_ON_BOOT=0 @/Users/twarr/Library/Arduino15/packages/esp32/tools/esp32-arduino-libs/idf-release_v5.5-129cd0d2-v4/esp32/flags/defines -I/Users/twarr/Documents/Arduino/sketch_oct6a -iprefix /Users/twarr/Library/Arduino15/packages/esp32/tools/esp32-arduino-libs/idf-release_v5.5-129cd0d2-v4/esp32/include/ @/Users/twarr/Library/Arduino15/packages/esp32/tools/esp32-arduino-libs/idf-release_v5.5-129cd0d2-v4/esp32/flags/includes -I/Users/twarr/Library/Arduino15/packages/esp32/tools/esp32-arduino-libs/idf-release_v5.5-129cd0d2-v4/esp32/qio_qspi/include -I/Users/twarr/Library/Arduino15/packages/esp32/hardware/esp32/3.3.1/cores/esp32 -I/Users/twarr/Library/Arduino15/packages/esp32/hardware/esp32/3.3.1/variants/esp32 @/Users/twarr/Library/Caches/arduino/sketches/F89682EF324F691ADB0DDC3AAD803EB5/build_opt.h @/Users/twarr/Library/Caches/arduino/sketches/F89682EF324F691ADB0DDC3AAD803EB5/file_opts /Users/twarr/Library/Caches/arduino/sketches/F89682EF324F691ADB0DDC3AAD803EB5/sketch/sketch_oct6a.ino.cpp -o /dev/null
Generating function prototypes...
/Users/twarr/Library/Arduino15/packages/esp32/tools/esp-x32/2411/bin/xtensa-esp32-elf-g++ -c @/Users/twarr/Library/Arduino15/packages/esp32/tools/esp32-arduino-libs/idf-release_v5.5-129cd0d2-v4/esp32/flags/cpp_flags -w -Os -Werror=return-type -w -x c++ -E -CC -DF_CPU=240000000L -DARDUINO=10607 -DARDUINO_ESP32_DEV -DARDUINO_ARCH_ESP32 -DARDUINO_BOARD="ESP32_DEV" -DARDUINO_VARIANT="esp32" -DARDUINO_PARTITION_default -DARDUINO_HOST_OS="macosx" -DARDUINO_FQBN="esp32:esp32:esp32:UploadSpeed=115200,CPUFreq=240,FlashFreq=80,FlashMode=qio,FlashSize=4M,PartitionScheme=default,DebugLevel=none,PSRAM=disabled,LoopCore=1,EventsCore=1,EraseFlash=none,JTAGAdapter=default,ZigbeeMode=default" -DESP32=ESP32 -DCORE_DEBUG_LEVEL=0 -DARDUINO_RUNNING_CORE=1 -DARDUINO_EVENT_RUNNING_CORE=1 -DARDUINO_USB_CDC_ON_BOOT=0 @/Users/twarr/Library/Arduino15/packages/esp32/tools/esp32-arduino-libs/idf-release_v5.5-129cd0d2-v4/esp32/flags/defines -I/Users/twarr/Documents/Arduino/sketch_oct6a -iprefix /Users/twarr/Library/Arduino15/packages/esp32/tools/esp32-arduino-libs/idf-release_v5.5-129cd0d2-v4/esp32/include/ @/Users/twarr/Library/Arduino15/packages/esp32/tools/esp32-arduino-libs/idf-release_v5.5-129cd0d2-v4/esp32/flags/includes -I/Users/twarr/Library/Arduino15/packages/esp32/tools/esp32-arduino-libs/idf-release_v5.5-129cd0d2-v4/esp32/qio_qspi/include -I/Users/twarr/Library/Arduino15/packages/esp32/hardware/esp32/3.3.1/cores/esp32 -I/Users/twarr/Library/Arduino15/packages/esp32/hardware/esp32/3.3.1/variants/esp32 @/Users/twarr/Library/Caches/arduino/sketches/F89682EF324F691ADB0DDC3AAD803EB5/build_opt.h @/Users/twarr/Library/Caches/arduino/sketches/F89682EF324F691ADB0DDC3AAD803EB5/file_opts /Users/twarr/Library/Caches/arduino/sketches/F89682EF324F691ADB0DDC3AAD803EB5/sketch/sketch_oct6a.ino.cpp -o /private/var/folders/lm/pjzkvbgd15b50dn94wrjc5l00000gn/T/1003691323/sketch_merged.cpp
/Users/twarr/Library/Arduino15/packages/builtin/tools/ctags/5.8-arduino11/ctags -u --language-force=c++ -f - --c++-kinds=svpf --fields=KSTtzns --line-directives /private/var/folders/lm/pjzkvbgd15b50dn94wrjc5l00000gn/T/1003691323/sketch_merged.cpp
Compiling sketch...
/Users/twarr/Library/Arduino15/packages/esp32/tools/esp-x32/2411/bin/xtensa-esp32-elf-g++ -MMD -c @/Users/twarr/Library/Arduino15/packages/esp32/tools/esp32-arduino-libs/idf-release_v5.5-129cd0d2-v4/esp32/flags/cpp_flags -w -Os -Werror=return-type -DF_CPU=240000000L -DARDUINO=10607 -DARDUINO_ESP32_DEV -DARDUINO_ARCH_ESP32 "-DARDUINO_BOARD=\"ESP32_DEV\"" "-DARDUINO_VARIANT=\"esp32\"" -DARDUINO_PARTITION_default "-DARDUINO_HOST_OS=\"macosx\"" "-DARDUINO_FQBN=\"esp32:esp32:esp32:UploadSpeed=115200,CPUFreq=240,FlashFreq=80,FlashMode=qio,FlashSize=4M,PartitionScheme=default,DebugLevel=none,PSRAM=disabled,LoopCore=1,EventsCore=1,EraseFlash=none,JTAGAdapter=default,ZigbeeMode=default\"" -DESP32=ESP32 -DCORE_DEBUG_LEVEL=0 -DARDUINO_RUNNING_CORE=1 -DARDUINO_EVENT_RUNNING_CORE=1 -DARDUINO_USB_CDC_ON_BOOT=0 @/Users/twarr/Library/Arduino15/packages/esp32/tools/esp32-arduino-libs/idf-release_v5.5-129cd0d2-v4/esp32/flags/defines -I/Users/twarr/Documents/Arduino/sketch_oct6a -iprefix /Users/twarr/Library/Arduino15/packages/esp32/tools/esp32-arduino-libs/idf-release_v5.5-129cd0d2-v4/esp32/include/ @/Users/twarr/Library/Arduino15/packages/esp32/tools/esp32-arduino-libs/idf-release_v5.5-129cd0d2-v4/esp32/flags/includes -I/Users/twarr/Library/Arduino15/packages/esp32/tools/esp32-arduino-libs/idf-release_v5.5-129cd0d2-v4/esp32/qio_qspi/include -I/Users/twarr/Library/Arduino15/packages/esp32/hardware/esp32/3.3.1/cores/esp32 -I/Users/twarr/Library/Arduino15/packages/esp32/hardware/esp32/3.3.1/variants/esp32 @/Users/twarr/Library/Caches/arduino/sketches/F89682EF324F691ADB0DDC3AAD803EB5/build_opt.h @/Users/twarr/Library/Caches/arduino/sketches/F89682EF324F691ADB0DDC3AAD803EB5/file_opts /Users/twarr/Library/Caches/arduino/sketches/F89682EF324F691ADB0DDC3AAD803EB5/sketch/sketch_oct6a.ino.cpp -o /Users/twarr/Library/Caches/arduino/sketches/F89682EF324F691ADB0DDC3AAD803EB5/sketch/sketch_oct6a.ino.cpp.o
Compiling libraries...
Compiling core...
/usr/bin/env bash -c "echo -DARDUINO_CORE_BUILD > '/Users/twarr/Library/Caches/arduino/sketches/F89682EF324F691ADB0DDC3AAD803EB5/file_opts'"
Using precompiled core: /Users/twarr/Library/Caches/arduino/cores/930b43e0e5ffb9e8235c9dbff3b71fc4/core.a
/usr/bin/env bash -c ": > '/Users/twarr/Library/Caches/arduino/sketches/F89682EF324F691ADB0DDC3AAD803EB5/file_opts'"
Linking everything together...
/Users/twarr/Library/Arduino15/packages/esp32/tools/esp-x32/2411/bin/xtensa-esp32-elf-g++ -Wl,--Map=/Users/twarr/Library/Caches/arduino/sketches/F89682EF324F691ADB0DDC3AAD803EB5/sketch_oct6a.ino.map -L/Users/twarr/Library/Arduino15/packages/esp32/tools/esp32-arduino-libs/idf-release_v5.5-129cd0d2-v4/esp32/lib -L/Users/twarr/Library/Arduino15/packages/esp32/tools/esp32-arduino-libs/idf-release_v5.5-129cd0d2-v4/esp32/ld -L/Users/twarr/Library/Arduino15/packages/esp32/tools/esp32-arduino-libs/idf-release_v5.5-129cd0d2-v4/esp32/qio_qspi -Wl,--wrap=esp_panic_handler @/Users/twarr/Library/Arduino15/packages/esp32/tools/esp32-arduino-libs/idf-release_v5.5-129cd0d2-v4/esp32/flags/ld_flags @/Users/twarr/Library/Arduino15/packages/esp32/tools/esp32-arduino-libs/idf-release_v5.5-129cd0d2-v4/esp32/flags/ld_scripts -Wl,--start-group /Users/twarr/Library/Caches/arduino/sketches/F89682EF324F691ADB0DDC3AAD803EB5/sketch/sketch_oct6a.ino.cpp.o /Users/twarr/Library/Caches/arduino/cores/930b43e0e5ffb9e8235c9dbff3b71fc4/core.a @/Users/twarr/Library/Arduino15/packages/esp32/tools/esp32-arduino-libs/idf-release_v5.5-129cd0d2-v4/esp32/flags/ld_libs -Wl,--end-group -Wl,-EL -o /Users/twarr/Library/Caches/arduino/sketches/F89682EF324F691ADB0DDC3AAD803EB5/sketch_oct6a.ino.elf
/Users/twarr/Library/Arduino15/packages/esp32/tools/esptool_py/5.1.0/esptool --chip esp32 elf2image --flash-mode dio --flash-freq 80m --flash-size 4MB --elf-sha256-offset 0xb0 -o /Users/twarr/Library/Caches/arduino/sketches/F89682EF324F691ADB0DDC3AAD803EB5/sketch_oct6a.ino.bin /Users/twarr/Library/Caches/arduino/sketches/F89682EF324F691ADB0DDC3AAD803EB5/sketch_oct6a.ino.elf
esptool v5.1.0
Creating ESP32 image...
Merged 2 ELF sections.
Successfully created ESP32 image.
python3 /Users/twarr/Library/Arduino15/packages/esp32/hardware/esp32/3.3.1/tools/gen_esp32part.py -q /Users/twarr/Library/Caches/arduino/sketches/F89682EF324F691ADB0DDC3AAD803EB5/partitions.csv /Users/twarr/Library/Caches/arduino/sketches/F89682EF324F691ADB0DDC3AAD803EB5/sketch_oct6a.ino.partitions.bin
signal: killed
Compilation error: signal: killed
I can't tell if it doesn't like that last python3 command, or if that's a red herring and something else happened or is not configured properly.
Please let me know if you have any suggestions for what to try next, anything I might have missed, or if I need to include any additional information to help troubleshoot. Thanks so much!

