This is an automated email from the ASF dual-hosted git repository.
xiaoxiang pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/nuttx.git
The following commit(s) were added to refs/heads/master by this push:
new ba9df9c06d Documentation: Add Seeed Studio XIAO ESP32C3 Board
ba9df9c06d is described below
commit ba9df9c06d1df2469355332437e2b31a2bef5d00
Author: Rodrigo Sim <[email protected]>
AuthorDate: Mon Apr 21 22:08:48 2025 -0300
Documentation: Add Seeed Studio XIAO ESP32C3 Board
This commit adds the documentation for the Seeed Studio XIAO ESP32C3
board. It includes examples for GPIOs, Wifi and BT.
Signed-off-by: Rodrigo Sim [email protected]
---
.../risc-v/esp32c3/boards/esp32c3-xiao/index.rst | 237 +++++++++++++++++++++
.../esp32c3/boards/esp32c3-xiao/xiao-esp32c3.jpg | Bin 0 -> 71552 bytes
2 files changed, 237 insertions(+)
diff --git
a/Documentation/platforms/risc-v/esp32c3/boards/esp32c3-xiao/index.rst
b/Documentation/platforms/risc-v/esp32c3/boards/esp32c3-xiao/index.rst
new file mode 100644
index 0000000000..6da21e4238
--- /dev/null
+++ b/Documentation/platforms/risc-v/esp32c3/boards/esp32c3-xiao/index.rst
@@ -0,0 +1,237 @@
+=========================
+Seeed Studio XIAO ESP32C3
+=========================
+
+The `Seeed Studio XIAO ESP32C3
<https://wiki.seeedstudio.com/xiao_esp32c3_getting_started/>`_ is a general
purpose board supplied by
+Seeed Studio and it is compatible with the Espressif ESP32C3 ecosystem,
sharing the same MCU as ESP32-C3-DevKitC.
+
+.. figure:: xiao-esp32c3.jpg
+ :align: center
+
+Features
+========
+
+* 32bit RISC-V single core processor that operates at up to 160 MHz
+* 400KB of SRAM, and 4MB of on-board flash memory
+* USB Type-C interface
+* Wireless: Complete 2.4GHz Wi-Fi subsystem;
+* BLE: Bluetooth 5.0, Bluetooth mesh
+* 1x UART, 1x I2C, 1x SPI,11x GPIO(PWM), 4x ADC
+* 1 RESET button, 1 BOOT button
+
+NSH Console
+===========
+
+The NuttShell (NSH) console is available over USB using the CDC/ACM
+serial interface. To access the console, connect via a terminal emulator
+at 115200 baud, 8 data bits, no parity, and 1 stop bit (115200-8N1).
+
+
+Buttons
+=======
+
+The RESET and BOOT buttons can be used to enter "Bootloader" mode by
+press and hold the BOOT key while powering up and then press the RESET key
once.
+
+Pin Mapping
+===========
+Pads numbered anticlockwise from USB connector.
+
+===== ========== ==========
+Pad Signal Notes
+===== ========== ==========
+0 GPIO02 D0/A0
+1 GPIO03 D1/A1
+2 GPIO04 D2/A2
+3 GPIO05 D3/A3
+4 GPIO06 D4/SDA
+5 GPIO07 D5/SCL
+6 GPIO21 D6/Default TX for UART0 serial console
+7 GPIO20 D7/Default RX for UART0 serial console
+8 GPIO08 D8/SCK
+9 GPIO09 D9/MISO
+10 GPIO10 D10/MOSI
+11 3V3 Power output to peripherals
+12 Ground
+13 VIN +5V Supply to board
+===== ========== ==========
+
+Power Supply
+============
+The working voltage of the MCU is 3.3V. Voltage input connected to
+general I/O pins may cause chip damage if it’s higher than 3.3V.
+
+Installation
+============
+
+1. Configure and build NuttX:
+
+.. code-block:: console
+
+ $ git clone https://github.com/apache/nuttx.git nuttx
+ $ git clone https://github.com/apache/nuttx-apps.git apps
+ $ cd nuttx
+ $ make distclean
+ $ ./tools/configure.sh xiao-esp32c3:usbnsh
+ $ make V=1
+
+2. Connect the Seeed Studio XIAO ESP32C3, and enter "Bootloader" mode,
+then, flash the ``nuttx.hex`` file using ``esptool``:
+(https://docs.espressif.com/projects/esptool/en/latest/esp32/)
+
+Example command:
+
+.. code-block:: bash
+
+ make flash ESPTOOL_PORT=/dev/ttyACM0 ESPTOOL_BINDIR=./
+
+
+Configurations
+==============
+
+nsh
+---
+
+Basic NuttShell configuration using serial (console enabled in UART0, exposed
via
+pins D6/TX and D7/RX, at 115200 bps).
+
+usbnsh
+------
+Basic NuttShell configuration using CDC/ACM serial (console enabled in USB
Port,
+at 115200 bps).
+
+.. code-block:: console
+
+ NuttShell (NSH) NuttX-12.8.0
+ nsh> uname -a
+ NuttX 12.8.0 2c845426da-dirty Apr 6 2025 22:53:57 xtensa esp32c3-xiao
+
+
+gpio
+----
+This configuration enabled NuttShell via USB and enabled gpio example.
+
+Testing gpios:
+
+======== ====== ==========
+PIN/GPIO Mode Device
+======== ====== ==========
+D0/GPIO2 Output /dev/gpio0
+D1/GPIO3 Input /dev/gpio1
+======== ====== ==========
+
+.. code-block:: console
+
+ nsh> gpio -o 1 /dev/gpio0
+ Driver: /dev/gpio0
+ Output pin: Value=1
+ Writing: Value=1
+ Verify: Value=1
+ nsh>
+ nsh> gpio -o 0 /dev/gpio0
+ Driver: /dev/gpio0
+ Output pin: Value=1
+ Writing: Value=0
+ Verify: Value=0
+ nsh> gpio -w 1 /dev/gpio1
+ Driver: /dev/gpio1
+ Interrupt pin: Value=0
+ Verify: Value=1
+
+wifi
+----
+This configuration enables a wlan network interface that can be configured and
initialized
+using below commands::
+
+ nsh> ifup wlan0
+ nsh> wapi psk wlan0 mypasswd 3
+ nsh> wapi essid wlan0 myssid 1
+ nsh> renew wlan0
+
+In this case a connection to AP with SSID ``myssid`` is done, using
``mypasswd`` as
+password. IP address is obtained via DHCP using ``renew`` command. You can
check
+the result by running ``ifconfig`` afterwards.
+
+.. code-block:: console
+
+ NuttShell (NSH) NuttX-12.8.0
+ nsh> uname -a
+ NuttX 12.9.0 6b4bc72626-dirty Apr 26 2025 17:40:37 risc-v esp32c3-xiao
+ nsh> ?
+ help usage: help [-v] [<cmd>]
+
+ . cp expr pkill pwd uname
+ [ cmp false ls rm umount
+ ? dirname fdinfo mkdir rmdir unset
+ alias date free mkrd set uptime
+ unalias df help mount sleep usleep
+ arp dmesg hexdump mv source watch
+ basename echo ifconfig nslookup test xd
+ break env ifdown pidof time wait
+ cat exec ifup printf true
+ cd exit kill ps truncate
+
+ Builtin Apps:
+ dd getprime ostest rand sh
+ dumpstack nsh ping renew wapi
+ nsh> wapi psk wlan0 nuttxpwd 3
+ nsh> wapi essid wlan0 nuttxnw 1
+ nsh> renew wlan0
+ nsh> ifconfig
+ wlan0 Link encap:Ethernet HWaddr a0:85:e3:0e:4a:30 at RUNNING mtu 576
+ inet addr:192.168.59.144 DRaddr:192.168.59.134 Mask:255.255.255.0
+
+ nsh> ping 8.8.8.8
+ PING 8.8.8.8 56 bytes of data
+ 56 bytes from 8.8.8.8: icmp_seq=0 time=50.0 ms
+ 56 bytes from 8.8.8.8: icmp_seq=1 time=40.0 ms
+ 56 bytes from 8.8.8.8: icmp_seq=2 time=30.0 ms
+ 56 bytes from 8.8.8.8: icmp_seq=3 time=60.0 ms
+ 56 bytes from 8.8.8.8: icmp_seq=4 time=100.0 ms
+ 56 bytes from 8.8.8.8: icmp_seq=5 time=100.0 ms
+ 56 bytes from 8.8.8.8: icmp_seq=6 time=140.0 ms
+ 56 bytes from 8.8.8.8: icmp_seq=7 time=40.0 ms
+ 56 bytes from 8.8.8.8: icmp_seq=8 time=50.0 ms
+ 56 bytes from 8.8.8.8: icmp_seq=9 time=30.0 ms
+ 10 packets transmitted, 10 received, 0% packet loss, time 10100 ms
+ rtt min/avg/max/mdev = 30.000/64.000/140.000/34.985 ms
+ nsh> nslookup google.com
+ Host: google.com Addr: 142.251.128.238
+ nsh> nslookup nuttx.apache.org
+ Host: nuttx.apache.org Addr: 151.101.2.132
+ nsh>
+
+ble
+---
+This configuration is used to enable the Bluetooth Low Energy (BLE) of
+ESP32-C3 chip.
+
+.. code-block:: console
+
+ NuttShell (NSH) NuttX-12.8.0
+ nsh> bt bnep0 scan start
+ nsh> bt bnep0 scan stop
+ nsh> bt bnep0 scan get
+ Scan result:
+ 1. addr: a0:46:5a:22:ea:c4 type: 0
+ rssi: -92
+ response type: 0
+ advertiser data: 02 01 02 19 16 f1 fc 04 f9 6e e8 58 e6 33 58 26
c5 4b bd 91 1c e0 4f b2 d9 51 455
+ 2. addr: a0:46:5a:22:ea:c4 type: 0
+ rssi: -91
+ response type: 0
+ advertiser data: 02 01 02 19 16 f1 fc 04 f9 6e e8 58 e6 33 58 26
c5 4b bd 91 1c e0 4f b2 d9 51 455
+ 3. addr: a0:46:5a:22:ea:c4 type: 0
+ rssi: -100
+ response type: 0
+ advertiser data: 02 01 02 19 16 f1 fc 04 f9 6e e8 58 e6 33 58 26
c5 4b bd 91 1c e0 4f b2 d9 51 455
+ 4. addr: a0:46:5a:22:ea:c4 type: 0
+ rssi: -100
+ response type: 4
+ advertiser data:
+ 5. addr: a0:46:5a:22:ea:c4 type: 0
+ rssi: -97
+ response type: 0
+ advertiser data: 02 01 02 19 16 f1 fc 04 f9 6e e8 58 e6 33 58 26
+
+
diff --git
a/Documentation/platforms/risc-v/esp32c3/boards/esp32c3-xiao/xiao-esp32c3.jpg
b/Documentation/platforms/risc-v/esp32c3/boards/esp32c3-xiao/xiao-esp32c3.jpg
new file mode 100644
index 0000000000..46f4075b28
Binary files /dev/null and
b/Documentation/platforms/risc-v/esp32c3/boards/esp32c3-xiao/xiao-esp32c3.jpg
differ