New user build problem

I’m trying to move from the Arduino IDE to PlatformIO. I’m running into a build problem and would much appreciate help resolving it. I’ve include my project source code, a copy of my .ini file and the debug log below.

#include <Arduino.h>

void setup() {
  // initialize digital pin LED_BUILTIN as an output.
  pinMode(LED_BUILTIN, OUTPUT);
}

void loop() {
  digitalWrite(LED_BUILTIN, HIGH);  // Turn LED on
  delay(1000);
  digitalWrite(LED_BUILTIN, LOW);   // Turn LED off
  delay(1000);
}
; 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
;
; Please visit documentation for the other options and examples
; https://docs.platformio.org/page/projectconf.html

[env:seeed_xiao_esp32_c6]
platform = https://github.com/Seeed-Studio/platform-seeedboards.git
board = seeed-xiao-esp32-c6
framework = arduino
Executing task in folder blinkXiaoEsp32C6: platformio run 

Processing seeed_xiao_esp32_c6 (platform: https://github.com/Seeed-Studio/platform-seeedboards.git; board: seeed-xiao-esp32-c6; framework: arduino)
---------------------------------------------------------------------------------------------------------
esp configure_default_packages
True
True
True
pop toolchain-xtensa-esp-elf
esp configure_default_packages
True
True
True
pop toolchain-xtensa-esp-elf
Verbose mode can be enabled via `-v, --verbose` option
esp configure_default_packages
True
True
True
pop toolchain-xtensa-esp-elf
board id is seeed-xiao-esp32,will call board_build/esp/esp_build.py
franwork_dir =  /home/jcl/.platformio/packages/framework-arduinoespressif32@src-e0f89a6286f1dc9d7e5bc14cb3c0a9e3
CONFIGURATION: https://docs.platformio.org/page/boards/Seeed Studio/seeed-xiao-esp32-c6.html
PLATFORM: Seeed Studio Xiao Series (1.0.0+sha.c3f8d8e) > Seeed Studio XIAO ESP32C6
HARDWARE: ESP32C6 160MHz, 512KB RAM, 4MB Flash
DEBUG: Current (cmsis-dap) External (cmsis-dap, esp-bridge, esp-builtin, esp-prog, iot-bus-jtag, jlink, minimodule, olimex-arm-usb-ocd, olimex-arm-usb-ocd-h, olimex-arm-usb-tiny-h, olimex-jtag-tiny, tumpa)
PACKAGES: 
 - esp32-arduino-libs @ 5.1.0+sha.d38afc77db 
 - framework-arduinoespressif32 @ 3.1.1+sha.108a0792 
 - tool-esptoolpy @ 5.1.0 
 - tool-riscv32-esp-elf-gdb @ 14.2.0+20240403 
 - tool-sreccat @ 1.164.0 (1.64) 
 - tool-xtensa-esp-elf-gdb @ 14.2.0+20240403 
 - toolchain-riscv32-esp @ 13.2.0+20240530
board id is seeed-xiao-esp32-c6, will call board_build/esp/esp_build.py
in _embed_files py
LDF: Library Dependency Finder -> https://bit.ly/configure-pio-ldf
LDF Modes: Finder ~ chain, Compatibility ~ soft
Found 25 compatible libraries
Scanning dependencies...
No dependencies
Building in release mode
in sizedata.py
Building .pio/build/seeed_xiao_esp32_c6/bootloader.bin
Traceback (most recent call last):
  File "/home/jcl/.platformio/packages/tool-esptoolpy@src-c789e87e8acca61ff196b2d4ea81dd1a/esptool.py", line 34, in <module>
    import esptool
  File "/home/jcl/.platformio/packages/tool-esptoolpy@src-c789e87e8acca61ff196b2d4ea81dd1a/esptool/__init__.py", line 41, in <module>
    import rich_click as click
ModuleNotFoundError: No module named 'rich_click'
Compiling .pio/build/seeed_xiao_esp32_c6/FrameworkArduino/FunctionalInterrupt.cpp.o
*** [.pio/build/seeed_xiao_esp32_c6/bootloader.bin] Error 1
====================================== [FAILED] Took 1.19 seconds ====================================
pip show rich_click
Name: rich-click
Version: 1.9.4
Summary: Format click help output nicely with rich
Home-page: https://github.com/ewels/rich-click
Author: 
Author-email: Phil Ewels <phil@ewels.co.uk>
License: MIT License

Copyright (c) 2022 Phil Ewels

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

Location: /home/jcl/.local/lib/python3.13/site-packages
Requires: click, rich
Required-by: esptool

Thank you!

Use pioarduino espressif32 platform:

platform = https://github.com/pioarduino/platform-espressif32/releases/download/stable/platform-espressif32.zip

Thank you, Sivar. I’m now able to build my simple blink application on my XIAO-ESP32C6 processor.

They key to getting my simple app to build was to install the “pioarduino IDE” extension in VSCode. I was able to use the platformio.ini file supplied by Seeed Studio as follows:

[env:seeed_xiao_esp32_c6]
platform = https://github.com/Seeed-Studio/platform-seeedboards.git
board = seeed-xiao-esp32-c6
framework = arduino

Thanks again for your help! - Jim

:face_with_peeking_eye:

You better stick with the Pioarduino platform setting.
This will give you the latest OFFICIAL Espressif32 Arduino framework.
Furthermore, the Pioarduino platform is very well maintained.

pioarduino-espressif32 can be used with both IDEs: Pioarduino IDE or PlatformIO IDE extension.

Okay, I will do so. Thanks again. One additional question I have is as follows: Should each application have its own workspace?

When I use the Pioarduino platform link you provided, I get the following error:

Processing seeed_xiao_esp32_c6 (platform: https://github.com/pioarduino/platform-espressif32/releases/download/stable/platform-espressif32.zip; board: seeed-xiao-esp32-c6; framework: arduino)
----------------------------------------------------------------------------------------------------------------
UnknownBoard: Unknown board ID 'seeed-xiao-esp32-c6'

You have to use seeed_xiao_esp32c6
See

1 Like