-
Notifications
You must be signed in to change notification settings - Fork 1.5k
[WIP] boards/xtensa/esp32s3: New board WaveShare ESP32-S3-(Touch)-LCD-1.28. #18730
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
Open
cederom
wants to merge
1
commit into
apache:master
Choose a base branch
from
cederom:cederom-202603-esp32s3-ws-lcd128
base: master
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Changes from all commits
Commits
File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,3 +1,5 @@ | ||
| .. _lvgldemo: | ||
|
|
||
| ====================== | ||
| ``lvgldemo`` LVGL Demo | ||
| ====================== | ||
|
|
||
Binary file added
BIN
+235 KB
...rms/xtensa/esp32s3/boards/esp32s3-ws-lcd128/ESP32-S3-LCD-1.28-details-inter.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added
BIN
+121 KB
...rms/xtensa/esp32s3/boards/esp32s3-ws-lcd128/ESP32-S3-LCD-1.28-details-intro.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added
BIN
+156 KB
...orms/xtensa/esp32s3/boards/esp32s3-ws-lcd128/ESP32-S3-LCD-1.28-details-size.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added
BIN
+179 KB
...ensa/esp32s3/boards/esp32s3-ws-lcd128/ESP32-S3-Touch-LCD-1.28-details-inter.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added
BIN
+175 KB
...ensa/esp32s3/boards/esp32s3-ws-lcd128/ESP32-S3-Touch-LCD-1.28-details-intro.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added
BIN
+83.5 KB
...nsa/esp32s3/boards/esp32s3-ws-lcd128/ESP32-S3-Touch-LCD-1.28-details-size-1.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added
BIN
+171 KB
...nsa/esp32s3/boards/esp32s3-ws-lcd128/ESP32-S3-Touch-LCD-1.28-details-size-2.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added
BIN
+52.5 KB
...n/platforms/xtensa/esp32s3/boards/esp32s3-ws-lcd128/ESP32-S3-Touch-LCD-1.28.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
189 changes: 189 additions & 0 deletions
189
Documentation/platforms/xtensa/esp32s3/boards/esp32s3-ws-lcd128/index.rst
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,189 @@ | ||
| ================= | ||
| ESP32S3-WS-LCD128 | ||
| ================= | ||
|
|
||
| .. tags:: chip:esp32s3 | ||
|
|
||
| .. figure:: ESP32-S3-Touch-LCD-1.28.jpg | ||
| :align: center | ||
|
|
||
| This board definition is a starting point for development with | ||
| `ESP32-S3-LCD-1.28 <https://www.waveshare.com/esp32-s3-lcd-1.28.htm>`__ and | ||
| `ESP32-S3-Touch-LCD-1.28 <https://www.waveshare.com/esp32-s3-touch-lcd-1.28.htm>`__ | ||
| which are low-cost ($16/$22) open-source hardware designed by | ||
| `WaveShare <https://www.waveshare.com/>`_. High-performance Xtensa based | ||
| ESP32-S3 MCU, small size, onboard round 1.28" LCD display, capacitive touch | ||
| screen (Touch version only), Li-ion accumulator charge manager, 6-axis sensor | ||
| (3-axis accelerometer and 3-axis gyroscope), and quick module attachmend | ||
| 1.27mm connectors (non-Touch version only), makes it a perfect candidate | ||
| for integration into your projects and products quickly. | ||
|
|
||
| .. list-table:: | ||
| :width: 100% | ||
| :class: borderless | ||
|
|
||
| * - .. figure:: ESP32-S3-LCD-1.28-details-intro.jpg | ||
| :target: https://www.waveshare.com/wiki/ESP32-S3-LCD-1.28 | ||
| :align: center | ||
|
|
||
| ESP32-S3-LCD-1.28. | ||
|
|
||
| - .. figure:: ESP32-S3-Touch-LCD-1.28-details-intro.jpg | ||
| :target: https://www.waveshare.com/wiki/ESP32-S3-Touch-LCD-1.28 | ||
| :align: center | ||
|
|
||
| ESP32-S3-Touch-LCD-1.28. | ||
|
|
||
| These boards are almost identical. Touch version has touch screen, | ||
| while non-Touch version has two connectors exposing more GPIOs at the bottom, | ||
| thus slightly different signal routes. Because of that similarity, a single | ||
| board definition is provided by NuttX, while features and configuration | ||
| details are build time Kconfig selectable. | ||
|
|
||
| Both boards are based on existing :ref:`esp32s3` chip implementation. | ||
| WaveShare WIKI contians board details, generic examples, documentation, and | ||
| schematics for the | ||
| `ESP32-S3-LCD-1.28 <https://www.waveshare.com/wiki/ESP32-S3-LCD-1.28>`__ and | ||
| `ESP32-S3-Touch-LCD-1.28 <https://www.waveshare.com/wiki/ESP32-S3-Touch-LCD-1.28>`__. | ||
|
|
||
| .. note:: Implementation is experimental and still early stage of development! | ||
|
|
||
|
|
||
| Features | ||
| ======== | ||
|
|
||
| - ESP32-S3R2 Xtensa® 32-bit LX7 dual-core processor, up to 240MHz frequency. | ||
| - 2.4GHz Wi-Fi (802.11 b/g/n) and Bluetooth® 5 (BLE) with onboard antenna. | ||
| - Built in 512KB of SRAM and 384KB ROM, on-chip 2MB PSRAM, external 16MB | ||
| W25Q128JVSIQ NOR Flash memory. | ||
| - USB-C connector and CH343P USB-to-UART converter (flashing, console). | ||
| - Onboard GC9A01A controlled round 1.28" 240×240 resolution 65K color LCD. | ||
| - Onboard QMI8658 6-axis IMU (3-axis accelerometer and 3-axis gyroscope). | ||
| - Onboard 3.7V MX1.25 lithium battery re/discharge header, ETA6096 charger. | ||
| - Touch version: | ||
|
|
||
| - CST816S capacitive touch display controller. | ||
| - 6 × GPIO exposed over SH1.0 connector. | ||
|
|
||
| - Non-Touch version: | ||
|
|
||
| - 32 x GPIO exposed over 2 x 2x10 1.27mm female connectors. | ||
|
|
||
|
|
||
| Pinouts | ||
| ======= | ||
|
|
||
| - ESP32-S3-LCD-1.28: | ||
|
|
||
| .. figure:: ESP32-S3-LCD-1.28-details-inter.jpg | ||
| :align: center | ||
|
|
||
| - ESP32-S3-Touch-LCD-1.28: | ||
|
|
||
| .. figure:: ESP32-S3-Touch-LCD-1.28-details-inter.jpg | ||
| :align: center | ||
|
|
||
| Dimensions | ||
| ========== | ||
|
|
||
| - ESP32-S3-LCD-1.28: | ||
|
|
||
| .. figure:: ESP32-S3-LCD-1.28-details-size.jpg | ||
| :align: center | ||
|
|
||
| - ESP32-S3-Touch-LCD-1.28: | ||
|
|
||
| .. figure:: ESP32-S3-Touch-LCD-1.28-details-size-1.jpg | ||
| :align: center | ||
|
|
||
| .. figure:: ESP32-S3-Touch-LCD-1.28-details-size-2.jpg | ||
| :align: center | ||
|
|
||
|
|
||
| Serial Console | ||
| ============== | ||
|
|
||
| UART0 is by default used for the serial console. It connects to the on-board | ||
| CH343P converter and is available on the USB-C connector that can be also used | ||
| for firmware flashing. | ||
|
|
||
|
|
||
| Buttons | ||
| ======= | ||
|
|
||
| Board Buttons | ||
| ------------- | ||
|
|
||
| There are two buttons labeled BOOT and RESET. The RESET button is not available | ||
| to the software and can be used as manual hardware Reset trigger. | ||
| The BOOT button is connected to IO0 and on reset / power-on it triggers the | ||
| BootROM serial bootloader when pressed. After reset the BOOT button can be used | ||
| as software input. | ||
|
|
||
|
|
||
| Configurations | ||
| ============== | ||
|
|
||
| All of the available configurations provide basic testing utilities or serve | ||
| as an example starting point for your own projects. | ||
| Use them by running the following commands:: | ||
|
|
||
| $ ./tools/configure.sh esp32s3-ws-lcd128:<config_name> | ||
| $ make flash ESPTOOL_PORT=<serial_port_device> -j | ||
|
|
||
| Notes: | ||
|
|
||
| - ``<config_name>`` is the name of board configuration you want to use | ||
| (i.e. nsh, lvgl). Then use a serial console terminal like ``cu`` or | ||
| ``minicom`` configured to 115200 8N1. | ||
| - ``<serial_port_device>`` is usually ``/dev/ttyUSB0`` or ``/dev/cuaU0`` | ||
| depending on the OS you are using. | ||
| - On BSD systems use GNU Make (``gmake``) in place of ``make``. | ||
|
|
||
| coremark | ||
| -------- | ||
|
|
||
| Provides CoreMark benchmarking utility. | ||
|
|
||
| notouch-lvgl | ||
| ------------ | ||
|
|
||
| This is a demonstration of the LVGL graphics library running on the NuttX's | ||
| GC9A01A LCD driver. Demo will launch itself on boot and you should see it on | ||
| the screen right away. This configuration uses the :ref:`lvgldemo` application. | ||
|
|
||
| .. note:: This configuration has ``CONFIG_ARCH_BOARD_ESP32S3_WS_LCD128_NOTOUCH`` | ||
| set. It selects LCD pins valid for the Non-Touch board variant. | ||
|
|
||
| nsh | ||
| --- | ||
|
|
||
| Basic NuttShell configuration (console enabled in UART0, exposed via | ||
| USB connection by means of CH343P converter, at 115200 bps). | ||
|
|
||
| qmi8658 | ||
| ------- | ||
|
|
||
| Provides QMI8658 IMU ``uorb_listener`` example. | ||
|
|
||
| ostest | ||
| ------ | ||
|
|
||
| Provides ``ostest`` NuttX self-test utility. | ||
|
|
||
| touch-lvgl | ||
| ---------- | ||
|
|
||
| This is a demonstration of the LVGL graphics library running on the NuttX's | ||
| GC9A01A LCD driver. Demo will launch itself on boot and you should see it on | ||
| the screen right away. This configuration uses the :ref:`lvgldemo` application. | ||
|
|
||
| .. note:: This configuration has ``CONFIG_ARCH_BOARD_ESP32S3_WS_LCD128_TOUCH`` | ||
| set. It selects LCD pins valid for the Touch board variant. | ||
|
|
||
| .. warning:: Touch screen driver is not yet implemented! Work in progress. | ||
|
|
||
| watchdog | ||
| -------- | ||
|
|
||
| Provides watchdog testing utilities. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,3 +1,5 @@ | ||
| .. _esp32s3: | ||
|
|
||
| ================== | ||
| Espressif ESP32-S3 | ||
| ================== | ||
|
|
||
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,38 @@ | ||
| # | ||
| # For a description of the syntax of this configuration file, | ||
| # see the file kconfig-language.txt in the NuttX tools repository. | ||
| # | ||
|
|
||
| if ARCH_BOARD_ESP32S3_WS_LCD128 | ||
|
|
||
| choice | ||
| prompt "BOARD VARIANT" | ||
| default ARCH_BOARD_ESP32S3_WS_LCD128_NOTOUCH | ||
| ---help--- | ||
| There are two variants of the board with [1] and without [2] touch screen. | ||
| These boards also have slightly different signals and capabilities. | ||
| Non-touch variant has two connectors with many more GPIO available. | ||
|
|
||
| [1] https://www.waveshare.com/esp32-s3-touch-lcd-1.28.htm | ||
| [2] https://www.waveshare.com/esp32-s3-lcd-1.28.htm | ||
|
|
||
| NOTE: Touch screen driver is not yet implemented! | ||
|
|
||
| config ARCH_BOARD_ESP32S3_WS_LCD128_NOTOUCH | ||
| bool "NO-TOUCH ESP32-S3-LCD-1.28" | ||
| select LCD | ||
| ---help--- | ||
| Mark this choice if your board has no touch screen module installed. | ||
| www.waveshare.com/esp32-s3-lcd-1.28.htm | ||
|
|
||
| config ARCH_BOARD_ESP32S3_WS_LCD128_TOUCH | ||
| bool "TOUCH ESP32-S3-Touch-LCD-1.28" | ||
| help | ||
| Mark this choice if your board has touch screen module installed. | ||
| www.waveshare.com/esp32-s3-touch-lcd-1.28.htm | ||
|
|
||
| NOTE: Touch screen driver is not yet implemented! | ||
|
|
||
| endchoice | ||
|
Comment on lines
+6
to
+36
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Hi @cederom , please correct the style of the Kconfig files.
Contributor
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. fixed thanks! :-) |
||
|
|
||
| endif # ARCH_BOARD_ESP32S3_WS_LCD128 | ||
44 changes: 44 additions & 0 deletions
44
boards/xtensa/esp32s3/esp32s3-ws-lcd128/configs/coremark/defconfig
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,44 @@ | ||
| # | ||
| # This file is autogenerated: PLEASE DO NOT EDIT IT. | ||
| # | ||
| # You can use "make menuconfig" to make any modifications to the installed .config file. | ||
| # You can then do "make savedefconfig" to generate a new defconfig file that includes your | ||
| # modifications. | ||
| # | ||
| # CONFIG_ARCH_LEDS is not set | ||
| # CONFIG_NDEBUG is not set | ||
| CONFIG_ARCH="xtensa" | ||
| CONFIG_ARCH_BOARD="esp32s3-ws-lcd128" | ||
| CONFIG_ARCH_BOARD_COMMON=y | ||
| CONFIG_ARCH_BOARD_ESP32S3_WS_LCD128=y | ||
| CONFIG_ARCH_CHIP="esp32s3" | ||
| CONFIG_ARCH_CHIP_ESP32S3=y | ||
| CONFIG_ARCH_CHIP_ESP32S3CUSTOM=y | ||
| CONFIG_ARCH_INTERRUPTSTACK=2048 | ||
| CONFIG_ARCH_IRQ_TO_NDX=y | ||
| CONFIG_ARCH_MINIMAL_VECTORTABLE_DYNAMIC=y | ||
| CONFIG_ARCH_NUSER_INTERRUPTS=2 | ||
| CONFIG_ARCH_STACKDUMP=y | ||
| CONFIG_ARCH_XTENSA=y | ||
| CONFIG_BENCHMARK_COREMARK=y | ||
| CONFIG_BOARD_LOOPSPERMSEC=16717 | ||
| CONFIG_DEBUG_CUSTOMOPT=y | ||
| CONFIG_DEBUG_OPTLEVEL="-O3" | ||
| CONFIG_ESP32S3_UART0=y | ||
| CONFIG_FS_PROCFS=y | ||
| CONFIG_IDLETHREAD_STACKSIZE=3072 | ||
| CONFIG_INIT_ENTRYPOINT="coremark_main" | ||
| CONFIG_INIT_STACKSIZE=3072 | ||
| CONFIG_INTELHEX_BINARY=y | ||
| CONFIG_PREALLOC_TIMERS=4 | ||
| CONFIG_RAM_SIZE=114688 | ||
| CONFIG_RAM_START=0x20000000 | ||
| CONFIG_RR_INTERVAL=200 | ||
| CONFIG_SCHED_WAITPID=y | ||
| CONFIG_SMP=y | ||
| CONFIG_SMP_NCPUS=2 | ||
| CONFIG_START_DAY=6 | ||
| CONFIG_START_MONTH=12 | ||
| CONFIG_START_YEAR=2011 | ||
| CONFIG_SYSLOG_BUFFER=y | ||
| CONFIG_UART0_SERIAL_CONSOLE=y |
Oops, something went wrong.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
aaargh mea cupla o_O