Skip to content

manifest: Add arduino-core build snippet#195

Open
soburi wants to merge 3 commits into
zephyrproject-rtos:nextfrom
soburi:arduino-core-snippet
Open

manifest: Add arduino-core build snippet#195
soburi wants to merge 3 commits into
zephyrproject-rtos:nextfrom
soburi:arduino-core-snippet

Conversation

@soburi

@soburi soburi commented Jul 3, 2026

Copy link
Copy Markdown
Member

Added an arduino-core Zephyr snippet that applies the common ArduinoCore config.
This snippet able to eliminate special handling *.overlay and *.conf.

Copilot AI review requested due to automatic review settings July 3, 2026 23:06

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR introduces a Zephyr build snippet (arduino-core) for the ArduinoCore-zephyr module so board-specific ArduinoCore configuration (Kconfig fragments and devicetree overlays) can be applied via west build -S arduino-core, removing per-sample CMake special-casing.

Changes:

  • Add a new arduino-core snippet (YAML + README + common .conf) and register snippet_root in zephyr/module.yml.
  • Remove sample-level CMake logic that auto-discovers variant overlay files; update sample READMEs and CI to build using -S arduino-core.
  • Add (currently header-only) per-board variant .conf files referenced by the snippet.

Reviewed changes

Copilot reviewed 34 out of 34 changed files in this pull request and generated 1 comment.

Show a summary per file
File Description
zephyr/snippets/arduino-core/snippet.yml Defines the arduino-core snippet and board-specific .conf/.overlay appends.
zephyr/snippets/arduino-core/README.rst Documents how to use the snippet via west build -S arduino-core.
zephyr/snippets/arduino-core/arduino-core.conf Common snippet Kconfig enabling CONFIG_ARDUINO_API.
zephyr/module.yml Registers snippet_root: zephyr so Zephyr can discover module-provided snippets.
variants/rpi_pico/rpi_pico.conf Adds variant Kconfig file referenced by the snippet.
variants/nrf9160dk_nrf9160/nrf9160dk_nrf9160.conf Adds variant Kconfig file referenced by the snippet.
variants/nrf52840dk_nrf52840/nrf52840dk_nrf52840.conf Adds variant Kconfig file referenced by the snippet.
variants/native_sim/native_sim.conf Adds variant Kconfig file referenced by the snippet.
variants/cc3220sf_launchxl/cc3220sf_launchxl.conf Adds variant Kconfig file referenced by the snippet.
variants/beagleconnect_freedom/beagleconnect_freedom.conf Adds variant Kconfig file referenced by the snippet.
variants/arduino_nano_33_iot/arduino_nano_33_iot.conf Adds variant Kconfig file referenced by the snippet.
variants/arduino_nano_33_ble/arduino_nano_33_ble.conf Adds variant Kconfig file referenced by the snippet.
variants/arduino_nano_33_ble_nrf52840_sense/arduino_nano_33_ble_nrf52840_sense.conf Adds variant Kconfig file referenced by the snippet.
variants/arduino_mkrzero/arduino_mkrzero.conf Adds variant Kconfig file referenced by the snippet.
samples/threads_arduino/README.rst Updates build docs to use the snippet.
samples/threads_arduino/CMakeLists.txt Removes overlay auto-discovery logic now handled by the snippet.
samples/spi_controller/CMakeLists.txt Removes overlay auto-discovery logic now handled by the snippet.
samples/serial_event/README.rst Updates build command to use the snippet (and fixes sample path).
samples/serial_event/CMakeLists.txt Removes overlay auto-discovery logic now handled by the snippet.
samples/i2cdemo/README.rst Updates build docs to use the snippet.
samples/i2cdemo/CMakeLists.txt Removes overlay auto-discovery logic now handled by the snippet.
samples/hello_arduino/README.rst Updates build docs to include the snippet.
samples/hello_arduino/CMakeLists.txt Removes overlay auto-discovery logic now handled by the snippet.
samples/fade/README.rst Updates build docs to use the snippet (removes extra-module flag).
samples/fade/CMakeLists.txt Removes overlay auto-discovery logic now handled by the snippet.
samples/button_press_led/README.rst Updates build docs to use the snippet (removes extra-module flag).
samples/button_press_led/CMakeLists.txt Removes overlay auto-discovery logic now handled by the snippet.
samples/blinky_arduino/README.rst Updates build docs to use the snippet (removes extra-module flag).
samples/blinky_arduino/CMakeLists.txt Removes overlay auto-discovery logic now handled by the snippet.
samples/attach_interrupt/README.rst Updates build docs to use the snippet (removes extra-module flag).
samples/attach_interrupt/CMakeLists.txt Removes overlay auto-discovery logic now handled by the snippet.
samples/analog_input/README.rst Updates build docs to use the snippet (and fixes sample path).
samples/analog_input/CMakeLists.txt Removes overlay auto-discovery logic now handled by the snippet.
.github/workflows/build.yml Updates CI builds to pass -S arduino-core.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread zephyr/snippets/arduino-core/snippet.yml
soburi added 3 commits July 5, 2026 23:28
We are adding `arduino-core` snippet configuration to handle
board-specific *.overlay and *.conf files in a manner
consistent with Zephyr's build system.
This ensures that board-specific settings are applied
when building with the `west build -S arduino-core ...` command.

For clarity, we are adding a .conf file even for boards that do not
have additional settings.

Signed-off-by: TOKITA Hiroshi <tokita.hiroshi@gmail.com>
Change the configuration to apply *.overlay and *.conf files
via snippets instead of environment variables.

Signed-off-by: TOKITA Hiroshi <tokita.hiroshi@gmail.com>
Signed-off-by: TOKITA Hiroshi <tokita.hiroshi@gmail.com>
@soburi soburi force-pushed the arduino-core-snippet branch from 4c9feb9 to bc68119 Compare July 5, 2026 14:28
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants