From d0d292b80f8c786a7b5e0f181eb9b8e63e76641b Mon Sep 17 00:00:00 2001 From: Ivan Kravets Date: Thu, 11 Feb 2016 00:16:43 +0200 Subject: [PATCH] Add support for the new ESP8266-based boards (ESPDuino, ESP-WROOM-02, ESPresso Lite 1.0 & 2.0, SparkFun ESP8266 Thing Dev, ThaiEasyElec ESPino) to Espressif development platform --- HISTORY.rst | 4 + docs/frameworks/arduino.rst | 81 +++++++++++++- docs/frameworks/mbed.rst | 9 +- docs/platforms/atmelsam.rst | 16 ++- docs/platforms/espressif.rst | 81 +++++++++++++- docs/platforms/nxplpc.rst | 6 +- platformio/boards/espressif.json | 181 ++++++++++++++++++++++++++++++- 7 files changed, 358 insertions(+), 20 deletions(-) diff --git a/HISTORY.rst b/HISTORY.rst index 0a355928..90e25264 100644 --- a/HISTORY.rst +++ b/HISTORY.rst @@ -7,6 +7,10 @@ PlatformIO 2.0 2.8.4 (2016-02-??) ~~~~~~~~~~~~~~~~~~ +* Added support for the new ESP8266-based boards (ESPDuino, ESP-WROOM-02, + ESPresso Lite 1.0 & 2.0, SparkFun ESP8266 Thing Dev, ThaiEasyElec ESPino) to + `Espressif `__ + development platform * Added ``board_f_flash`` option to `Project Configuration File platformio.ini `__ which allows to specify `custom flash chip frequency `_ for Espressif development platform diff --git a/docs/frameworks/arduino.rst b/docs/frameworks/arduino.rst index 5645ddd1..2ffb72e4 100644 --- a/docs/frameworks/arduino.rst +++ b/docs/frameworks/arduino.rst @@ -482,6 +482,26 @@ Digistump - 512 Kb - 28 Kb +Doit +~~~~ + +.. list-table:: + :header-rows: 1 + + * - Type ``board`` + - Name + - Microcontroller + - Frequency + - Flash + - RAM + + * - ``espduino`` + - `ESPDuino (ESP-13 Module) `_ + - ESP8266 + - 80 MHz + - 4096 Kb + - 80 Kb + ESPino ~~~~~~ @@ -570,6 +590,27 @@ Espressif - 4096 Kb - 80 Kb + * - ``esp_wroom_02`` + - `ESP-WROOM-02 `_ + - ESP8266 + - 80 MHz + - 4096 Kb + - 50 Kb + + * - ``espresso_lite_v1`` + - `ESPresso Lite 1.0 `_ + - ESP8266 + - 80 MHz + - 4096 Kb + - 80 Kb + + * - ``espresso_lite_v2`` + - `ESPresso Lite 2.0 `_ + - ESP8266 + - 80 MHz + - 4096 Kb + - 80 Kb + LightUp ~~~~~~~ @@ -707,7 +748,14 @@ NodeMCU - RAM * - ``nodemcu`` - - `NodeMCU 0.9 / 1.0 `_ + - `NodeMCU 0.9 (ESP-12 Module) `_ + - ESP8266 + - 80 MHz + - 4096 Kb + - 80 Kb + + * - ``nodemcuv2`` + - `NodeMCU 1.0 (ESP-12E Module) `_ - ESP8266 - 80 MHz - 4096 Kb @@ -1025,6 +1073,13 @@ SparkFun - 512 Kb - 80 Kb + * - ``thingdev`` + - `SparkFun ESP8266 Thing Dev `_ + - ESP8266 + - 80 MHz + - 512 Kb + - 80 Kb + * - ``uview`` - `SparkFun MicroView `_ - ATMEGA328P @@ -1100,6 +1155,26 @@ Teensy - 64 Kb - 8 Kb +ThaiEasyElec +~~~~~~~~~~~~ + +.. list-table:: + :header-rows: 1 + + * - Type ``board`` + - Name + - Microcontroller + - Frequency + - Flash + - RAM + + * - ``espinotee`` + - `ThaiEasyElec ESPino `_ + - ESP8266 + - 80 MHz + - 4096 Kb + - 80 Kb + TinyCircuits ~~~~~~~~~~~~ @@ -1141,14 +1216,14 @@ WeMos - RAM * - ``d1`` - - `WeMos D1 `_ + - `WeMos D1(Retired) `_ - ESP8266 - 80 MHz - 4096 Kb - 80 Kb * - ``d1_mini`` - - `WeMos D1 mini `_ + - `WeMos D1 R2 & mini `_ - ESP8266 - 80 MHz - 4096 Kb diff --git a/docs/frameworks/mbed.rst b/docs/frameworks/mbed.rst index 0419ad82..fc69243f 100644 --- a/docs/frameworks/mbed.rst +++ b/docs/frameworks/mbed.rst @@ -27,6 +27,9 @@ Platforms * - Name - Description + * - :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_freescalekinetis` - Freescale Kinetis Microcontrollers is family of multiple hardware- and software-compatible ARM Cortex-M0+, Cortex-M4 and Cortex-M7-based MCU series. Kinetis MCUs offer exceptional low-power performance, scalability and feature integration. @@ -295,7 +298,7 @@ NXP - LPC1768 - 96 MHz - 512 Kb - - 32 Kb + - 64 Kb Nordic ~~~~~~ @@ -605,7 +608,7 @@ SeeedStudio - LPC1768 - 96 MHz - 512 Kb - - 32 Kb + - 64 Kb Silicon Labs ~~~~~~~~~~~~ @@ -740,6 +743,6 @@ u-blox - LPC1768 - 96 MHz - 512 Kb - - 32 Kb + - 64 Kb .. include:: mbed_extra.rst diff --git a/docs/platforms/atmelsam.rst b/docs/platforms/atmelsam.rst index 053f2b67..3f1ce190 100644 --- a/docs/platforms/atmelsam.rst +++ b/docs/platforms/atmelsam.rst @@ -28,17 +28,20 @@ Packages * - Name - Contents + * - ``toolchain-gccarmnoneeabi`` + - `gcc-arm-embedded `_, `GDB `_ + * - ``framework-arduinosam`` - `Arduino Wiring-based Framework (SAM Core, 1.6) `_ - * - ``ldscripts`` - - `Linker Scripts `_ - * - ``tool-openocd`` - `OpenOCD `_ - * - ``toolchain-gccarmnoneeabi`` - - `gcc-arm-embedded `_, `GDB `_ + * - ``framework-mbed`` + - `mbed Framework `_ + + * - ``ldscripts`` + - `Linker Scripts `_ * - ``tool-bossac`` - `BOSSA CLI `_ @@ -63,6 +66,9 @@ Frameworks * - :ref:`framework_arduino` - Arduino 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_mbed` + - The mbed framework The mbed SDK has been designed to provide enough hardware abstraction to be intuitive and concise, yet powerful enough to build complex projects. It is built on the low-level ARM CMSIS APIs, allowing you to code down to the metal if needed. In addition to RTOS, USB and Networking libraries, a cookbook of hundreds of reusable peripheral and module libraries have been built on top of the SDK by the mbed Developer Community. + Boards ------ diff --git a/docs/platforms/espressif.rst b/docs/platforms/espressif.rst index 200263f0..34d8662c 100644 --- a/docs/platforms/espressif.rst +++ b/docs/platforms/espressif.rst @@ -95,6 +95,26 @@ Adafruit - 4096 Kb - 80 Kb +Doit +~~~~ + +.. list-table:: + :header-rows: 1 + + * - Type ``board`` + - Name + - Microcontroller + - Frequency + - Flash + - RAM + + * - ``espduino`` + - `ESPDuino (ESP-13 Module) `_ + - ESP8266 + - 80 MHz + - 4096 Kb + - 80 Kb + ESPino ~~~~~~ @@ -149,6 +169,27 @@ Espressif - 4096 Kb - 80 Kb + * - ``esp_wroom_02`` + - `ESP-WROOM-02 `_ + - ESP8266 + - 80 MHz + - 4096 Kb + - 50 Kb + + * - ``espresso_lite_v1`` + - `ESPresso Lite 1.0 `_ + - ESP8266 + - 80 MHz + - 4096 Kb + - 80 Kb + + * - ``espresso_lite_v2`` + - `ESPresso Lite 2.0 `_ + - ESP8266 + - 80 MHz + - 4096 Kb + - 80 Kb + NodeMCU ~~~~~~~ @@ -163,7 +204,14 @@ NodeMCU - RAM * - ``nodemcu`` - - `NodeMCU 0.9 / 1.0 `_ + - `NodeMCU 0.9 (ESP-12 Module) `_ + - ESP8266 + - 80 MHz + - 4096 Kb + - 80 Kb + + * - ``nodemcuv2`` + - `NodeMCU 1.0 (ESP-12E Module) `_ - ESP8266 - 80 MHz - 4096 Kb @@ -209,6 +257,13 @@ SparkFun - 512 Kb - 80 Kb + * - ``thingdev`` + - `SparkFun ESP8266 Thing Dev `_ + - ESP8266 + - 80 MHz + - 512 Kb + - 80 Kb + SweetPea ~~~~~~~~ @@ -229,6 +284,26 @@ SweetPea - 4096 Kb - 80 Kb +ThaiEasyElec +~~~~~~~~~~~~ + +.. list-table:: + :header-rows: 1 + + * - Type ``board`` + - Name + - Microcontroller + - Frequency + - Flash + - RAM + + * - ``espinotee`` + - `ThaiEasyElec ESPino `_ + - ESP8266 + - 80 MHz + - 4096 Kb + - 80 Kb + WeMos ~~~~~ @@ -243,14 +318,14 @@ WeMos - RAM * - ``d1`` - - `WeMos D1 `_ + - `WeMos D1(Retired) `_ - ESP8266 - 80 MHz - 4096 Kb - 80 Kb * - ``d1_mini`` - - `WeMos D1 mini `_ + - `WeMos D1 R2 & mini `_ - ESP8266 - 80 MHz - 4096 Kb diff --git a/docs/platforms/nxplpc.rst b/docs/platforms/nxplpc.rst index c06c0934..9eeeb669 100644 --- a/docs/platforms/nxplpc.rst +++ b/docs/platforms/nxplpc.rst @@ -169,7 +169,7 @@ NXP - LPC1768 - 96 MHz - 512 Kb - - 32 Kb + - 64 Kb Outrageous Circuits ~~~~~~~~~~~~~~~~~~~ @@ -209,7 +209,7 @@ SeeedStudio - LPC1768 - 96 MHz - 512 Kb - - 32 Kb + - 64 Kb Solder Splash Labs ~~~~~~~~~~~~~~~~~~ @@ -269,4 +269,4 @@ u-blox - LPC1768 - 96 MHz - 512 Kb - - 32 Kb + - 64 Kb diff --git a/platformio/boards/espressif.json b/platformio/boards/espressif.json index d922a3ec..b3c9728e 100644 --- a/platformio/boards/espressif.json +++ b/platformio/boards/espressif.json @@ -74,7 +74,57 @@ "vendor": "Espressif" }, + "espduino": { + "build": { + "core": "esp8266", + "extra_flags": "-DESP8266 -DARDUINO_ARCH_ESP8266 -DARDUINO_ESP8266_ESP13", + "f_cpu": "80000000L", + "f_flash": "40000000L", + "flash_mode": "dio", + "ldscript": "esp8266.flash.4m1m.ld", + "mcu": "esp8266", + "variant": "ESPDuino" + }, + "frameworks": ["arduino"], + "name": "ESPDuino (ESP-13 Module)", + "platform": "espressif", + "upload": { + "maximum_ram_size": 81920, + "maximum_size": 4194304, + "resetmethod": "nodemcu", + "require_upload_port" : true, + "speed": 115200 + }, + "url": "https://www.tindie.com/products/doit/espduinowifi-uno-r3/", + "vendor": "Doit" + }, + "nodemcu": { + "build": { + "core": "esp8266", + "extra_flags": "-DESP8266 -DARDUINO_ARCH_ESP8266 -DARDUINO_ESP8266_ESP12", + "f_cpu": "80000000L", + "f_flash": "40000000L", + "flash_mode": "qio", + "ldscript": "esp8266.flash.4m1m.ld", + "mcu": "esp8266", + "variant": "nodemcu" + }, + "frameworks": ["arduino"], + "name": "NodeMCU 0.9 (ESP-12 Module)", + "platform": "espressif", + "upload": { + "maximum_ram_size": 81920, + "maximum_size": 4194304, + "resetmethod": "nodemcu", + "require_upload_port" : true, + "speed": 115200 + }, + "url": "http://www.nodemcu.com/", + "vendor": "NodeMCU" + }, + + "nodemcuv2": { "build": { "core": "esp8266", "extra_flags": "-DESP8266 -DARDUINO_ARCH_ESP8266 -DARDUINO_ESP8266_ESP12", @@ -86,7 +136,7 @@ "variant": "nodemcu" }, "frameworks": ["arduino"], - "name": "NodeMCU 0.9 / 1.0", + "name": "NodeMCU 1.0 (ESP-12E Module)", "platform": "espressif", "upload": { "maximum_ram_size": 81920, @@ -124,6 +174,56 @@ "vendor": "Adafruit" }, + "espresso_lite_v1": { + "build": { + "core": "esp8266", + "extra_flags": "-DESP8266 -DARDUINO_ARCH_ESP8266 -DARDUINO_ESP8266_ESPRESSO_LITE_V1", + "f_cpu": "80000000L", + "f_flash": "40000000L", + "flash_mode": "dio", + "ldscript": "esp8266.flash.4m1m.ld", + "mcu": "esp8266", + "variant": "espresso_lite_v1" + }, + "frameworks": ["arduino"], + "name": "ESPresso Lite 1.0", + "platform": "espressif", + "upload": { + "maximum_ram_size": 81920, + "maximum_size": 4194304, + "resetmethod": "nodemcu", + "require_upload_port" : true, + "speed": 115200 + }, + "url": "http://www.esp8266.com/wiki/doku.php?id=esp8266-module-family", + "vendor": "Espressif" + }, + + "espresso_lite_v2": { + "build": { + "core": "esp8266", + "extra_flags": "-DESP8266 -DARDUINO_ARCH_ESP8266 -DARDUINO_ESP8266_ESPRESSO_LITE_V2", + "f_cpu": "80000000L", + "f_flash": "40000000L", + "flash_mode": "dio", + "ldscript": "esp8266.flash.4m1m.ld", + "mcu": "esp8266", + "variant": "espresso_lite_v2" + }, + "frameworks": ["arduino"], + "name": "ESPresso Lite 2.0", + "platform": "espressif", + "upload": { + "maximum_ram_size": 81920, + "maximum_size": 4194304, + "resetmethod": "nodemcu", + "require_upload_port" : true, + "speed": 115200 + }, + "url": "http://www.esp8266.com/wiki/doku.php?id=esp8266-module-family", + "vendor": "Espressif" + }, + "modwifi": { "build": { "core": "esp8266", @@ -163,6 +263,31 @@ "frameworks": ["arduino"], "name": "SparkFun ESP8266 Thing", "platform": "espressif", + "upload": { + "maximum_ram_size": 81920, + "maximum_size": 524288, + "resetmethod": "ck", + "require_upload_port" : true, + "speed": 921600 + }, + "url": "https://www.sparkfun.com/products/13231", + "vendor": "SparkFun" + }, + + "thingdev": { + "build": { + "core": "esp8266", + "extra_flags": "-DESP8266 -DARDUINO_ARCH_ESP8266 -DARDUINO_ESP8266_THING", + "f_cpu": "80000000L", + "f_flash": "40000000L", + "flash_mode": "dio", + "ldscript": "esp8266.flash.512k64.ld", + "mcu": "esp8266", + "variant": "thing" + }, + "frameworks": ["arduino"], + "name": "SparkFun ESP8266 Thing Dev", + "platform": "espressif", "upload": { "maximum_ram_size": 81920, "maximum_size": 524288, @@ -211,7 +336,7 @@ "variant": "d1" }, "frameworks": ["arduino"], - "name": "WeMos D1", + "name": "WeMos D1(Retired)", "platform": "espressif", "upload": { "maximum_ram_size": 81920, @@ -236,7 +361,7 @@ "variant": "d1_mini" }, "frameworks": ["arduino"], - "name": "WeMos D1 mini", + "name": "WeMos D1 R2 & mini", "platform": "espressif", "upload": { "maximum_ram_size": 81920, @@ -272,5 +397,55 @@ }, "url": "http://www.espino.io", "vendor": "ESPino" + }, + + "espinotee": { + "build": { + "core": "esp8266", + "extra_flags": "-DESP8266 -DARDUINO_ARCH_ESP8266 -DARDUINO_ESP8266_ESP13", + "f_cpu": "80000000L", + "f_flash": "40000000L", + "flash_mode": "qio", + "ldscript": "esp8266.flash.4m1m.ld", + "mcu": "esp8266", + "variant": "espinotee" + }, + "frameworks": ["arduino"], + "name": "ThaiEasyElec ESPino", + "platform": "espressif", + "upload": { + "maximum_ram_size": 81920, + "maximum_size": 4194304, + "resetmethod": "ck", + "require_upload_port" : true, + "speed": 115200 + }, + "url": "http://www.thaieasyelec.com/products/wireless-modules/wifi-modules/espino-wifi-development-board-detail.html", + "vendor": "ThaiEasyElec" + }, + + "esp_wroom_02": { + "build": { + "core": "esp8266", + "extra_flags": "-DESP8266 -DARDUINO_ARCH_ESP8266 -DARDUINO_ESP8266_ESP_WROOM_02", + "f_cpu": "80000000L", + "f_flash": "40000000L", + "flash_mode": "qio", + "ldscript": "esp8266.flash.4m1m.ld", + "mcu": "esp8266", + "variant": "nodemcu" + }, + "frameworks": ["arduino"], + "name": "ESP-WROOM-02", + "platform": "espressif", + "upload": { + "maximum_ram_size": 51200, + "maximum_size": 4194304, + "resetmethod": "nodemcu", + "require_upload_port" : true, + "speed": 115200 + }, + "url": "http://www.esp8266.com/wiki/doku.php?id=esp8266-module-family", + "vendor": "Espressif" } }