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.

For more detailed information please visit vendor site.

Packages

Name

Description

framework-arduinoavr

Arduino Wiring-based Framework (AVR Core, 1.6)

framework-simba

Simba Framework

tool-avrdude

AVRDUDE

tool-micronucleus

Micronucleus

toolchain-atmelavr

avr-gcc

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

Name

Description

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.

Framework simba

Simba is an RTOS and build framework. It aims to make embedded programming easy and portable.

Boards

Note

Adafruit

ID

Name

Microcontroller

Frequency

Flash

RAM

bluefruitmicro

Adafruit Bluefruit Micro

ATMEGA32U4

8 MHz

32 Kb

2.5 Kb

feather32u4

Adafruit Feather

ATMEGA32U4

8 MHz

32 Kb

2.5 Kb

flora8

Adafruit Flora

ATMEGA32U4

8 MHz

32 Kb

2.5 Kb

gemma

Adafruit Gemma

ATTINY85

8 MHz

8 Kb

0.5 Kb

metro

Adafruit Metro

ATMEGA328P

16 MHz

32 Kb

2 Kb

protrinket3

Adafruit Pro Trinket 3V/12MHz (USB)

ATMEGA328P

12 MHz

32 Kb

2 Kb

protrinket3ftdi

Adafruit Pro Trinket 3V/12MHz (FTDI)

ATMEGA328P

12 MHz

32 Kb

2 Kb

protrinket5

Adafruit Pro Trinket 5V/16MHz (USB)

ATMEGA328P

16 MHz

32 Kb

2 Kb

protrinket5ftdi

Adafruit Pro Trinket 5V/16MHz (FTDI)

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

Arduboy

ID

Name

Microcontroller

Frequency

Flash

RAM

arduboy

Arduboy

ATMEGA32U4

16 MHz

32 Kb

2.5 Kb

arduboy_devkit

Arduboy DevKit

ATMEGA32U4

16 MHz

32 Kb

2.5 Kb

Arduino

ID

Name

Microcontroller

Frequency

Flash

RAM

LilyPadUSB

Arduino LilyPad USB

ATMEGA32U4

8 MHz

32 Kb

2.5 Kb

atmega328pb

Atmel ATmega328PB

ATMEGA328PB

16 MHz

32 Kb

2 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

chiwawa

Arduino Industrial 101

ATMEGA32U4

16 MHz

32 Kb

2.5 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

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

leonardoeth

Arduino Leonardo ETH

ATMEGA32U4

16 MHz

32 Kb

2.5 Kb

lilypadatmega168

Arduino LilyPad ATmega168

ATMEGA168

8 MHz

16 Kb

1 Kb

lilypadatmega328

Arduino LilyPad 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

yunmini

Arduino Yun Mini

ATMEGA32U4

16 MHz

32 Kb

2.5 Kb

BQ

ID

Name

Microcontroller

Frequency

Flash

RAM

zumbt328

BQ ZUM BT-328

ATMEGA328P

16 MHz

32 Kb

2 Kb

BitWizard

ID

Name

Microcontroller

Frequency

Flash

RAM

raspduino

BitWizard Raspduino

ATMEGA328P

16 MHz

32 Kb

2 Kb

Digistump

ID

Name

Microcontroller

Frequency

Flash

RAM

digispark-pro

Digistump Digispark Pro (Default 16 MHz)

ATTINY167

16 MHz

16 Kb

0.5 Kb

digispark-pro32

Digistump Digispark Pro (16 MHz) (32 byte buffer)

ATTINY167

16 MHz

16 Kb

0.5 Kb

digispark-pro64

Digistump Digispark Pro (16 MHz) (64 byte buffer)

ATTINY167

16 MHz

16 Kb

0.5 Kb

digispark-tiny

Digistump Digispark (Default - 16 MHz)

ATTINY85

16 MHz

8 Kb

0.5 Kb

Engduino

ID

Name

Microcontroller

Frequency

Flash

RAM

engduinov3

Engduino 3

ATMEGA32U4

8 MHz

32 Kb

2.5 Kb

EnviroDIY

