Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add board ESP32-S3 PowerFeather #1344

Merged
merged 2 commits into from
Apr 29, 2024

Conversation

powerfeatherdev
Copy link
Contributor

@powerfeatherdev powerfeatherdev commented Apr 1, 2024

Adds support for ESP32-S3 PowerFeather (https://powerfeather.dev/). Board uses an 8MB flash, 2MB PSRAM ESP32-S3 module.

Board is supported since Arduino ESP32 2.0.15 release, see merged PRs espressif/arduino-esp32#9325 and espressif/arduino-esp32#9398. Support PR's for the 3.x series has also been merged in espressif/arduino-esp32#8889, espressif/arduino-esp32#9052 and espressif/arduino-esp32#9431 and should be in the next release.

Arduino variant is esp32s3_powerfeather with board name ESP32S3_POWERFEATHER (see https://github.com/espressif/arduino-esp32/blob/master/boards.txt#L35200-L35201)

ESP-IDF is also supported, but pin definitions are in the accompaniment library, powerfeather-sdk.

@powerfeatherdev
Copy link
Contributor Author

Hi @Jason2866 thank you for the input, as I am unfamiliar with adding new board support for PlatformIO. Is there a guide somewhere (also for adding support for a library: https://github.com/PowerFeather/powerfeather-sdk)?

@Jason2866
Copy link
Contributor

@powerfeatherdev Just add a library.json and/or library.properties in the repo and it can be used as lib with Platformio.

@powerfeatherdev
Copy link
Contributor Author

@Jason2866 For the library.properties, is it the same one as the Arduino library specification?

If so, my library already has one when I added Arduino support - but in that case I had to submit it to the Arduino library registry repo. Does that mean all arduino libraries are discoverable by PlatformIO automatically?

@Jason2866
Copy link
Contributor

No, it is not accessing Arduino registry. But Platformio can use a github repo as lib source.
Uploading to Platformio registry is not needed to have access to the library.
It can be uploaded to load the lib from the Platformio registry. In this case a library.json has to be added to the package. https://docs.platformio.org/en/latest/core/userguide/pkg/cmd_pack.html

@powerfeatherdev powerfeatherdev changed the title Add support for ESP32-S3 PowerFeather Add board ESP32-S3 PowerFeather Apr 13, 2024
@powerfeatherdev powerfeatherdev marked this pull request as ready for review April 13, 2024 02:33
@powerfeatherdev
Copy link
Contributor Author

@Jason2866 I think I will submit the library to the PlatformIO registry - just makes it easier for the board's users.

Anyways, I resolved your initial comment and also filled in the PR description. PTAL. Thanks for answering my questions!

@powerfeatherdev
Copy link
Contributor Author

powerfeatherdev commented Apr 13, 2024

Oh, and one more question @Jason2866, is there a way to specify a board support dependence on a library? I know for libraries you can do that through the library.json file, but for a board support json like this one, is there such a thing?

@Jason2866
Copy link
Contributor

@powerfeatherdev Not tried, nor does iknow if something like this exists. If you add an entry after URL / Vendor? I added entrys in local boards.json for my use cases and it does not conflict.

@powerfeatherdev
Copy link
Contributor Author

powerfeatherdev commented Apr 13, 2024

Hi @Jason2866, that's fine if there's not. Just wondering if there was something like that.

@powerfeatherdev
Copy link
Contributor Author

@valeros PTAL as well.

@powerfeatherdev
Copy link
Contributor Author

@valeros, I assume this is waiting until https://registry.platformio.org/tools/platformio/framework-arduinoespressif32 gets updated to 2.0.15+?

@valeros
Copy link
Member

valeros commented Apr 22, 2024

@powerfeatherdev That's right.

@powerfeatherdev
Copy link
Contributor Author

Hi @valeros, I see. Is there a timeline for updating it to 2.0.15+?

@valeros
Copy link
Member

valeros commented Apr 22, 2024

Hi @valeros, I see. Is there a timeline for updating it to 2.0.15+?

This or next week should be available in the dev branch.

@valeros
Copy link
Member

valeros commented Apr 26, 2024

Hi @powerfeatherdev

I noticed that you enabled the use_1200bps_touch option in the board manifest, while in the boards.txt it's not set. Does this board need that touch procedure?

There is also a discrepancy in PSRAM settings, by default it's disabled in the original Arduino config, but in this PR you added the BOARD_HAS_PSRAM macro.

Which settings are correct?

@powerfeatherdev
Copy link
Contributor Author

powerfeatherdev commented Apr 26, 2024

Hi @valeros, I copied the settings from Adafruit ESP32S3 Feather without double checking. Will fix this.

Update: Removed, PTAL.

@Jason2866
Copy link
Contributor

Just my 2 cents. Before it was correct. Board has PSRAM. Arduino setup is wrong.

@powerfeatherdev
Copy link
Contributor Author

It seems the definition BOARD_HAS_PSRAM is assosciated with QSPI or OPI PSRAM being selected. Even though board has PSRAM, as I prefer to build without this by default - I'll leave it removed for now. @valeros @Jason2866

@valeros valeros merged commit 738e713 into platformio:develop Apr 29, 2024
@valeros
Copy link
Member

valeros commented Apr 29, 2024

Thanks for the PR, merged.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants