diff --git a/HISTORY.rst b/HISTORY.rst index 4ee243c1..1b0f9823 100644 --- a/HISTORY.rst +++ b/HISTORY.rst @@ -59,6 +59,10 @@ PlatformIO 3.0 + Fixed issue with uploading to Arduino Zero on programming USB port (`issue #805 `__) +* Development platform `Espressif 32 `__ + + * Initial support for Espressif IDF and Arduino for ESP32 + * Development platform `Espressif 8266 `__ + Added support for ESPrectro board diff --git a/docs/frameworks/arduino.rst b/docs/frameworks/arduino.rst index 3e5b6b62..147e5649 100644 --- a/docs/frameworks/arduino.rst +++ b/docs/frameworks/arduino.rst @@ -33,6 +33,9 @@ Platforms * - :ref:`platform_atmelsam` - Atmel | SMART offers Flash- based ARM products based on the ARM Cortex-M0+, Cortex-M3 and Cortex-M4 architectures, ranging from 8KB to 2MB of Flash including a rich peripheral and feature mix. + * - :ref:`platform_espressif32` + - Espressif Systems is a privately held fabless semiconductor company. They provide wireless communications and Wi-Fi chips which are widely used in mobile devices and the Internet of Things applications. + * - :ref:`platform_espressif8266` - Espressif Systems is a privately held fabless semiconductor company. They provide wireless communications and Wi-Fi chips which are widely used in mobile devices and the Internet of Things applications. @@ -186,6 +189,26 @@ Adafruit - 8 Kb - 0.5 Kb +April Brother +~~~~~~~~~~~~~ + +.. list-table:: + :header-rows: 1 + + * - ID + - Name + - Microcontroller + - Frequency + - Flash + - RAM + + * - ``espea32`` + - `April Brother ESPea32 `_ + - ESP32 + - 160 MHz + - 1024 Kb + - 288 Kb + Arduboy ~~~~~~~ @@ -799,6 +822,26 @@ ESPino - 4096 Kb - 80 Kb +Electronic SweetPeas +~~~~~~~~~~~~~~~~~~~~ + +.. list-table:: + :header-rows: 1 + + * - ID + - Name + - Microcontroller + - Frequency + - Flash + - RAM + + * - ``esp320`` + - `Electronic SweetPeas ESP320 `_ + - ESP32 + - 160 MHz + - 1024 Kb + - 288 Kb + Engduino ~~~~~~~~ @@ -874,6 +917,13 @@ Espressif - 4096 Kb - 80 Kb + * - ``esp32dev`` + - `Espressif ESP32 Dev Module `_ + - ESP32 + - 160 MHz + - 1024 Kb + - 112 Kb + * - ``esp8285`` - `Generic ESP8285 Module `_ - ESP8266 @@ -1147,6 +1197,26 @@ LowPowerLab - 128 Kb - 16 Kb +MakerAsia +~~~~~~~~~ + +.. list-table:: + :header-rows: 1 + + * - ID + - Name + - Microcontroller + - Frequency + - Flash + - RAM + + * - ``nano32`` + - `MakerAsia Nano32 `_ + - ESP32 + - 160 MHz + - 1024 Kb + - 288 Kb + Mcudude ~~~~~~~ @@ -1312,6 +1382,26 @@ NodeMCU - 4096 Kb - 80 Kb +Noduino +~~~~~~~ + +.. list-table:: + :header-rows: 1 + + * - ID + - Name + - Microcontroller + - Frequency + - Flash + - RAM + + * - ``quantum`` + - `Noduino Quantum `_ + - ESP32 + - 160 MHz + - 1024 Kb + - 288 Kb + Olimex ~~~~~~ @@ -2053,6 +2143,26 @@ UBW32 - 512 Kb - 128 Kb +WEMOS +~~~~~ + +.. list-table:: + :header-rows: 1 + + * - ID + - Name + - Microcontroller + - Frequency + - Flash + - RAM + + * - ``lolin32`` + - `WEMOS LoLin32 `_ + - ESP32 + - 160 MHz + - 1024 Kb + - 288 Kb + WeMos ~~~~~ diff --git a/docs/frameworks/espidf.rst b/docs/frameworks/espidf.rst new file mode 100644 index 00000000..b714b586 --- /dev/null +++ b/docs/frameworks/espidf.rst @@ -0,0 +1,159 @@ +.. Copyright 2014-present PlatformIO + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + http://www.apache.org/licenses/LICENSE-2.0 + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + +.. _framework_espidf: + +Framework ``espidf`` +==================== +Espressif IoT Development Framework. Official development framework for ESP32. + +For more detailed information please visit `vendor site `_. + +.. contents:: + +Platforms +--------- +.. list-table:: + :header-rows: 1 + + * - Name + - Description + + * - :ref:`platform_espressif32` + - Espressif Systems is a privately held fabless semiconductor company. They provide wireless communications and Wi-Fi chips which are widely used in mobile devices and the Internet of Things applications. + +Boards +------ + +.. note:: + * You can list pre-configured boards by :ref:`cmd_boards` command or + `PlatformIO Boards Explorer `_ + * For more detailed ``board`` information please scroll tables below by horizontal. + +April Brother +~~~~~~~~~~~~~ + +.. list-table:: + :header-rows: 1 + + * - ID + - Name + - Microcontroller + - Frequency + - Flash + - RAM + + * - ``espea32`` + - `April Brother ESPea32 `_ + - ESP32 + - 160 MHz + - 1024 Kb + - 288 Kb + +Electronic SweetPeas +~~~~~~~~~~~~~~~~~~~~ + +.. list-table:: + :header-rows: 1 + + * - ID + - Name + - Microcontroller + - Frequency + - Flash + - RAM + + * - ``esp320`` + - `Electronic SweetPeas ESP320 `_ + - ESP32 + - 160 MHz + - 1024 Kb + - 288 Kb + +Espressif +~~~~~~~~~ + +.. list-table:: + :header-rows: 1 + + * - ID + - Name + - Microcontroller + - Frequency + - Flash + - RAM + + * - ``esp32dev`` + - `Espressif ESP32 Dev Module `_ + - ESP32 + - 160 MHz + - 1024 Kb + - 112 Kb + +MakerAsia +~~~~~~~~~ + +.. list-table:: + :header-rows: 1 + + * - ID + - Name + - Microcontroller + - Frequency + - Flash + - RAM + + * - ``nano32`` + - `MakerAsia Nano32 `_ + - ESP32 + - 160 MHz + - 1024 Kb + - 288 Kb + +Noduino +~~~~~~~ + +.. list-table:: + :header-rows: 1 + + * - ID + - Name + - Microcontroller + - Frequency + - Flash + - RAM + + * - ``quantum`` + - `Noduino Quantum `_ + - ESP32 + - 160 MHz + - 1024 Kb + - 288 Kb + +WEMOS +~~~~~ + +.. list-table:: + :header-rows: 1 + + * - ID + - Name + - Microcontroller + - Frequency + - Flash + - RAM + + * - ``lolin32`` + - `WEMOS LoLin32 `_ + - ESP32 + - 160 MHz + - 1024 Kb + - 288 Kb diff --git a/docs/frameworks/index.rst b/docs/frameworks/index.rst index dc925667..5b110ad6 100644 --- a/docs/frameworks/index.rst +++ b/docs/frameworks/index.rst @@ -20,6 +20,7 @@ Frameworks arduino cmsis energia + espidf libopencm3 mbed simba diff --git a/docs/platforms/atmelavr.rst b/docs/platforms/atmelavr.rst index c55ed081..2ffd015f 100644 --- a/docs/platforms/atmelavr.rst +++ b/docs/platforms/atmelavr.rst @@ -41,7 +41,7 @@ Packages - `Micronucleus `_ * - ``toolchain-atmelavr`` - - `avr-gcc `_, `GDB `_, `AVaRICE `_, `SimulAVR `_ + - `avr-gcc `_, `GDB `_ .. warning:: **Linux Users**: diff --git a/docs/platforms/creating_platform.rst b/docs/platforms/creating_platform.rst index f2aa2cc6..9119f979 100644 --- a/docs/platforms/creating_platform.rst +++ b/docs/platforms/creating_platform.rst @@ -56,6 +56,9 @@ Packages * - ``framework-arduinoavr`` - `Arduino Wiring-based Framework (AVR Core, 1.6) `_ + * - ``framework-arduinoespressif32`` + - `Arduino Wiring-based Framework (ESP32 Core) `_ + * - ``framework-arduinoespressif8266`` - `Arduino Wiring-based Framework (ESP8266 Core) `_ @@ -89,6 +92,9 @@ Packages * - ``framework-energiativa`` - `Energia Wiring-based Framework (LM4F Core) `_ + * - ``framework-espidf`` + - `Espressif IoT Development Framework `_ + * - ``framework-libopencm3`` - `libOpenCM3 Framework `_ @@ -119,9 +125,15 @@ Packages * - ``tool-bossac`` - `BOSSA CLI `_ + * - ``tool-espotapy`` + - `ESP8266 OTA utility `_ + * - ``tool-esptool`` - `esptool-ck `_ + * - ``tool-esptoolpy`` + - `Espressif ROM Bootloader utility `_ + * - ``tool-lm4flash`` - `Flash Programmer `_ @@ -159,7 +171,7 @@ Packages - `Teensy Loader `_ * - ``toolchain-atmelavr`` - - `avr-gcc `_, `GDB `_, `AVaRICE `_, `SimulAVR `_ + - `avr-gcc `_, `GDB `_ * - ``toolchain-gccarmlinuxgnueabi`` - `GCC for Linux ARM GNU EABI `_, `GDB `_ @@ -194,6 +206,9 @@ Packages * - ``toolchain-xtensa`` - `xtensa-gcc `_, `GDB `_ + * - ``toolchain-xtensa32`` + - `xtensa32-gcc `_, `GDB `_ + .. _platform_creating_manifest_file: Manifest File ``platform.json`` @@ -367,3 +382,5 @@ Examples Please take a look at the source code of `PlatformIO Development Platforms `_. +code of +`PlatformIO Development Platforms `_. diff --git a/docs/platforms/embedded_boards.rst b/docs/platforms/embedded_boards.rst index 57987b6d..ddd0434d 100644 --- a/docs/platforms/embedded_boards.rst +++ b/docs/platforms/embedded_boards.rst @@ -169,6 +169,26 @@ Adafruit - 8 Kb - 0.5 Kb +April Brother +~~~~~~~~~~~~~ + +.. list-table:: + :header-rows: 1 + + * - ID + - Name + - Microcontroller + - Frequency + - Flash + - RAM + + * - ``espea32`` + - `April Brother ESPea32 `_ + - ESP32 + - 160 MHz + - 1024 Kb + - 288 Kb + Arduboy ~~~~~~~ @@ -917,6 +937,26 @@ ESPino - 4096 Kb - 80 Kb +Electronic SweetPeas +~~~~~~~~~~~~~~~~~~~~ + +.. list-table:: + :header-rows: 1 + + * - ID + - Name + - Microcontroller + - Frequency + - Flash + - RAM + + * - ``esp320`` + - `Electronic SweetPeas ESP320 `_ + - ESP32 + - 160 MHz + - 1024 Kb + - 288 Kb + Elektor Labs ~~~~~~~~~~~~ @@ -1046,6 +1086,13 @@ Espressif - 4096 Kb - 80 Kb + * - ``esp32dev`` + - `Espressif ESP32 Dev Module `_ + - ESP32 + - 160 MHz + - 1024 Kb + - 112 Kb + * - ``esp8285`` - `Generic ESP8285 Module `_ - ESP8266 @@ -1482,6 +1529,26 @@ LowPowerLab - 128 Kb - 16 Kb +MakerAsia +~~~~~~~~~ + +.. list-table:: + :header-rows: 1 + + * - ID + - Name + - Microcontroller + - Frequency + - Flash + - RAM + + * - ``nano32`` + - `MakerAsia Nano32 `_ + - ESP32 + - 160 MHz + - 1024 Kb + - 288 Kb + Mcudude ~~~~~~~ @@ -1838,6 +1905,26 @@ NodeMCU - 4096 Kb - 80 Kb +Noduino +~~~~~~~ + +.. list-table:: + :header-rows: 1 + + * - ID + - Name + - Microcontroller + - Frequency + - Flash + - RAM + + * - ``quantum`` + - `Noduino Quantum `_ + - ESP32 + - 160 MHz + - 1024 Kb + - 288 Kb + Nordic ~~~~~~ @@ -3263,6 +3350,26 @@ UBW32 - 512 Kb - 128 Kb +WEMOS +~~~~~ + +.. list-table:: + :header-rows: 1 + + * - ID + - Name + - Microcontroller + - Frequency + - Flash + - RAM + + * - ``lolin32`` + - `WEMOS LoLin32 `_ + - ESP32 + - 160 MHz + - 1024 Kb + - 288 Kb + WeMos ~~~~~ diff --git a/docs/platforms/espressif32.rst b/docs/platforms/espressif32.rst new file mode 100644 index 00000000..465fe707 --- /dev/null +++ b/docs/platforms/espressif32.rst @@ -0,0 +1,201 @@ +.. Copyright 2014-present PlatformIO + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + http://www.apache.org/licenses/LICENSE-2.0 + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + +.. _platform_espressif32: + +Platform ``espressif32`` +======================== +Espressif Systems is a privately held fabless semiconductor company. They provide wireless communications and Wi-Fi chips which are widely used in mobile devices and the Internet of Things applications. + +For more detailed information please visit `vendor site `_. + +.. contents:: + +Packages +-------- + +.. list-table:: + :header-rows: 1 + + * - Name + - Contents + + * - ``framework-arduinoespressif32`` + - `Arduino Wiring-based Framework (ESP32 Core) `_ + + * - ``framework-espidf`` + - `Espressif IoT Development Framework `_ + + * - ``tool-esptoolpy`` + - `Espressif ROM Bootloader utility `_ + + * - ``toolchain-xtensa32`` + - `xtensa32-gcc `_, `GDB `_ + +.. warning:: + **Linux Users**: + + * Ubuntu/Debian users may need to add own "username" to the "dialout" + group if they are not "root", doing this issuing a + ``sudo usermod -a -G dialout yourusername``. + * Install "udev" rules file `99-platformio-udev.rules `_ + (an instruction is located in the file). + * Raspberry Pi users, please read this article + `Enable serial port on Raspberry Pi `__. + + + **Windows Users:** Please check that you have correctly installed USB + driver from board manufacturer + + + +Frameworks +---------- +.. list-table:: + :header-rows: 1 + + * - Name + - Description + + * - :ref:`framework_arduino` + - Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences. + + * - :ref:`framework_espidf` + - Espressif IoT Development Framework. Official development framework for ESP32. + +Boards +------ + +.. note:: + * You can list pre-configured boards by :ref:`cmd_boards` command or + `PlatformIO Boards Explorer `_ + * For more detailed ``board`` information please scroll tables below by + horizontal. + +April Brother +~~~~~~~~~~~~~ + +.. list-table:: + :header-rows: 1 + + * - ID + - Name + - Microcontroller + - Frequency + - Flash + - RAM + + * - ``espea32`` + - `April Brother ESPea32 `_ + - ESP32 + - 160 MHz + - 1024 Kb + - 288 Kb + +Electronic SweetPeas +~~~~~~~~~~~~~~~~~~~~ + +.. list-table:: + :header-rows: 1 + + * - ID + - Name + - Microcontroller + - Frequency + - Flash + - RAM + + * - ``esp320`` + - `Electronic SweetPeas ESP320 `_ + - ESP32 + - 160 MHz + - 1024 Kb + - 288 Kb + +Espressif +~~~~~~~~~ + +.. list-table:: + :header-rows: 1 + + * - ID + - Name + - Microcontroller + - Frequency + - Flash + - RAM + + * - ``esp32dev`` + - `Espressif ESP32 Dev Module `_ + - ESP32 + - 160 MHz + - 1024 Kb + - 112 Kb + +MakerAsia +~~~~~~~~~ + +.. list-table:: + :header-rows: 1 + + * - ID + - Name + - Microcontroller + - Frequency + - Flash + - RAM + + * - ``nano32`` + - `MakerAsia Nano32 `_ + - ESP32 + - 160 MHz + - 1024 Kb + - 288 Kb + +Noduino +~~~~~~~ + +.. list-table:: + :header-rows: 1 + + * - ID + - Name + - Microcontroller + - Frequency + - Flash + - RAM + + * - ``quantum`` + - `Noduino Quantum `_ + - ESP32 + - 160 MHz + - 1024 Kb + - 288 Kb + +WEMOS +~~~~~ + +.. list-table:: + :header-rows: 1 + + * - ID + - Name + - Microcontroller + - Frequency + - Flash + - RAM + + * - ``lolin32`` + - `WEMOS LoLin32 `_ + - ESP32 + - 160 MHz + - 1024 Kb + - 288 Kb diff --git a/docs/platforms/index.rst b/docs/platforms/index.rst index 99261396..904f923d 100644 --- a/docs/platforms/index.rst +++ b/docs/platforms/index.rst @@ -30,6 +30,7 @@ Embedded atmelavr atmelsam + espressif32 espressif8266 freescalekinetis intel_arc32 diff --git a/docs/platforms/teensy.rst b/docs/platforms/teensy.rst index 41882380..e21ec61e 100644 --- a/docs/platforms/teensy.rst +++ b/docs/platforms/teensy.rst @@ -38,7 +38,7 @@ Packages - `Teensy Loader `_ * - ``toolchain-atmelavr`` - - `avr-gcc `_, `GDB `_, `AVaRICE `_, `SimulAVR `_ + - `avr-gcc `_, `GDB `_ * - ``toolchain-gccarmnoneeabi`` - `gcc-arm-embedded `_, `GDB `_