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 Arduino Nano ESP32 target #8417

Merged
merged 12 commits into from
Jul 17, 2023

Conversation

facchinm
Copy link
Contributor

Checklist

  1. Please provide specific title of the PR describing the change, including the component name (eg. „Update of Documentation link on Readme.md“)
  2. Please provide related links (eg. Issue which will be closed by this Pull Request)
  3. Please update relevant Documentation if applicable
  4. Please check Contributing guide

Description of Change

This pull request introduces support for Arduino Nano ESP32 board 🚀
The board has some peculiar features that we are then introducing in this core alongside the board support:

  • Pins number remapping to accommodate the form factor and default pins assignment of Nano boards
  • Upload a new sketch via DFU interface (using dfu-util and OTA infrastructure with rollback)
  • Double tap reset button to "bootloader" (in fact a recovery sketch)

These modifications are fully self contained and do not impact other variants. However, they are also easy to integrate into your own variant if you find them useful 🙂

Related links

https://store.arduino.cc/products/nano-esp32

@CLAassistant
Copy link

CLAassistant commented Jul 17, 2023

CLA assistant check
All committers have signed the CLA.

@me-no-dev me-no-dev changed the base branch from idf-release/v4.4 to release/v2.x July 17, 2023 08:37
pillo79 and others added 12 commits July 17, 2023 12:31
Use an absolute address in SPIRAM to store the magic tokens, almost at the
end of the memory, to avoid the markers from being overwritten on any kind
of sketch and core combination.

Also, only start the recovery once if a valid binary is present in the
Flash, by immediately setting that for the next boot when recovery
starts.
In preparation for the sdk -> tool transition
The tool is already available in mainline package_index.json
@me-no-dev me-no-dev merged commit 9b4622d into espressif:release/v2.x Jul 17, 2023
30 checks passed
me-no-dev pushed a commit that referenced this pull request Sep 4, 2023
* USB: enable DFU interface and stub

* nano_nora: add Arduino Nano ESP32 board support

* [pin_remap 1/3] platform: define ARDUINO_CORE_BUILD when building core files

* [pin_remap 2/3] core,libs: add pin remap hooks

* [pin_remap 3/3] nano_nora: implement and enable pin remap

* nano_nora: fix: reset all matrix connections at boot

* nano_nora: add recovery image for release/v2.x

* nano_nora: use official Arduino branding

* nano_nora: core split + recovery mode rework

Use an absolute address in SPIRAM to store the magic tokens, almost at the
end of the memory, to avoid the markers from being overwritten on any kind
of sketch and core combination.

Also, only start the recovery once if a valid binary is present in the
Flash, by immediately setting that for the next boot when recovery
starts.

* platform: fix: use {compiler.sdk.path} for sdk path

In preparation for the sdk -> tool transition

* package_index: remove dfu-util from template

The tool is already available in mainline package_index.json

* on_release: allow single board packages

---------

Co-authored-by: Luca Burelli <l.burelli@arduino.cc>
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

5 participants