.. _framework_arduino: 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. For more detailed information please visit `vendor site `_. .. contents:: Platforms --------- .. list-table:: :header-rows: 1 * - Name - Description * - :ref:`platform_atmelavr` - Atmel AVR 8- and 32-bit MCUs deliver a unique combination of performance, power efficiency and design flexibility. Optimized to speed time to market-and easily adapt to new ones-they are based on the industrys most code-efficient architecture for C and assembly programming. * - :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_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. * - :ref:`platform_timsp430` - MSP430 microcontrollers (MCUs) from Texas Instruments (TI) are 16-bit, RISC-based, mixed-signal processors designed for ultra-low power. These MCUs offer the lowest power consumption and the perfect mix of integrated peripherals for thousands of 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. Adafruit ~~~~~~~~ .. list-table:: :header-rows: 1 * - Type ``board`` - Name - Microcontroller - Frequency - Flash - RAM * - ``flora8`` - `Adafruit Flora `_ - ATMEGA32U4 - 8 MHz - 32 Kb - 2.5 Kb * - ``protrinket3`` - `Pro Trinket 3V/12MHz (USB) `_ - ATMEGA328P - 12 MHz - 32 Kb - 2 Kb * - ``protrinket3ftdi`` - `Pro Trinket 3V/12MHz (FTDI) `_ - ATMEGA328P - 16 MHz - 32 Kb - 2 Kb * - ``protrinket5`` - `Pro Trinket 5V/16MHz (USB) `_ - ATMEGA328P - 16 MHz - 32 Kb - 2 Kb * - ``protrinket5ftdi`` - `Pro Trinket 5V/16MHz (USB) `_ - ATMEGA328P - 16 MHz - 32 Kb - 2 Kb * - ``trinket3`` - `Adafruit Trinket 3V/8MHz `_ - ATTINY85 - 8 MHz - 8 Kb - 0.5 Kb * - ``trinket5`` - `Adafruit Trinket 5V/16MHz `_ - ATTINY85 - 16 MHz - 8 Kb - 0.5 Kb Arduino ~~~~~~~ .. list-table:: :header-rows: 1 * - Type ``board`` - Name - Microcontroller - Frequency - Flash - RAM * - ``LilyPadUSB`` - `LilyPad Arduino USB `_ - ATMEGA32U4 - 8 MHz - 32 Kb - 2.5 Kb * - ``atmegangatmega168`` - `Arduino NG or older ATmega168 `_ - ATMEGA168 - 16 MHz - 16 Kb - 1 Kb * - ``atmegangatmega8`` - `Arduino NG or older ATmega8 `_ - ATMEGA8 - 16 MHz - 8 Kb - 1 Kb * - ``btatmega168`` - `Arduino BT ATmega168 `_ - ATMEGA168 - 16 MHz - 16 Kb - 1 Kb * - ``btatmega328`` - `Arduino BT ATmega328 `_ - ATMEGA328P - 16 MHz - 32 Kb - 2 Kb * - ``diecimilaatmega168`` - `Arduino Duemilanove or Diecimila ATmega168 `_ - ATMEGA168 - 16 MHz - 16 Kb - 1 Kb * - ``diecimilaatmega328`` - `Arduino Duemilanove or Diecimila ATmega328 `_ - ATMEGA328P - 16 MHz - 32 Kb - 2 Kb * - ``due`` - `Arduino Due (Programming Port) `_ - AT91SAM3X8E - 84 MHz - 512 Kb - 32 Kb * - ``dueUSB`` - `Arduino Due (USB Native Port) `_ - AT91SAM3X8E - 84 MHz - 512 Kb - 32 Kb * - ``esplora`` - `Arduino Esplora `_ - ATMEGA32U4 - 16 MHz - 32 Kb - 2.5 Kb * - ``ethernet`` - `Arduino Ethernet `_ - ATMEGA328P - 16 MHz - 32 Kb - 2 Kb * - ``fio`` - `Arduino Fio `_ - ATMEGA328P - 8 MHz - 32 Kb - 2 Kb * - ``leonardo`` - `Arduino Leonardo `_ - ATMEGA32U4 - 16 MHz - 32 Kb - 2.5 Kb * - ``lilypadatmega168`` - `LilyPad Arduino ATmega168 `_ - ATMEGA168 - 8 MHz - 16 Kb - 1 Kb * - ``lilypadatmega328`` - `LilyPad Arduino ATmega328 `_ - ATMEGA328P - 8 MHz - 32 Kb - 2 Kb * - ``megaADK`` - `Arduino Mega ADK `_ - ATMEGA2560 - 16 MHz - 256 Kb - 8 Kb * - ``megaatmega1280`` - `Arduino Mega or Mega 2560 ATmega1280 `_ - ATMEGA1280 - 16 MHz - 128 Kb - 8 Kb * - ``megaatmega2560`` - `Arduino Mega or Mega 2560 ATmega2560 (Mega 2560) `_ - ATMEGA2560 - 16 MHz - 256 Kb - 8 Kb * - ``micro`` - `Arduino Micro `_ - ATMEGA32U4 - 16 MHz - 32 Kb - 2.5 Kb * - ``miniatmega168`` - `Arduino Mini ATmega168 `_ - ATMEGA168 - 16 MHz - 16 Kb - 1 Kb * - ``miniatmega328`` - `Arduino Mini ATmega328 `_ - ATMEGA328P - 16 MHz - 32 Kb - 2 Kb * - ``nanoatmega168`` - `Arduino Nano ATmega168 `_ - ATMEGA168 - 16 MHz - 16 Kb - 1 Kb * - ``nanoatmega328`` - `Arduino Nano ATmega328 `_ - ATMEGA328P - 16 MHz - 32 Kb - 2 Kb * - ``pro16MHzatmega168`` - `Arduino Pro or Pro Mini ATmega168 (5V, 16 MHz) `_ - ATMEGA168 - 16 MHz - 16 Kb - 1 Kb * - ``pro16MHzatmega328`` - `Arduino Pro or Pro Mini ATmega328 (5V, 16 MHz) `_ - ATMEGA328P - 16 MHz - 32 Kb - 2 Kb * - ``pro8MHzatmega168`` - `Arduino Pro or Pro Mini ATmega168 (3.3V, 8 MHz) `_ - ATMEGA168 - 8 MHz - 16 Kb - 1 Kb * - ``pro8MHzatmega328`` - `Arduino Pro or Pro Mini ATmega328 (3.3V, 8 MHz) `_ - ATMEGA328P - 8 MHz - 32 Kb - 2 Kb * - ``robotControl`` - `Arduino Robot Control `_ - ATMEGA32U4 - 16 MHz - 32 Kb - 2.5 Kb * - ``robotMotor`` - `Arduino Robot Motor `_ - ATMEGA32U4 - 16 MHz - 32 Kb - 2.5 Kb * - ``uno`` - `Arduino Uno `_ - ATMEGA328P - 16 MHz - 32 Kb - 2 Kb * - ``yun`` - `Arduino Yun `_ - ATMEGA32U4 - 16 MHz - 32 Kb - 2.5 Kb BitWizard ~~~~~~~~~ .. list-table:: :header-rows: 1 * - Type ``board`` - Name - Microcontroller - Frequency - Flash - RAM * - ``raspduino`` - `Raspduino `_ - ATMEGA328P - 16 MHz - 32 Kb - 2 Kb Digistump ~~~~~~~~~ .. list-table:: :header-rows: 1 * - Type ``board`` - Name - Microcontroller - Frequency - Flash - RAM * - ``digispark-pro`` - `Digispark Pro (Default 16 MHz) `_ - ATTINY167 - 16 MHz - 16 Kb - 0.5 Kb * - ``digispark-pro32`` - `Digispark Pro (16 MHz) (32 byte buffer) `_ - ATTINY167 - 16 MHz - 16 Kb - 0.5 Kb * - ``digispark-pro64`` - `Digispark Pro (16 MHz) (64 byte buffer) `_ - ATTINY167 - 16 MHz - 16 Kb - 0.5 Kb * - ``digispark-tiny`` - `Digispark (Default - 16 MHz) `_ - ATTINY85 - 16 MHz - 8 Kb - 0.5 Kb * - ``digix`` - `Digistump DigiX `_ - AT91SAM3X8E - 84 MHz - 512 Kb - 28 Kb Engduino ~~~~~~~~ .. list-table:: :header-rows: 1 * - Type ``board`` - Name - Microcontroller - Frequency - Flash - RAM * - ``engduinov1`` - `Engduino 1 `_ - ATMEGA32U4 - 8 MHz - 32 Kb - 2.5 Kb * - ``engduinov2`` - `Engduino 2 `_ - ATMEGA32U4 - 8 MHz - 32 Kb - 2.5 Kb * - ``engduinov3`` - `Engduino 3 `_ - ATMEGA32U4 - 8 MHz - 32 Kb - 2.5 Kb Microduino ~~~~~~~~~~ .. list-table:: :header-rows: 1 * - Type ``board`` - Name - Microcontroller - Frequency - Flash - RAM * - ``1284p16m`` - `Microduino Core+ (ATmega1284P@16M,5V) `_ - ATMEGA1284P - 16 MHz - 128 Kb - 16 Kb * - ``1284p8m`` - `Microduino Core+ (ATmega1284P@8M,3.3V) `_ - ATMEGA1284P - 8 MHz - 128 Kb - 16 Kb * - ``168pa16m`` - `Microduino Core (Atmega168PA@16M,5V) `_ - ATMEGA168P - 16 MHz - 16 Kb - 1 Kb * - ``168pa8m`` - `Microduino Core (Atmega168PA@8M,3.3V) `_ - ATMEGA168P - 8 MHz - 16 Kb - 1 Kb * - ``328p16m`` - `Microduino Core (Atmega328P@16M,5V) `_ - ATMEGA328P - 16 MHz - 32 Kb - 2 Kb * - ``328p8m`` - `Microduino Core (Atmega328P@8M,3.3V) `_ - ATMEGA328P - 8 MHz - 32 Kb - 2 Kb * - ``32u416m`` - `Microduino Core USB (ATmega32U4@16M,5V) `_ - ATMEGA32U4 - 16 MHz - 32 Kb - 2.5 Kb * - ``644pa16m`` - `Microduino Core+ (Atmega644PA@16M,5V) `_ - ATMEGA644P - 16 MHz - 64 Kb - 4 Kb * - ``644pa8m`` - `Microduino Core+ (Atmega644PA@8M,3.3V) `_ - ATMEGA644P - 8 MHz - 64 Kb - 4 Kb PanStamp ~~~~~~~~ .. list-table:: :header-rows: 1 * - Type ``board`` - Name - Microcontroller - Frequency - Flash - RAM * - ``panStampAVR`` - `PanStamp AVR `_ - ATMEGA328P - 8 MHz - 32 Kb - 2 Kb * - ``panStampNRG`` - `PanStamp NRG 1.1 `_ - CC430F5137 - 12 MHz - 32 Kb - 4 Kb SainSmart ~~~~~~~~~ .. list-table:: :header-rows: 1 * - Type ``board`` - Name - Microcontroller - Frequency - Flash - RAM * - ``sainSmartDue`` - `SainSmart Due (Programming Port) `_ - AT91SAM3X8E - 84 MHz - 512 Kb - 32 Kb * - ``sainSmartDueUSB`` - `SainSmart Due (USB Native Port) `_ - AT91SAM3X8E - 84 MHz - 512 Kb - 32 Kb Teensy ~~~~~~ .. list-table:: :header-rows: 1 * - Type ``board`` - Name - Microcontroller - Frequency - Flash - RAM * - ``teensy20`` - `Teensy 2.0 `_ - ATMEGA32U4 - 16 MHz - 32 Kb - 2.5 Kb * - ``teensy20pp`` - `Teensy++ 2.0 `_ - AT90USB1286 - 16 MHz - 128 Kb - 8 Kb * - ``teensy30`` - `Teensy 3.0 `_ - MK20DX128 - 48 MHz - 128 Kb - 16 Kb * - ``teensy31`` - `Teensy 3.1 `_ - MK20DX256 - 72 MHz - 256 Kb - 64 Kb