Skip to content

boards: add Arduino Nano ESP32 board#21656

Merged
gschorcht merged 1 commit intoRIOT-OS:masterfrom
gschorcht:boards/arduino-nano-esp32
Aug 14, 2025
Merged

boards: add Arduino Nano ESP32 board#21656
gschorcht merged 1 commit intoRIOT-OS:masterfrom
gschorcht:boards/arduino-nano-esp32

Conversation

@gschorcht
Copy link
Copy Markdown
Contributor

@gschorcht gschorcht commented Aug 11, 2025

Contribution description

This PR adds the board definition for the Arduino Nano ESP32 board, an ESP32-S3 board in Arduino Nano format.

Testing procedure

Basic tests for the board should work. The following tests have already been executed:

Shell
main(): This is RIOT! (Version: 2025.10-devel-111-g12a65-boards/arduino-nano-esp32)
test_shell.
> help
Command              Description
---------------------------------------
bufsize              Get the shell's buffer size
start_test           starts a test
end_test             ends a test
echo                 prints the input command
empty                print nothing on command
periodic             periodically print command
xfa_test1            xfa test command 1
xfa_test2            xfa test command 2
app_metadata         Returns application metadata
pm                   interact with layered PM subsystem
ps                   Prints information about running threads.
version              Prints current RIOT_VERSION
reboot               Reboot the node
> 
> version
2025.10-devel-111-g12a65-boards/arduino-nano-esp32
> 
ADC when periph_i2c is used, ADC_LINE(3) pulled to Vcc
ADC_LINE(0): 11  46  179  693    -1    -1
ADC_LINE(1): 11  44  171  663    -1    -1
ADC_LINE(2): 10  38  150  575    -1    -1
ADC_LINE(3): 63 255 1023 4095    -1    -1

ADC_LINE(0): 11  46  178  684    -1    -1
ADC_LINE(1): 11  43  168  649    -1    -1
ADC_LINE(2):  9  37  145  553    -1    -1
ADC_LINE(3): 63 255 1023 4095    -1    -1
ADC when periph_i2c is not used, ADC_LINE(3) pulled to Vcc
ADC_LINE(0): 12  46  181  694    -1    -1
ADC_LINE(1): 11  45  174  677    -1    -1
ADC_LINE(2): 10  38  150  582    -1    -1
ADC_LINE(3): 63 255 1023 4095    -1    -1
ADC_LINE(4):  8  33  123  455    -1    -1
ADC_LINE(5):  9  35  134  493    -1    -1
ADC_LINE(6): 10  38  145  526    -1    -1
ADC_LINE(7):  3  14   52  126    -1    -1

ADC_LINE(0): 12  46  180  698    -1    -1
ADC_LINE(1): 11  45  175  681    -1    -1
ADC_LINE(2): 10  38  149  575    -1    -1
ADC_LINE(3): 63 255 1023 4095    -1    -1
ADC_LINE(4):  9  33  125  468    -1    -1
ADC_LINE(5):  9  35  134  490    -1    -1
ADC_LINE(6): 10  38  145  527    -1    -1
ADC_LINE(7):  3  13   49  118    -1    -1
I2C with VCNL4010
main(): This is RIOT! (Version: 2025.10-devel-111-g12a65-boards/arduino-nano-esp32)
VCNL40X0 test application

+------------Initializing------------+
Initialization successful


+--------Starting Measurements--------+
Proximity [cts]: 1985
Ambient light [cts]: 1024
Illuminance [lx]: 254

+-------------------------------------+
Proximity [cts]: 1992
Ambient light [cts]: 818
Illuminance [lx]: 199

+-------------------------------------+
Proximity [cts]: 2193
Ambient light [cts]: 381
Illuminance [lx]: 80

+-------------------------------------+
Proximity [cts]: 14041
Ambient light [cts]: 3
Illuminance [lx]: 0

+-------------------------------------+
Proximity [cts]: 2056
Ambient light [cts]: 751
Illuminance [lx]: 199

+-------------------------------------+
Proximity [cts]: 1984
Ambient light [cts]: 957
Illuminance [lx]: 241

+-------------------------------------+
Proximity [cts]: 1983
Ambient light [cts]: 1043
Illuminance [lx]: 260

