No description
Find a file
Lucas Saavedra Vaz a4c33e3897
feat(esp32p4): Add initial ESP32-P4 support (#10358)
* feat(esp32p4): Initial changes required for ESP32-P4

* esp32-p4: Initial changes to build with Arduino

Signed-off-by: Lucas Saavedra Vaz <32426024+lucasssvaz@users.noreply.github.com>

* fix(esp32p4): Fix lib builder errors

* change(esp32p4): Unhide board

* ci(esp32p4): Add ESP32-P4 to workflow

* change(esptool): Update esptool to 4.8.0

* fix(build): Fix redefinition errors

* fix(build): Remove old commands

* change(esptool): Remove unsupported 32-bit tools

* fix(get.py): Force exe generation

* Revert "fix(get.py): Force exe generation"

This reverts commit 979b16b3b19d02917ddccf0139c6913cca618714.

* fix(get.py): Fix system check

* change(tools): Push generated binaries to PR

* ci(esp32p4): Add missing ESP32-P4 entries

* fix(esp32p4): Add chip info

* fix(esp32p4): Fix build commands

* docs(esp32p4): Add missing references to P4

* fix(esp32p4): Fix clock sources definitions

* fix(esp32p4): Set CPU frequency to 360 MHz so it is stable in all chips

* refactor(esp32p4): Change preprocessor conditionals for maintainability

Co-authored-by: me-no-dev <hristo@espressif.com>

* fix(esp32p4): Add missing menu options

* fix(esp32p4): Mark as not in development json in readme

* fix(esp32p4): Add P4 to ci.json files

* ci(pre-commit): Apply automatic fixes

* fix(get.py): Remove unused include

* ci(pre-commit): Apply automatic fixes

* change(tools): Push generated binaries to PR

* ci(pre-commit): Apply automatic fixes

* fix(ci.json): Fix formatting

---------

Signed-off-by: Lucas Saavedra Vaz <32426024+lucasssvaz@users.noreply.github.com>
Co-authored-by: Jason2866 <24528715+Jason2866@users.noreply.github.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: me-no-dev <hristo@espressif.com>
Co-authored-by: pre-commit-ci-lite[bot] <117423508+pre-commit-ci-lite[bot]@users.noreply.github.com>
2024-09-24 21:18:28 +03:00
.github feat(esp32p4): Add initial ESP32-P4 support (#10358) 2024-09-24 21:18:28 +03:00
cores/esp32 feat(esp32p4): Add initial ESP32-P4 support (#10358) 2024-09-24 21:18:28 +03:00
docs feat(esp32p4): Add initial ESP32-P4 support (#10358) 2024-09-24 21:18:28 +03:00
idf_component_examples ESP Matter + Arduino as IDF Component Light example (#10290) 2024-09-18 14:51:46 +03:00
libraries feat(esp32p4): Add initial ESP32-P4 support (#10358) 2024-09-24 21:18:28 +03:00
package feat(esp32p4): Add initial ESP32-P4 support (#10358) 2024-09-24 21:18:28 +03:00
tests Merge branch 'master' into release/v3.1.x 2024-09-11 15:18:38 +03:00
tools feat(esp32p4): Add initial ESP32-P4 support (#10358) 2024-09-24 21:18:28 +03:00
variants Merge branch 'master' into release/v3.1.x 2024-09-18 15:06:31 +03:00
.clang-format refactor(style): Change some style options (#9526) 2024-04-19 18:16:55 +03:00
.codespellrc fix(spelling): Fix misspellings detected by codespell and enable it (#10232) 2024-08-28 15:43:02 +03:00
.editorconfig Style Checker and Pre-commit hook CI (#9132) 2024-04-15 18:41:51 +03:00
.flake8 ci(performance): Add performance tests to CI (#9560) 2024-05-07 13:16:13 +02:00
.gitignore fix(build): IDF release/v5.3 466a392a and initial changes 2024-08-19 23:28:11 +03:00
.gitmodules v2.0.0 Add support for ESP32S2 and update ESP-IDF to 4.4 (#4996) 2021-04-05 14:23:58 +03:00
.pre-commit-config.yaml feat(pre-commit): Add JSON formatter to pre-commit hooks (#10324) 2024-09-11 15:18:03 +03:00
.prettierignore Style Checker and Pre-commit hook CI (#9132) 2024-04-15 18:41:51 +03:00
.readthedocs.yaml Removed YML wron file and changed the YAML (#8785) 2023-10-20 16:35:06 +03:00
.vale.ini docs(vale): Enable vale and fix errors (#10231) 2024-08-28 15:48:18 +03:00
boards.txt feat(esp32p4): Add initial ESP32-P4 support (#10358) 2024-09-24 21:18:28 +03:00
CMakeLists.txt Merge branch 'master' into release/v3.1.x 2024-08-28 23:15:40 +03:00
CODE_OF_CONDUCT.md fix(spelling): Fix misspellings detected by codespell and enable it (#10232) 2024-08-28 15:43:02 +03:00
idf_component.yml feat(esp32p4): Add initial ESP32-P4 support (#10358) 2024-09-24 21:18:28 +03:00
Kconfig.projbuild feat(net): Switch to typedefs for WiFiClient, WiFiServer, WiFiUdp and WiFiClientSecure (#9909) 2024-06-24 10:26:22 +03:00
LICENSE.md Refactor repository with pre-commit hooks (#9515) 2024-04-15 19:40:56 +03:00
package.json Update core version to 3.0.5 2024-09-18 14:54:00 +03:00
platform.txt feat(esp32p4): Add initial ESP32-P4 support (#10358) 2024-09-24 21:18:28 +03:00
programmers.txt Add support for ArduinoIDE 2.0.0 (#6506) 2022-04-04 17:19:23 +03:00
README.md feat(esp32p4): Add initial ESP32-P4 support (#10358) 2024-09-24 21:18:28 +03:00

Arduino core for the ESP32, ESP32-S2, ESP32-S3, ESP32-C3, ESP32-C6 and ESP32-H2

Build Status External Libraries Test Hardware Tests

Need help or have a question? Join the chat at Gitter or open a new Discussion

Contents

Development Status

Latest Stable Release Release Version Release Date Downloads

Latest Development Release Release Version Release Date Downloads

Development Planning

Our Development is fully tracked on this public Roadmap 🎉

For even more information you can join our Monthly Community Meetings 🔔.

Documentation

You can use the Arduino-ESP32 Online Documentation to get all information about this project.


Migration guide from version 2.x to 3.x is available here.


APIs compatibility with ESP8266 and Arduino-CORE (Arduino.cc) is explained here.


Supported Chips

Here are the ESP32 series supported by the Arduino-ESP32 project:

SoC Stable Development Datasheet
ESP32 Yes Yes ESP32
ESP32-S2 Yes Yes ESP32-S2
ESP32-C3 Yes Yes ESP32-C3
ESP32-S3 Yes Yes ESP32-S3
ESP32-C6 Yes Yes ESP32-C6
ESP32-H2 Yes Yes ESP32-H2
ESP32-P4 No No ESP32-P4

Note

ESP32-C2 is also supported by Arduino-ESP32 but requires rebuilding the static libraries. This is not trivial and requires a good understanding of the ESP-IDF build system. For more information, see the Lib Builder documentation.

For more details visit the supported chips documentation page.

Decoding exceptions

You can use EspExceptionDecoder to get meaningful call trace.

Issue/Bug report template

Before reporting an issue, make sure you've searched for similar one that was already created. Also make sure to go through all the issues labeled as Type: For reference.

Finally, if you are sure no one else had the issue, follow the Issue template or Feature request template while reporting any new Issue.

External libraries compilation test

We have set-up CI testing for external libraries for ESP32 Arduino core. You can check test results in the file LIBRARIES_TEST. For more information and how to add your library to the test see external library testing in the documentation.

Contributing

We welcome contributions to the Arduino ESP32 project!

See contributing in the documentation for more information on how to contribute to the project.

We would like to have this repository in a polite and friendly atmosphere, so please be kind and respectful to others. For more details, look at Code of Conduct.