diff --git a/Documentation/platforms/xtensa/esp32/boards/esp32-devkitc/esp32-core-board-v2.jpg b/Documentation/platforms/xtensa/esp32/boards/esp32-devkitc/esp32-core-board-v2.jpg new file mode 100644 index 0000000000..7548f35a41 Binary files /dev/null and b/Documentation/platforms/xtensa/esp32/boards/esp32-devkitc/esp32-core-board-v2.jpg differ diff --git a/Documentation/platforms/xtensa/esp32/boards/esp32-devkitc/esp32-devkitc-v4-front.jpg b/Documentation/platforms/xtensa/esp32/boards/esp32-devkitc/esp32-devkitc-v4-front.jpg new file mode 100644 index 0000000000..04fb7391d6 Binary files /dev/null and b/Documentation/platforms/xtensa/esp32/boards/esp32-devkitc/esp32-devkitc-v4-front.jpg differ diff --git a/Documentation/platforms/xtensa/esp32/boards/esp32-devkitc/index.rst b/Documentation/platforms/xtensa/esp32/boards/esp32-devkitc/index.rst new file mode 100644 index 0000000000..2038f1e0b9 --- /dev/null +++ b/Documentation/platforms/xtensa/esp32/boards/esp32-devkitc/index.rst @@ -0,0 +1,52 @@ +============= +ESP32 DevKitC +============= + +The `ESP32 DevKitC `_ is a development board for the ESP32 SoC from Espressif, based on a ESP-WROOM-32 module. You can find the original V2 version and the newer V4 variant. They are +pin compatible. + +.. list-table:: + :align: center + + * - .. figure:: esp32-core-board-v2.jpg + :align: center + + ESP32 DevKitC/Core V2 + + - .. figure:: esp32-devkitc-v4-front.jpg + :align: center + + ESP32 DevKitC V4 + +Features +======== + + - ESP32 WROOM Module + - USB-to-UART bridge via micro USB port + - Power LED + - EN and BOOT buttons (BOOT accessible to user) + - SPI FLASH (size varies according to model + +Pin Mapping +=========== + +.. todo:: To be updated + +===== ========== ========== +Pin Signal Notes +===== ========== ========== +? ? ? +===== ========== ========== + +Configurations +============== + +nsh +--- + +Basic NuttShell configuration (console enabled in UART0, exposed via USB connection, at 115200 bps). + +wapi +---- + +Enables WiFi support diff --git a/Documentation/platforms/xtensa/esp32/index.rst b/Documentation/platforms/xtensa/esp32/index.rst index c6ccd60718..71d78d0e37 100644 --- a/Documentation/platforms/xtensa/esp32/index.rst +++ b/Documentation/platforms/xtensa/esp32/index.rst @@ -2,13 +2,77 @@ Espressif ESP32 =============== +ESP32 series of SoCs from Espressif are single and dual-core chips based on +Xtensa architecture, with support for Bluetooth and WiFi. + Toolchain ========= -OpenOCD -------- +You can use the prebuilt `compiler `__ for Xtensa architecture and `OpenOCD `__ for ESP32 by Espressif. For flashing firmware, you will need to install ``esptool.py`` by running:: + + pip install esptool + + +Flashing +======== + +Firmware for ESP32 is flashed via the USB/UART interface using the ``esptool.py`` tool. To flash your NuttX firmware simply run:: + + make download ESPTOOL_PORT= + +where ```` is typically ``/dev/ttyUSB0`` or similar. You can change the baudrate by passing ``ESPTOOL_BAUD``. + +Bootloader and partitions +------------------------- + +ESP32 requires a bootloader to be flashed as well as a set of FLASH partitions. This is only needed the first time +(or any time you which to modify either of these). An easy way is to use prebuilt binaries for NuttX from `here `_. In there you will find instructions to rebuild these if necessary. +Once you downloaded both binaries, you can flash them by adding an ``ESPTOOL_BINDIR`` parameter, pointing to the directiry where these binaries were downloaded:: + + make download ESPTOOL_PORT= ESPTOOL_BINDIR= + +.. note:: It is recommended that if this is the first time you are using the board with NuttX that you perform a complete + SPI FLASH erase:: + + esptool.py erase_flash Peripheral Support ================== +.. todo:: To be updated +========== ======= ===== +Peripheral Support NOTES +========== ======= ===== +? ? ? +========== ======= ===== + +WiFi +==== + +A standard network interface will be configured and can be initialized such as:: + + ifup wlan0 + wapi psk wlan0 mypasswd 1 + wapi essid wlan0 myssid 1 + 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. + +.. tip:: Boards usually expose a ``wapi`` defconfig which enables WiFi + +Bluetooth +========= + +Bluetooth is not currently supported. + +Supported Boards +================ + +.. toctree:: + :glob: + :maxdepth: 1 + + boards/*/* diff --git a/NOTICE b/NOTICE index 1e0440be5e..56d89a1e54 100644 --- a/NOTICE +++ b/NOTICE @@ -65,3 +65,5 @@ Documentation - nRF52832-MDK board pinout image is obtained from MakerDiary GitHub repository, under the terms of the MIT license, Copyright (c) 2019 makerdiary.com - Sparkfun nRF52832 breakout board image is licensed under CC-BY 2.0 terms +- Espressif ESP32 DevKitC images are licensed under the terms of Apache 2.0, + Copyright (C) 2015-2019 Espressif Systems