+-------------------------------------+
PWM with oscillating RGB LEDs
main(): This is RIOT! (Version: 2025.10-devel-111-g12a65-boards/arduino-nano-esp32)
PWM peripheral driver test

> osci

RIOT PWM test
Connect an LED or scope to PWM pins to see something.

Available PWM device between 0 and 1
Initialized PWM_0 @ 1000Hz.
Initialized PWM_1 @ 1000Hz.

Letting the PWM pins oscillate now...
SPI with BME680
main(): This is RIOT! (Version: 2025.10-devel-110-gee140-boards/arduino-nano-esp32)
Initialize BME680 sensor 0 ... OK
[bme680]: dev=0, T = 25.22 degC, P = 98631 Pa, H = 56.949 %, G = 449383 ohms
+-----------------------------------------+
[bme680]: dev=0, T = 25.20 degC, P = 98633 Pa, H = 54.960 %, G = 350722 ohms
+-----------------------------------------+
[bme680]: dev=0, T = 25.16 degC, P = 98633 Pa, H = 53.695 %, G = 289837 ohms
+-----------------------------------------+
[bme680]: dev=0, T = 25.11 degC, P = 98631 Pa, H = 52.903 %, G = 248262 ohms
+-----------------------------------------+
[bme680]: dev=0, T = 25.04 degC, P = 98631 Pa, H = 52.419 %, G = 217118 ohms
+-----------------------------------------+

Issues/PRs references

Fixes issue #21232

@github-actions github-actions bot added Area: doc Area: Documentation Area: boards Area: Board ports Area: Kconfig Area: Kconfig integration labels Aug 11, 2025
@gschorcht gschorcht added State: WIP State: The PR is still work-in-progress and its code is not in its final presentable form yet Type: new feature The issue requests / The PR implemements a new feature for RIOT CI: ready for build If set, CI server will compile all applications for all available boards for the labeled PR Platform: ESP Platform: This PR/issue effects ESP-based platforms labels Aug 11, 2025
@gschorcht gschorcht requested a review from kaspar030 as a code owner August 11, 2025 14:16
@github-actions github-actions bot added Area: CI Area: Continuous Integration of RIOT components and removed Platform: ESP Platform: This PR/issue effects ESP-based platforms labels Aug 11, 2025
@riot-ci
Copy link
Copy Markdown

riot-ci commented Aug 11, 2025

Murdock results

✔️ PASSED

fc48c14 boards/arduino-nano-esp32: add board definition

Success Failures Total Runtime
580 0 580 05m:24s

Artifacts

@crasbe crasbe linked an issue Aug 12, 2025 that may be closed by this pull request
@gschorcht gschorcht force-pushed the boards/arduino-nano-esp32 branch from 5a42a31 to 12a65aa Compare August 13, 2025 06:23
@gschorcht gschorcht removed the State: WIP State: The PR is still work-in-progress and its code is not in its final presentable form yet label Aug 13, 2025
Copy link
Copy Markdown
Contributor

@crasbe crasbe left a comment

Choose a reason for hiding this comment

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

Please squash and hit merge at your own discretion :)

@gschorcht gschorcht force-pushed the boards/arduino-nano-esp32 branch from 12a65aa to fc48c14 Compare August 13, 2025 14:42
@github-actions github-actions bot removed the Area: CI Area: Continuous Integration of RIOT components label Aug 13, 2025
@gschorcht
Copy link
Copy Markdown
Contributor Author

@crasbe Thanks for reviewing

@gschorcht gschorcht enabled auto-merge August 13, 2025 14:46
@gschorcht gschorcht added this pull request to the merge queue Aug 13, 2025
Merged via the queue into RIOT-OS:master with commit dd32b0a Aug 14, 2025
25 checks passed
@gschorcht gschorcht deleted the boards/arduino-nano-esp32 branch August 14, 2025 07:01
@benpicco benpicco added this to the Release 2025.10 milestone Dec 3, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Area: boards Area: Board ports Area: doc Area: Documentation Area: Kconfig Area: Kconfig integration CI: ready for build If set, CI server will compile all applications for all available boards for the labeled PR Type: new feature The issue requests / The PR implemements a new feature for RIOT

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Add board support for Arduino Nano ESP32

4 participants