ESP32-S3-ZERO mini dev kit

Hello,

I have a mini WiFI board of ESP32-S3-ZERO with S3FH4R2 CPU. Now I will do experiment to run communication btween WiFi board to my laptop by WiFi. which board type may I select from platformio board type? and how do I run demo codes on the board?

Regards

NiuJun

You can use esp32-s3-devkitc-1 with these settings in the platformio.ini:

[env:esp32-s3-devkitc-1]
platform = espressif32
board = esp32-s3-devkitc-1
framework = arduino

board_build.arduino.memory_type = qio_qspi
board_build.flash_mode = qio
board_build.psram_type = qio
board_upload.flash_size = 4MB
board_upload.maximum_size = 4194304
board_build.partitions = default.csv
board_build.extra_flags = 
  -DBOARD_HAS_PSRAM
  -DARDUINIO_USB_CDC_ON_BOOT=1

See GitHub - sivar2311/ESP32-PlatformIO-Flash-and-PSRAM-configurations: ESP32-S3 PlatformIO Flash and PSRAM configurations

Hello,

Where is the platformio.ini file ?

My C:\Users\Name\.platformio dont contain board directory.

Thanks

This is in your project folder. It is per project. So each project has its own platformio.ini (project configuration)

ok but I can’t choose the good board to create the project.

I choose a fake one and I change the file after ?

You have two options:

  1. Stay with PlatformIO’s outdated Espressif platform (Espressif Arduino 2.0.17) and use the platformio.ini from above:
[env:esp32-s3-devkitc-1]
platform = espressif32 @ 6.12.0
board = esp32-s3-devkitc-1
framework = arduino

board_build.arduino.memory_type = qio_qspi
board_build.flash_mode = qio
board_build.psram_type = qio
board_upload.flash_size = 4MB
board_upload.maximum_size = 4194304
board_build.partitions = default.csv
board_build.extra_flags = 
  -DBOARD_HAS_PSRAM
  -DARDUINIO_USB_CDC_ON_BOOT=1
  1. Use the up to date pioarduio espressif32 platform and the waveshare_esp32_s3_zero board and also get the latest Espressif Arduino 3.3.5 Framework:
[env:waveshare_esp32_s3_zero]
platform = https://github.com/pioarduino/platform-espressif32/releases/download/55.03.35/platform-espressif32.zip
board = waveshare_esp32_s3_zero
framework = arduino

The “boards” folder is located at “C:\Users\name\.platformio\platforms\espressif32\boards

Ok thanks,

I’ve created a project with esp32-s3-devkitc-1 and modify the .ini with the arduino framework.

I try to run the empty project after an platformio update I’ve many errors.

Processing waveshare_esp32_s3_zero (platform: platform = https://github.com/pioarduino/platform-espressif32/releases/download/55.03.35/platform-espressif32.zip; board: waveshare_esp32_s3_zero; framework: arduino)
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
AttributeError: Traceback (most recent call last):
  File "C:\Users\Name\.platformio\penv\Lib\site-packages\platformio\__main__.py", line 103, in main
    cli()  # pylint: disable=no-value-for-parameter
    ^^^^^
  File "C:\Users\Name\.platformio\penv\Lib\site-packages\click\core.py", line 1157, in __call__
    return self.main(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\Name\.platformio\penv\Lib\site-packages\click\core.py", line 1078, in main
    rv = self.invoke(ctx)
         ^^^^^^^^^^^^^^^^
  File "C:\Users\Name\.platformio\penv\Lib\site-packages\platformio\cli.py", line 85, in invoke
    return super().invoke(ctx)
           ^^^^^^^^^^^^^^^^^^^
  File "C:\Users\Name\.platformio\penv\Lib\site-packages\click\core.py", line 1688, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\Name\.platformio\penv\Lib\site-packages\click\core.py", line 1434, in invoke
    return ctx.invoke(self.callback, **ctx.params)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\Name\.platformio\penv\Lib\site-packages\click\core.py", line 783, in invoke
    return __callback(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\Name\.platformio\penv\Lib\site-packages\click\decorators.py", line 33, in new_func
    return f(get_current_context(), *args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\Name\.platformio\penv\Lib\site-packages\platformio\debug\cli.py", line 88, in cli
    return helpers.predebug_project(
           ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\Name\.platformio\penv\Lib\site-packages\platformio\debug\helpers.py", line 102, in predebug_project
    ctx.invoke(
  File "C:\Users\Name\.platformio\penv\Lib\site-packages\click\core.py", line 783, in invoke
    return __callback(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\Name\.platformio\penv\Lib\site-packages\click\decorators.py", line 33, in new_func
    return f(get_current_context(), *args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\Name\.platformio\penv\Lib\site-packages\platformio\run\cli.py", line 147, in cli
    process_env(
  File "C:\Users\Name\.platformio\penv\Lib\site-packages\platformio\run\cli.py", line 210, in process_env
    ).process()
      ^^^^^^^^^
  File "C:\Users\Name\.platformio\penv\Lib\site-packages\platformio\run\processor.py", line 81, in process
    install_project_env_dependencies(
  File "C:\Users\Name\.platformio\penv\Lib\site-packages\platformio\package\commands\install.py", line 132, in install_project_env_dependencies
    _install_project_env_platform(project_env, options),
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\Name\.platformio\penv\Lib\site-packages\platformio\package\commands\install.py", line 149, in _install_project_env_platform
    PlatformPackageManager().install(
  File "C:\Users\Name\.platformio\penv\Lib\site-packages\platformio\package\manager\platform.py", line 52, in install
    p = PlatformFactory.new(pkg)
        ^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\Name\.platformio\penv\Lib\site-packages\platformio\platform\factory.py", line 79, in new
    platform_cls = getattr(
                   ^^^^^^^^
AttributeError: module 'platformio.platform.platform' has no attribute 'PlatformPlatform'

============================================================

An unexpected error occurred. Further steps:

* Verify that you have the latest version of PlatformIO using
  `python -m pip install -U platformio` command

* Try to find answer in FAQ Troubleshooting section
  https://docs.platformio.org/page/faq/index.html

* Report this problem to the developers
  https://github.com/platformio/platformio-core/issues

============================================================

Ok I’ve found it

I can also create the json to create the board ? or it is better solution to use the platform.ini modification?

If I create my own board , is it a better solution to create my own json, even if it is the same as another board.

Thanks

You can do either one or the other. Keep in mind: If you create your own board manifest, only you will have it. So it can be a pitfall if you share the project to others.

Alternatively you can use the more up-to-date pioarduino Espressif32 platform and use the waveshare-esp32-s3-zero provided there (see my previous post).