ID

Name

Microcontroller

Frequency

Flash

RAM

mayfly

EnviroDIY Mayfly

ATMEGA1284P

8 MHz

128 Kb

16 Kb

Generic ATTiny

ID

Name

Microcontroller

Frequency

Flash

RAM

attiny13

Generic ATTiny13

ATTINY13

9 MHz

1 Kb

0.0625 Kb

attiny2313

Generic ATTiny2313

ATTINY2313

8 MHz

2 Kb

0.125 Kb

attiny24

Generic ATTiny24

ATTINY24

8 MHz

2 Kb

0.125 Kb

attiny25

Generic ATTiny25

ATTINY25

8 MHz

2 Kb

0.125 Kb

attiny4313

Generic ATTiny4313

ATTINY4313

8 MHz

4 Kb

0.25 Kb

attiny44

Generic ATTiny44

ATTINY44

8 MHz

4 Kb

0.25 Kb

attiny45

Generic ATTiny45

ATTINY45

8 MHz

4 Kb

0.25 Kb

attiny84

Generic ATTiny84

ATTINY84

8 MHz

8 Kb

0.5 Kb

attiny85

Generic ATTiny85

ATTINY85

8 MHz

8 Kb

0.5 Kb

LightUp

ID

Name

Microcontroller

Frequency

Flash

RAM

lightup

LightUp

ATMEGA32U4

8 MHz

32 Kb

2.5 Kb

Linino

ID

Name

Microcontroller

Frequency

Flash

RAM

one

Linino One

ATMEGA32U4

16 MHz

32 Kb

2.5 Kb

LowPowerLab

ID

Name

Microcontroller

Frequency

Flash

RAM

moteino

LowPowerLab Moteino

ATMEGA328P

16 MHz

32 Kb

2 Kb

moteinomega

LowPowerLab MoteinoMEGA

ATMEGA1284P

16 MHz

128 Kb

16 Kb

Mcudude

ID

Name

Microcontroller

Frequency

Flash

RAM

mightycore1284

MightyCore ATmega1284

ATMEGA1284P

16 MHz

128 Kb

16 Kb

mightycore16

MightyCore ATmega16

ATMEGA16

16 MHz

16 Kb

1 Kb

mightycore164

MightyCore ATmega164

ATMEGA164P

16 MHz

16 Kb

1 Kb

mightycore32

MightyCore ATmega32

ATMEGA32

16 MHz

32 Kb

2 Kb

mightycore324

MightyCore ATmega324

ATMEGA324P

16 MHz

32 Kb

2 Kb

mightycore644

MightyCore ATmega644

ATMEGA644P

16 MHz

64 Kb

4 Kb

mightycore8535

MightyCore ATmega8535

ATMEGA16

16 MHz

8 Kb

0.5 Kb

Microduino

ID

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

OpenEnergyMonitor

ID

Name

Microcontroller

Frequency

Flash

RAM

emonpi

OpenEnergyMonitor emonPi

ATMEGA328P

16 MHz

32 Kb

2 Kb

PanStamp

ID

Name

Microcontroller

Frequency

Flash

RAM

panStampAVR

PanStamp AVR

ATMEGA328P

8 MHz

32 Kb

2 Kb

Pinoccio

ID

Name

Microcontroller

Frequency

Flash

RAM

pinoccio

Pinoccio Scout

ATMEGA256RFR2

16 MHz

256 Kb

32 Kb

Pololu Corporation

ID

Name

Microcontroller

Frequency

Flash

RAM

a-star32U4

Pololu A-Star 32U4

ATMEGA32U4

16 MHz

32 Kb

2.5 Kb

Punch Through

ID

Name

Microcontroller

Frequency

Flash

RAM

lightblue-bean

LightBlue Bean

ATMEGA328P

8 MHz

32 Kb

2 Kb

lightblue-beanplus

LightBlue Bean+

ATMEGA328P

16 MHz

32 Kb

2 Kb

Quirkbot

ID

Name

Microcontroller

Frequency

Flash

RAM

quirkbot

Quirkbot

ATMEGA32U4

8 MHz

32 Kb

2.5 Kb

RedBearLab

ID

Name

Microcontroller

Frequency

Flash

RAM

blend

RedBearLab Blend

ATMEGA32U4

16 MHz

32 Kb

2.5 Kb

blendmicro16

RedBearLab Blend Micro 3.3V/16MHz (overclock)

ATMEGA32U4

16 MHz

32 Kb

2.5 Kb

blendmicro8

RedBearLab Blend Micro 3.3V/8MHz

ATMEGA32U4

8 MHz

32 Kb

2.5 Kb

RepRap

ID

Name

Microcontroller

Frequency

Flash

RAM

reprap_rambo

RepRap RAMBo

ATMEGA2560

16 MHz

256 Kb

8 Kb

SODAQ

ID

Name

Microcontroller

Frequency

Flash

RAM

sodaq_galora

SODAQ GaLoRa

ATMEGA1284P

8 MHz

128 Kb

16 Kb

sodaq_mbili

SODAQ Mbili

ATMEGA1284P

8 MHz

128 Kb

16 Kb

sodaq_moja

SODAQ Moja

ATMEGA328P

8 MHz

32 Kb

2 Kb

sodaq_ndogo

SODAQ Ndogo

ATMEGA1284P

8 MHz

128 Kb

16 Kb

sodaq_tatu

SODAQ Tatu

ATMEGA1284P

8 MHz

128 Kb

16 Kb

Sanguino

ID

Name

Microcontroller

Frequency

Flash

RAM

sanguino_atmega1284_8m

Sanguino ATmega1284p (8MHz)

ATMEGA1284P

8 MHz

128 Kb

16 Kb

sanguino_atmega1284p

Sanguino ATmega1284p (16MHz)

ATMEGA1284P

16 MHz

128 Kb

16 Kb

sanguino_atmega644

Sanguino ATmega644 or ATmega644A (16 MHz)

ATMEGA644

16 MHz

64 Kb

4 Kb

sanguino_atmega644_8m

Sanguino ATmega644 or ATmega644A (8 MHz)

ATMEGA644

8 MHz

64 Kb

4 Kb

sanguino_atmega644p

Sanguino ATmega644P or ATmega644PA (16 MHz)

ATMEGA644P

16 MHz

64 Kb

4 Kb

sanguino_atmega644p_8m

Sanguino ATmega644P or ATmega644PA (8 MHz)

ATMEGA644P

8 MHz

64 Kb

4 Kb

SparkFun

ID

Name

Microcontroller

Frequency

Flash

RAM

sparkfun_digitalsandbox

SparkFun Digital Sandbox

ATMEGA328P

8 MHz

32 Kb

2 Kb

sparkfun_fiov3

SparkFun Fio V3 3.3V/8MHz

ATMEGA32U4

8 MHz

32 Kb

2.5 Kb

sparkfun_makeymakey

SparkFun Makey Makey

ATMEGA32U4

16 MHz

32 Kb

2.5 Kb

sparkfun_megamini

SparkFun Mega Pro Mini 3.3V

ATMEGA2560

8 MHz

256 Kb

8 Kb

sparkfun_megapro16MHz

SparkFun Mega Pro 5V/16MHz

ATMEGA2560

16 MHz

256 Kb

8 Kb

sparkfun_megapro8MHz

SparkFun Mega Pro 3.3V/8MHz

ATMEGA2560

8 MHz

256 Kb

8 Kb

sparkfun_promicro16

SparkFun Pro Micro 5V/16MHz

ATMEGA32U4

16 MHz

32 Kb

2.5 Kb

sparkfun_promicro8

SparkFun Pro Micro 3.3V/8MHz

ATMEGA32U4

8 MHz

32 Kb

2.5 Kb

sparkfun_qduinomini

SparkFun Qduino Mini

ATMEGA32U4

8 MHz

32 Kb

2.5 Kb

sparkfun_redboard

SparkFun RedBoard

ATMEGA328P

16 MHz

32 Kb

2 Kb

sparkfun_satmega128rfa1

SparkFun ATmega128RFA1 Dev Board

ATMEGA128RFA1

16 MHz

16 Kb

124 Kb

sparkfun_serial7seg

SparkFun Serial 7-Segment Display

ATMEGA328P

8 MHz

32 Kb

2 Kb

uview

SparkFun MicroView

ATMEGA328P

16 MHz

32 Kb

2 Kb

The Things Network

ID

Name

Microcontroller

Frequency

Flash

RAM

the_things_uno

The Things Uno

ATMEGA32U4

16 MHz

32 Kb

2.5 Kb

TinyCircuits

ID

Name

Microcontroller

Frequency

Flash

RAM

tinyduino

TinyCircuits TinyDuino Processor Board

ATMEGA328P

8 MHz

32 Kb

2 Kb

tinylily

TinyCircuits TinyLily Mini Processor

ATMEGA328P

8 MHz

32 Kb

2 Kb

Wicked Device

ID

Name

Microcontroller

Frequency

Flash

RAM

wildfirev2

Wicked Device WildFire V2

ATMEGA1284P

16 MHz

128 Kb

16 Kb

wildfirev3

Wicked Device WildFire V3

ATMEGA1284P

16 MHz

128 Kb

16 Kb

makerlab.mx

ID

Name

Microcontroller

Frequency

Flash

RAM

altair

Altair

ATMEGA256RFR2

16 MHz

256 Kb

32 Kb

ubIQio

ID

Name

Microcontroller

Frequency

Flash

RAM

ardhat

ubIQio Ardhat

ATMEGA328P

16 MHz

32 Kb

2 Kb

Upload using Programmer

To upload firmware using programmer you need to use program target instead upload for platformio run --target command. For example, platformio run -t program.

Configuration for the programmers:

  • AVR ISP

    [env:myenv]
    platform = atmelavr
    framework = arduino
    upload_protocol = stk500v1
    upload_flags = -P$UPLOAD_PORT
    
    ; edit this line with valid upload port
    upload_port = SERIAL_PORT_HERE
    
  • AVRISP mkII

    [env:myenv]
    platform = atmelavr
    framework = arduino
    upload_protocol = stk500v2
    upload_flags = -Pusb
    
  • USBtinyISP

    [env:myenv]
    platform = atmelavr
    framework = arduino
    upload_protocol = usbtiny
    
  • ArduinoISP

    [env:myenv]
    platform = atmelavr
    framework = arduino
    upload_protocol = arduinoisp
    
  • USBasp

    [env:myenv]
    platform = atmelavr
    framework = arduino
    upload_protocol = usbasp
    upload_flags = -Pusb
    
  • Parallel Programmer

    [env:myenv]
    platform = atmelavr
    framework = arduino
    upload_protocol = dapa
    upload_flags = -F
    
  • Arduino as ISP

    [env:myenv]
    platform = atmelavr
    framework = arduino
    upload_protocol = stk500v1
    upload_flags = -P$UPLOAD_PORT -b$UPLOAD_SPEED
    
    ; edit these lines
    upload_port = SERIAL_PORT_HERE
    upload_speed = 19200
    

Upload EEPROM data

To upload EEPROM data (from EEMEM directive) you need to use uploadeep target instead upload for platformio run --target command. For example, platformio run -t uploadeep.

Fuses

PlatformIO has built-in target named fuses for setting fuse bits. The default fuse bits are predefined in board manifest file in fuses section. For example, Arduino Uno Fuses.

To set fuse bits you need to use target fuses for platformio run --target command.

Custom Fuses

You can specify custom fuse bits. Please create custom extra_script and override default “fuses” command:

platformio.ini:

[env:custom_fuses]
platform = atmelavr
extra_script = extra_script.py

extra_script.py:

Import('env')
env.Replace(FUSESCMD="avrdude $UPLOADERFLAGS -e -Ulock:w:0x3F:m -Uhfuse:w:0xDE:m -Uefuse:w:0x05:m -Ulfuse:w:0xFF:m")

Articles

See more Articles about us.

Examples

All project examples are located in PlatformIO repository Examples for Atmel AVR platform.