diff --git a/docs/platforms/atmelavr.rst b/docs/platforms/atmelavr.rst
index 023d2d2c..162fc45e 100644
--- a/docs/platforms/atmelavr.rst
+++ b/docs/platforms/atmelavr.rst
@@ -29,6 +29,9 @@ Packages
* - ``tool-avrdude``
- uploader
- `AVRDUDE `_
+ * - ``tool-micronucleus``
+ - uploader
+ - `Micronucleus `_
* - ``framework-arduinoavr``
-
- See below in :ref:`atmelavr_frameworks`
@@ -281,6 +284,106 @@ More detailed information you can find here
`Arduino boards `_.
+Adafruit
+~~~~~~~~
+
+.. list-table::
+ :header-rows: 1
+
+ * - Type ``board``
+ - Name
+ - Microcontroller ``board_mcu``
+ - Frequency ``board_f_cpu``
+ - Flash
+ - RAM
+ * - ``flora8``
+ - `Adafruit Flora
+ `_
+ - ATmega32 ``atmega32u4``
+ - 8 MHz ``8000000L``
+ - 32 Kb
+ - 2.5 Kb
+ * - ``trinket3``
+ - `Adafruit Trinket 8MHz 3.3V LOGIC
+ `_
+ - ATtiny85 ``attiny85``
+ - 8 MHz ``16000000L``
+ - 8 Kb
+ - 0.5 Kb
+ * - ``trinket5``
+ - `Adafruit Trinket 16MHz 5V LOGIC
+ `_
+ - ATtiny85 ``ATtiny85``
+ - 16 MHz ``16000000L``
+ - 8 Kb
+ - 0.5 Kb
+ * - ``protrinket3``
+ - `Pro Trinket 3V/12MHz (USB)
+ `_
+ - ATmega328 ``atmega328p``
+ - 12 MHz ``12000000L``
+ - 32 Kb
+ - 2 Kb
+ * - ``protrinket3ftdi``
+ - `Pro Trinket 3V/12MHz (FTDI)
+ `_
+ - ATmega328 ``atmega328p``
+ - 12 MHz ``12000000L``
+ - 32 Kb
+ - 2 Kb
+ * - ``protrinket5``
+ - `Pro Trinket 5V/16MHz (USB)
+ `_
+ - ATmega328 ``atmega328p``
+ - 16 MHz ``16000000L``
+ - 32 Kb
+ - 2 Kb
+ * - ``protrinket5ftdi``
+ - `Pro Trinket 5V/16MHz (FTDI)
+ `_
+ - ATmega328 ``atmega328p``
+ - 16 MHz ``16000000L``
+ - 32 Kb
+ - 2 Kb
+
+More detailed information you can find here
+`Adafruits boards `_.
+
+
+Digispark
+~~~~~~~~~
+
+.. list-table::
+ :header-rows: 1
+
+ * - Type ``board``
+ - Name
+ - Microcontroller ``board_mcu``
+ - Frequency ``board_f_cpu``
+ - Flash
+ - RAM
+ * - ``digispark-tiny``
+ - `Digispark USB Development Board `_
+ - ATtiny85 ``attiny85``
+ - 16 MHz ``16000000L``
+ - 8 Kb
+ - 0.5 Kb
+ * - ``digispark-pro``
+ - `Digispark Pro (Default 16 Mhz) `_
+ - ATtiny167 ``attiny167``
+ - 16 MHz ``16000000L``
+ - 16 Kb
+ - 0.5 Kb
+ * - ``digispark-pro32``
+ - `Digispark Pro (16 Mhz) (32 byte buffer) `_
+ - ATtiny167 ``attiny167``
+ - 16 Mhz ``16000000L``
+ - 16 kb
+ - 0.5 Kb
+
+More detailed information you can find here
+`Digistump Development Boards `_.
+
Engduino
~~~~~~~~
diff --git a/docs/platforms/atmelsam.rst b/docs/platforms/atmelsam.rst
new file mode 100644
index 00000000..90ccb97d
--- /dev/null
+++ b/docs/platforms/atmelsam.rst
@@ -0,0 +1,86 @@
+.. _platform_atmelsam:
+
+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.
+
+.. contents::
+
+Packages
+--------
+
+.. list-table::
+ :header-rows: 1
+
+ * - Name
+ - Alias
+ - Contents
+ * - ``toolchain-gccarmnoneeabi``
+ - toolchain
+ - `gcc-arm-embedded `_,
+ `GDB `_
+ * - ``tool-bossac``
+ - uploader
+ - `Bossac `_
+ * - ``framework-arduino``
+ -
+ - See below in :ref:`atmelsam_frameworks`
+
+
+.. note::
+ You can install ``atmelsam`` platform with these packages
+ via :ref:`cmd_install` command.
+
+
+.. _atmelsam_frameworks:
+
+Frameworks
+----------
+
+.. list-table::
+ :header-rows: 1
+
+ * - Type ``framework``
+ - Name
+ - Reference
+ * - ``arduino``
+ - Arduino Wiring-based Framework
+ - `Documentation `_
+
+
+Boards
+------
+
+.. note::
+ * You can list pre-configured boards by :ref:`cmd_boards` command
+ * For more detailed ``board`` information please scroll tables below by
+ horizontal.
+
+.. list-table::
+ :header-rows: 1
+
+ * - Type ``board``
+ - Name
+ - Microcontroller ``board_mcu``
+ - Frequency ``board_f_cpu``
+ - Flash
+ - RAM
+ * - ``due``
+ - `Arduino Due `_
+ - at91sam3x8e ``cortex-m3``
+ - 84 MHz ``84000000L``
+ - 512 Kb
+ - 32 Kb
+ * - ``digix``
+ - `Digistump DigiX `_
+ - at91sam3x8e ``cortex-m3``
+ - 84 MHz ``84000000L``
+ - 512 kb
+ - 32 Kb
+
+More detailed information you can find here
+`Atmel SMART ARM-based MCUs `_.
diff --git a/docs/platforms/index.rst b/docs/platforms/index.rst
index 29ea4168..fa6d03a9 100644
--- a/docs/platforms/index.rst
+++ b/docs/platforms/index.rst
@@ -15,6 +15,9 @@ MCU, upload protocol or etc. Please use ``board`` option.
:maxdepth: 2
atmelavr
+ atmelsam
+ stm32
timsp430
titiva
+ teensy
creating_platform
diff --git a/docs/platforms/stm32.rst b/docs/platforms/stm32.rst
new file mode 100644
index 00000000..0543002e
--- /dev/null
+++ b/docs/platforms/stm32.rst
@@ -0,0 +1,104 @@
+.. _platform_stm32:
+
+Platform ``stm32``
+==================
+
+`The STM32 family of 32-bit Flash microcontrollers `_ based on the ARM® Cortex®-M processor is designed to offer new degrees of freedom to MCU users. It offers a 32-bit product range that combines very high performance, real-time capabilities, digital signal processing, and low-power, low-voltage operation, while maintaining full integration and ease of development.
+
+The unparalleled and large range of STM32 devices, based on an industry-standard core and accompanied by a vast choice of tools and software, makes this family of products the ideal choice, both for small projects and for entire platform decisions.
+
+.. contents::
+
+Packages
+--------
+
+.. list-table::
+ :header-rows: 1
+
+ * - Name
+ - Alias
+ - Contents
+ * - ``toolchain-gccarmnoneeabi``
+ - toolchain
+ - `gcc-arm-embedded `_,
+ `GDB `_
+ * - ``tool-stlink``
+ - uploader
+ - `Flash Programmer `_
+ * - ``framework-cmsis``
+ -
+ - See below in :ref:`stm32_frameworks`
+ * - ``framework-spl``
+ -
+ - See below in :ref:`stm32_frameworks`
+ * - ``framework-opencm3``
+ -
+ - See below in :ref:`stm32_frameworks`
+
+.. note::
+ You can install ``stm32`` platform with these packages
+ via :ref:`cmd_install` command.
+
+
+.. _stm32_frameworks:
+
+Frameworks
+----------
+
+.. list-table::
+ :header-rows: 1
+
+ * - Type ``framework``
+ - Name
+ - Reference
+ * - ``cmsis``
+ - Vendor-independent hardware abstraction layer for the Cortex-M processor series
+ - `Documentation `__
+ * - ``spl``
+ - Standard Peripheral Library for STM32 MCUs
+ - `Documentation `__
+ * - ``opencm3``
+ - libOpenCM3 Framework
+ - `Documentation `__
+
+
+Boards
+------
+
+.. note::
+ * You can list pre-configured boards by :ref:`cmd_boards` command
+ * For more detailed ``board`` information please scroll tables below by
+ horizontal.
+
+.. list-table::
+ :header-rows: 1
+
+ * - Type ``board``
+ - Name
+ - Microcontroller ``board_mcu``
+ - Frequency ``board_f_cpu``
+ - Flash
+ - RAM
+ * - ``stm32ldiscovery``
+ - `Discovery kit for STM32L151/152 line `_
+ - stm32l152rbt6 ``cortex-m3``
+ - 32 MHz ``32000000L``
+ - 128 Kb
+ - 16 Kb
+ * - ``stm32f3discovery``
+ - `Discovery kit for STM32F303xx microcontrollers
+ `_
+ - stm32f303vct6 ``cortex-m4``
+ - 72 MHz ``72000000L``
+ - 256 Kb
+ - 48 Kb
+ * - ``stm32f4discovery``
+ - `Discovery kit for STM32F407/417 lines
+ `_
+ - stm32f407vgt6 ``cortex-m4``
+ - 168 Mhz ``168000000L``
+ - 1 Mb
+ - 192 Kb
+
+More detailed information you can find here
+`STM32 Discovery kits `_.
diff --git a/docs/platforms/teensy.rst b/docs/platforms/teensy.rst
new file mode 100644
index 00000000..23662d02
--- /dev/null
+++ b/docs/platforms/teensy.rst
@@ -0,0 +1,101 @@
+.. _platform_teensy:
+
+Platform ``teensy``
+===================
+
+`Teensy `_ is a complete USB-based microcontroller development system, in a very small footprint, capable of implementing many types of projects. All programming is done via the USB port. No special programmer is needed, only a standard "Mini-B" USB cable and a PC or Macintosh with a USB port.
+
+.. contents::
+
+Packages
+--------
+
+.. list-table::
+ :header-rows: 1
+
+ * - Name
+ - Alias
+ - Contents
+ * - ``toolchain-gccarmnoneeabi``
+ - toolchain
+ - `gcc-arm-embedded `_,
+ `GDB `_
+ * - ``toolchain-atmelavr``
+ - toolchain
+ - `avr-gcc `_,
+ `GDB `_,
+ `AVaRICE `_,
+ `SimulAVR `_
+ * - ``tool-teensy``
+ - uploader
+ - `Flash Programmer `_
+ * - ``framework-arduino``
+ -
+ - See below in :ref:`teensy_frameworks`
+
+
+.. note::
+ You can install ``teensy`` platform with these packages
+ via :ref:`cmd_install` command.
+
+
+.. _teensy_frameworks:
+
+Frameworks
+----------
+
+.. list-table::
+ :header-rows: 1
+
+ * - Type ``framework``
+ - Name
+ - Reference
+ * - ``arduino``
+ - Arduino Wiring-based Framework
+ - `Documentation `_
+
+
+Boards
+------
+
+.. note::
+ * You can list pre-configured boards by :ref:`cmd_boards` command
+ * For more detailed ``board`` information please scroll tables below by
+ horizontal.
+
+.. list-table::
+ :header-rows: 1
+
+ * - Type ``board``
+ - Name
+ - Microcontroller ``board_mcu``
+ - Frequency ``board_f_cpu``
+ - Flash
+ - RAM
+ * - ``teensy20``
+ - `Teensy USB Board, Version 2.0 `_
+ - ATmega32 ``atmega32u4``
+ - 16 MHz ``16000000L``
+ - 32 Kb
+ - 2.5 Kb
+ * - ``teensy20pp``
+ - `Teensy++ USB Board, Version 2.0 `_
+ - AT90USB1289 ``at90usb1286``
+ - 16 MHz ``16000000L``
+ - 128 Kb
+ - 8 Kb
+ * - ``teensy30``
+ - `Teensy USB Board, Version 3.0 `_
+ - mk20dx128 ``cortex-m4``
+ - 48 Mhz ``48000000L``
+ - 128 kb
+ - 16 Kb
+ * - ``teensy31``
+ - `Teensy USB Board, Version 3.1 `_
+ - mk20dx256 ``cortex-m4``
+ - 72 Mhz ``72000000L``
+ - 256 kb
+ - 64 Kb
+
+More detailed information you can find here
+`Teensy USB Development Boards `_.
diff --git a/platformio/boards/adafruit.json b/platformio/boards/adafruit.json
index 314c863a..ce5563d5 100644
--- a/platformio/boards/adafruit.json
+++ b/platformio/boards/adafruit.json
@@ -37,7 +37,7 @@
"platform": "atmelavr",
"upload": {
"maximum_ram_size": 512,
- "maximum_size": 5310,
+ "maximum_size": 8192,
"protocol": "usbtiny"
}
},
@@ -56,7 +56,7 @@
"upload": {
"maximum_ram_size": 512,
"protocol": "usbtiny",
- "maximum_size": 5310
+ "maximum_size": 8192
}
},
diff --git a/platformio/boards/digistump.json b/platformio/boards/digistump.json
index a032b779..07f083e3 100644
--- a/platformio/boards/digistump.json
+++ b/platformio/boards/digistump.json
@@ -13,7 +13,7 @@
"upload": {
"disable_flushing": false,
"maximum_ram_size": 512,
- "maximum_size": 14844,
+ "maximum_size": 6012,
"protocol": "digispark",
"use_1200bps_touch": false,
"wait_for_upload_port": false