This is an automated email from the ASF dual-hosted git repository. hartmannathan pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/nuttx.git
commit 2d069231c54605ec0907704ae758fcc3acb7cf6f Author: Eren Terzioglu <eren.terzio...@espressif.com> AuthorDate: Mon Feb 17 11:42:21 2025 +0100 esp32[s3]: Add Documentation for esp32s3-lcd-ev board --- .../esp32s3-lcd-ev/esp32s3-audio-config-file.png | Bin 0 -> 21276 bytes .../boards/esp32s3-lcd-ev/esp32s3_lcd_ev.png | Bin 0 -> 338946 bytes .../xtensa/esp32s3/boards/esp32s3-lcd-ev/index.rst | 156 +++++++++++++++++++++ 3 files changed, 156 insertions(+) diff --git a/Documentation/platforms/xtensa/esp32s3/boards/esp32s3-lcd-ev/esp32s3-audio-config-file.png b/Documentation/platforms/xtensa/esp32s3/boards/esp32s3-lcd-ev/esp32s3-audio-config-file.png new file mode 100644 index 0000000000..c51fa32e29 Binary files /dev/null and b/Documentation/platforms/xtensa/esp32s3/boards/esp32s3-lcd-ev/esp32s3-audio-config-file.png differ diff --git a/Documentation/platforms/xtensa/esp32s3/boards/esp32s3-lcd-ev/esp32s3_lcd_ev.png b/Documentation/platforms/xtensa/esp32s3/boards/esp32s3-lcd-ev/esp32s3_lcd_ev.png new file mode 100644 index 0000000000..23be064d3a Binary files /dev/null and b/Documentation/platforms/xtensa/esp32s3/boards/esp32s3-lcd-ev/esp32s3_lcd_ev.png differ diff --git a/Documentation/platforms/xtensa/esp32s3/boards/esp32s3-lcd-ev/index.rst b/Documentation/platforms/xtensa/esp32s3/boards/esp32s3-lcd-ev/index.rst new file mode 100644 index 0000000000..9b36d11cd7 --- /dev/null +++ b/Documentation/platforms/xtensa/esp32s3/boards/esp32s3-lcd-ev/index.rst @@ -0,0 +1,156 @@ +=============== +ESP32-S3-LCD-EV +=============== + +The `ESP32-S3-LCD-EV-Board <https://docs.espressif.com/projects/esp-dev-kits/en/latest/esp32s3/esp32-s3-lcd-ev-board/user_guide.html>`_ is a small-sized AI development board from Espressif featuring the ESP32-S3 CPU with a touchscreen LCD display, dual microphone, an 16 MB Octal PSRAM and an 16 MB flash. + +.. list-table:: + :align: center + + * - .. figure:: esp32s3_lcd_ev.png + :align: center + +Features +======== + + - ESP32-S3 WROOM-1 Module + - USB Type-C ports + - Power LED + - LCD Display + - MEMS Microphone + - 16MB Octal PSRAM + - 16MB SPI Flash + - RST and BOOT buttons (BOOT accessible to user) + +Serial Console +============== + +UART0 is, by default, the serial console. It connects to the on-board +CP2102 converter and is available on the USB connector USB CON8 (J1). + +It will show up as /dev/ttyUSB[n] where [n] will probably be 0. + +Buttons and LEDs +================ + +Board Buttons +------------- + +There are two buttons labeled Boot and EN. The EN button is not available +to software. It pulls the chip enable line that doubles as a reset line. + +The BOOT button is connected to IO0. On reset it is used as a strapping +pin to determine whether the chip boots normally or into the serial +bootloader. After reset, however, the BOOT button can be used for software +input. + +Board LEDs +---------- + +There are several on-board LEDs for that indicate the presence of power +and USB activity. None of these are available for use by software. +Another WS2812 LED is connected to GPIO4. + +Configurations +============== + +All of the configurations presented below can be tested by running the following commands:: + + $ ./tools/configure.sh esp32s3-lcd-ev:<config_name> + $ make flash ESPTOOL_PORT=/dev/ttyUSB0 -j + +Where <config_name> is the name of board configuration you want to use, i.e.: nsh, buttons, wifi... +Then use a serial console terminal like ``picocom`` configured to 115200 8N1. + +audio +----- + +This configuration uses the I2S0 peripheral and an externally connected audio +codec to play an audio file streamed over an HTTP connection while connected +to a Wi-Fi network. + +**Audio Codec Setup** + +The CS4344 audio codec is connected to the following pins: + +============ ========== ============================================ +ESP32-S3 Pin CS4344 Pin Description +============ ========== ============================================ +5 MCLK Master Clock +16 SCLK Serial Clock +7 LRCK Left Right Clock (Word Select) +6 SDIN Serial Data In on CS4344. (DOUT on ESP32-S3) +============ ========== ============================================ + +**Simple HTTP server** + +Prepare a PCM-encoded (`.wav`) audio file with 16 or 24 bits/sample (sampled at +16~48kHz). This file must be placed into a folder in a computer that could +be accessed on the same Wi-Fi network the ESP32 will be connecting to. + +Python provides a simple HTTP server. ``cd`` to the audio file folder on the +PC and run:: + + $ python3 -m http.server + Serving HTTP on 0.0.0.0 port 8000 (http://0.0.0.0:8000/) + +Look for your PC IP address and test playing the prepared audio on your +browser: + +.. figure:: esp32s3-audio-config-file.png + :align: center + +After successfully built and flashed, connect the board to the Wi-Fi network:: + + nsh> wapi psk wlan0 mypasswd 3 + nsh> wapi essid wlan0 myssid 1 + nsh> renew wlan0 + +Once connected, open NuttX's player and play the file according to the filename +and the IP address of the HTTP server:: + + nsh> nxplayer + nxplayer> play http://192.168.1.239:8000/tones.wav + +buttons +------- + +This configuration shows the use of the buttons subsystem. It can be used by executing +the ``buttons`` application and pressing on any of the available board buttons:: + + nsh> buttons + buttons_main: Starting the button_daemon + buttons_main: button_daemon started + button_daemon: Running + button_daemon: Opening /dev/buttons + button_daemon: Supported BUTTONs 0x01 + nsh> Sample = 1 + Sample = 0 + +lvgl +---- + +This is a demonstration of the LVGL graphics library running on the NuttX LCD +driver. You can find LVGL here:: + + https://www.lvgl.io/ + https://github.com/lvgl/lvgl + +This configuration uses the LVGL demonstration at `apps/examples/lvgldemo`. + +nsh +--- + +Basic NuttShell configuration (console enabled in UART0, exposed via +USB connection by means of CP2102 converter, at 115200 bps). + +ws2812 +------ + +This configuration enables the usage of the RMT peripheral and the example +``ws2812`` to drive addressable RGB LEDs:: + + nsh> ws2812 + +Please note that this board contains an on-board WS2812 LED connected to GPIO38 +and, by default, this config configures the RMT transmitter in the same pin.