aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMartino Facchin <m.facchin@arduino.cc>2017-02-08 12:56:49 +0100
committerGitHub <noreply@github.com>2017-02-08 12:56:49 +0100
commit045d83b2e59daf9421353a71cdb63803ec91a4b1 (patch)
treef6628d54ecad3e94278ec920d6251dfba3561e43
parent5bf5025dfe5003a67cf21da9f7f2dbfc9b99aaef (diff)
parent7ed370a671b9497f88781450c5d6dea9fa0a219a (diff)
Merge branch 'master' into stk500-jtagice3
-rw-r--r--boards.txt208
-rw-r--r--bootloaders/caterina/Caterina-Circuitplay32u4.hex251
-rw-r--r--bootloaders/caterina/Caterina-Industrial101.hex250
-rw-r--r--bootloaders/caterina/Caterina-LeonardoEthernet.hex250
-rw-r--r--bootloaders/caterina/Caterina-LininoOne.hex249
-rw-r--r--bootloaders/caterina/Caterina-YunMini.hex250
-rw-r--r--cores/arduino/IPAddress.cpp2
-rw-r--r--cores/arduino/Print.cpp2
-rw-r--r--platform.txt12
-rw-r--r--programmers.txt12
-rw-r--r--variants/circuitplay32u4/pins_arduino.h387
11 files changed, 1866 insertions, 7 deletions
diff --git a/boards.txt b/boards.txt
index 7b55a6d..cf435c8 100644
--- a/boards.txt
+++ b/boards.txt
@@ -303,6 +303,41 @@ leonardo.build.extra_flags={build.usb_flags}
##############################################################
+leonardoeth.name=Arduino Leonardo ETH
+leonardoeth.vid.0=0x2a03
+leonardoeth.pid.0=0x0040
+leonardoeth.vid.1=0x2a03
+leonardoeth.pid.1=0x8040
+
+leonardoeth.upload.tool=avrdude
+leonardoeth.upload.protocol=avr109
+leonardoeth.upload.maximum_size=28672
+leonardoeth.upload.maximum_data_size=2560
+leonardoeth.upload.speed=57600
+leonardoeth.upload.disable_flushing=true
+leonardoeth.upload.use_1200bps_touch=true
+leonardoeth.upload.wait_for_upload_port=true
+
+leonardoeth.bootloader.tool=avrdude
+leonardoeth.bootloader.low_fuses=0xff
+leonardoeth.bootloader.high_fuses=0xd8
+leonardoeth.bootloader.extended_fuses=0xcb
+leonardoeth.bootloader.file=caterina/Caterina-LeonardoEthernet.hex
+leonardoeth.bootloader.unlock_bits=0x3F
+leonardoeth.bootloader.lock_bits=0x2F
+
+leonardoeth.build.mcu=atmega32u4
+leonardoeth.build.f_cpu=16000000L
+leonardoeth.build.vid=0x2a03
+leonardoeth.build.pid=0x8040
+leonardoeth.build.usb_product="Arduino Leonardo ETH"
+leonardoeth.build.board=AVR_LEONARDO_ETH
+leonardoeth.build.core=arduino
+leonardoeth.build.variant=leonardo
+leonardoeth.build.extra_flags={build.usb_flags}
+
+##############################################################
+
micro.name=Arduino/Genuino Micro
micro.vid.0=0x2341
@@ -735,6 +770,7 @@ atmegang.menu.cpu.atmega8.upload.maximum_data_size=1024
atmegang.menu.cpu.atmega8.bootloader.low_fuses=0xdf
atmegang.menu.cpu.atmega8.bootloader.high_fuses=0xca
+atmegang.menu.cpu.atmega8.bootloader.extended_fuses=
atmegang.menu.cpu.atmega8.bootloader.file=atmega8/ATmegaBOOT-prod-firmware-2009-11-07.hex
atmegang.menu.cpu.atmega8.build.mcu=atmega8
@@ -841,3 +877,175 @@ gemma.build.board=AVR_GEMMA
gemma.upload.tool=avrdude
gemma.upload.maximum_size=5310
+##############################################################
+
+# Adafruit Circuit Playground 32u4 w/Caterina Configuration
+circuitplay32u4cat.name=Adafruit Circuit Playground
+circuitplay32u4cat.bootloader.low_fuses=0xff
+circuitplay32u4cat.bootloader.high_fuses=0xd8
+circuitplay32u4cat.bootloader.extended_fuses=0xcb
+circuitplay32u4cat.bootloader.file=caterina/Caterina-Circuitplay32u4.hex
+circuitplay32u4cat.bootloader.unlock_bits=0x3F
+circuitplay32u4cat.bootloader.lock_bits=0x2F
+circuitplay32u4cat.bootloader.tool=avrdude
+circuitplay32u4cat.build.mcu=atmega32u4
+circuitplay32u4cat.build.f_cpu=8000000L
+circuitplay32u4cat.build.vid=0x239A
+circuitplay32u4cat.build.pid=0x8011
+circuitplay32u4cat.build.core=arduino
+circuitplay32u4cat.build.variant=circuitplay32u4
+circuitplay32u4cat.build.board=AVR_CIRCUITPLAY
+circuitplay32u4cat.build.usb_product="Circuit Playground"
+circuitplay32u4cat.build.usb_manufacturer="Adafruit"
+circuitplay32u4cat.build.extra_flags={build.usb_flags}
+circuitplay32u4cat.upload.protocol=avr109
+circuitplay32u4cat.upload.maximum_size=28672
+circuitplay32u4cat.upload.speed=57600
+circuitplay32u4cat.upload.disable_flushing=true
+circuitplay32u4cat.upload.use_1200bps_touch=true
+circuitplay32u4cat.upload.wait_for_upload_port=true
+circuitplay32u4cat.upload.tool=avrdude
+circuitplay32u4cat.vid.0=0x239A
+circuitplay32u4cat.pid.0=0x8011
+
+##############################################################
+
+yunmini.name=Arduino Yún Mini
+yunmini.upload.via_ssh=true
+
+yunmini.vid.0=0x2a03
+yunmini.pid.0=0x0050
+yunmini.vid.1=0x2a03
+yunmini.pid.1=0x8050
+
+yunmini.upload.tool=avrdude
+yunmini.upload.protocol=avr109
+yunmini.upload.maximum_size=28672
+yunmini.upload.maximum_data_size=2560
+yunmini.upload.speed=57600
+yunmini.upload.disable_flushing=true
+yunmini.upload.use_1200bps_touch=true
+yunmini.upload.wait_for_upload_port=true
+
+yunmini.bootloader.tool=avrdude
+yunmini.bootloader.low_fuses=0xff
+yunmini.bootloader.high_fuses=0xd8
+yunmini.bootloader.extended_fuses=0xfb
+yunmini.bootloader.file=caterina/Caterina-Yunmini.hex
+yunmini.bootloader.unlock_bits=0x3F
+yunmini.bootloader.lock_bits=0x2F
+
+yunmini.build.mcu=atmega32u4
+yunmini.build.f_cpu=16000000L
+yunmini.build.vid=0x2a03
+yunmini.build.pid=0x8050
+yunmini.build.usb_product="Arduino Yún Mini"
+yunmini.build.board=AVR_YUNMINI
+yunmini.build.core=arduino
+yunmini.build.variant=yun
+yunmini.build.extra_flags={build.usb_flags}
+
+##############################################################
+
+chiwawa.name=Arduino Industrial 101
+chiwawa.upload.via_ssh=true
+
+chiwawa.vid.0=0x2a03
+chiwawa.pid.0=0x0056
+chiwawa.vid.1=0x2a03
+chiwawa.pid.1=0x8056
+
+chiwawa.upload.tool=avrdude
+chiwawa.upload.protocol=avr109
+chiwawa.upload.maximum_size=28672
+chiwawa.upload.maximum_data_size=2560
+chiwawa.upload.speed=57600
+chiwawa.upload.disable_flushing=true
+chiwawa.upload.use_1200bps_touch=true
+chiwawa.upload.wait_for_upload_port=true
+
+chiwawa.bootloader.tool=avrdude
+chiwawa.bootloader.low_fuses=0xff
+chiwawa.bootloader.high_fuses=0xd8
+chiwawa.bootloader.extended_fuses=0xfb
+chiwawa.bootloader.file=caterina/Caterina-Industrial101.hex
+chiwawa.bootloader.unlock_bits=0x3F
+chiwawa.bootloader.lock_bits=0x2F
+
+chiwawa.build.mcu=atmega32u4
+chiwawa.build.f_cpu=16000000L
+chiwawa.build.vid=0x2a03
+chiwawa.build.pid=0x8056
+chiwawa.build.usb_product="Arduino Industrial 101"
+chiwawa.build.board=AVR_INDUSTRIAL101
+chiwawa.build.core=arduino
+chiwawa.build.variant=yun
+chiwawa.build.extra_flags={build.usb_flags}
+
+##############################################################
+
+one.name=Linino One
+one.upload.via_ssh=true
+
+one.vid.0=0x2a03
+one.pid.0=0x0001
+one.vid.1=0x2a03
+one.pid.1=0x8001
+
+one.upload.tool=avrdude
+one.upload.protocol=avr109
+one.upload.maximum_size=28672
+one.upload.maximum_data_size=2560
+one.upload.speed=57600
+one.upload.disable_flushing=true
+one.upload.use_1200bps_touch=true
+one.upload.wait_for_upload_port=true
+
+one.bootloader.tool=avrdude
+one.bootloader.low_fuses=0xff
+one.bootloader.high_fuses=0xd8
+one.bootloader.extended_fuses=0xfb
+one.bootloader.file=caterina/Caterina-LininoOne.hex
+one.bootloader.unlock_bits=0x3F
+one.bootloader.lock_bits=0x2F
+
+one.build.mcu=atmega32u4
+one.build.f_cpu=16000000L
+one.build.vid=0x2a03
+one.build.pid=0x8001
+one.build.usb_product="Linino One"
+one.build.board=AVR_LININO_ONE
+one.build.core=arduino
+one.build.variant=yun
+one.build.extra_flags={build.usb_flags}
+
+##############################################################
+
+unowifi.name=Arduino Uno WiFi
+unowifi.vid.0=0x2A03
+unowifi.pid.0=0x0057
+
+unowifi.upload.tool=avrdude
+unowifi.upload.protocol=arduino
+unowifi.upload.maximum_size=32256
+unowifi.upload.maximum_data_size=2048
+unowifi.upload.speed=115200
+unowifi.upload.network.endpoint_upload=/pgm/upload
+unowifi.upload.network.endpoint_sync=/pgm/sync
+unowifi.upload.network.sync_return=204:SYNC
+unowifi.upload.network.endpoint_reset=/log/reset
+unowifi.upload.network.port=80
+
+unowifi.bootloader.tool=avrdude
+unowifi.bootloader.low_fuses=0xFF
+unowifi.bootloader.high_fuses=0xDE
+unowifi.bootloader.extended_fuses=0x05
+unowifi.bootloader.unlock_bits=0x3F
+unowifi.bootloader.lock_bits=0x0F
+unowifi.bootloader.file=optiboot/optiboot_atmega328.hex
+
+unowifi.build.mcu=atmega328p
+unowifi.build.f_cpu=16000000L
+unowifi.build.board=AVR_UNO_WIFI
+unowifi.build.core=arduino
+unowifi.build.variant=standard
diff --git a/bootloaders/caterina/Caterina-Circuitplay32u4.hex b/bootloaders/caterina/Caterina-Circuitplay32u4.hex
new file mode 100644
index 0000000..fe6d762
--- /dev/null
+++ b/bootloaders/caterina/Caterina-Circuitplay32u4.hex
@@ -0,0 +1,251 @@
+:1070000055C000006EC000006CC000006AC00000E7
+:1070100068C0000066C0000064C0000062C00000DC
+:1070200060C000005EC00000B2C400005AC0000092
+:1070300058C0000056C0000054C0000052C00000FC
+:1070400050C00000D7C000004CC000004AC0000083
+:1070500048C0000046C0000044C0000042C000001C
+:1070600040C000003EC000003CC000003AC000002C
+:1070700038C0000036C0000034C0000032C000003C
+:1070800030C000002EC000002CC000002AC000004C
+:1070900028C0000026C0000024C0000022C000005C
+:1070A00020C000001EC000001CC0000011241FBE34
+:1070B000CFEFDAE0DEBFCDBF11E0A0E0B1E0E0EB62
+:1070C000FEE702C005900D92A43DB107D9F711E08B
+:1070D000A4EDB1E001C01D92AA3EB107E1F755D37E
+:1070E000E5C68ECF84E08093E9000DC08091E80072
+:1070F0008B778093E80003C08EB3882359F080918A
+:10710000E80082FFF9CF8091E80085FFEFCF809102
+:10711000F100089580E0089593E09093E900909144
+:10712000E80095FF09C08093F10084E690E0909319
+:10713000D9018093D80108959091E8009E779093AB
+:10714000E80003C09EB3992329F09091E80090FFD6
+:10715000F9CFE9CF0895F89410926F001092810052
+:10716000109285001092840081E085BF15BE47987B
+:107170000C94000008958091DE019091DF0101964A
+:107180009093DF018093DE01292F97FF03C03EEF2C
+:10719000391B232F220F281710F447980895479A78
+:1071A000089584B7877F84BF88E10FB6F8948093F1
+:1071B0006000109260000FBE90E880E00FB6F89477
+:1071C00090936100809361000FBE81E085BF82E0F3
+:1071D00085BF3F9AE1E6F0E09083108247981092D5
+:1071E00089009DE79093880080936F0083E08093EF
+:1071F0008100B5C31F920F920FB60F9211242F93E7
+:107200008F939F93EF93FF931092850010928400C9
+:107210008091D8019091D901009729F0019790931E
+:10722000D9018093D8018091D6019091D701009720
+:1072300029F001979093D7018093D601E0E0F0E028
+:1072400085919491019649F08091D4019091D50156
+:1072500001969093D5018093D401FF91EF919F9176
+:107260008F912F910F900FBE0F901F90189542E0B5
+:1072700061EC82E007D342E161E883E003D342E1BD
+:1072800060E884E0FFC28091E201982F9F779132FD
+:1072900039F59091E301903291F0913209F5813AFC
+:1072A000F9F48091E800877F8093E80067E070E060
+:1072B00083E091E01AD48091E8008B770FC081328F
+:1072C00079F48091E800877F8093E80067E070E0C0
+:1072D00083E091E067D48091E8008E778093E800A6
+:1072E00008954F925F926F927F928F929F92AF928A
+:1072F000BF92CF92DF92EF92FF920F931F93CF93A3
+:10730000DF9384E08093E9008091E80082FF2CC243
+:1073100084E690E09093D7018093D601E3DE082FB6
+:10732000853481F48CE195E29093D5018093D4016A
+:1073300007B600FCFDCFF999FECF81E1809357009D
+:10734000E89503C0843521F4CDDE8DE0E5DEE3C1B0
+:107350008C34D9F3803509F4F8CF843721F484E4F0
+:10736000DBDE80E0F3CF813611F489E5EFCF8134A5
+:1073700081F4B8DEC82FB6DE90E0880F991F3C2F4D
+:10738000330F20E0822B932BAA2797FDA095BA2FCD
+:1073900096C1803711F483E5D9CF833549F4CAEC1F
+:1073A000D1E08991B9DE21E0C13DD207D1F7B3C167
+:1073B000863521F481E3B0DE80E3C8CF833731F432
+:1073C00087E8AADE85E9A8DE8EE1C0CF8536B9F46C
+:1073D000E0E0F0E083E095E080935700E89507B6A1
+:1073E00000FCFDCF90935700E89507B600FCFDCF59
+:1073F000E058FF4FE11520E7F20771F7A6CF82377B
+:1074000019F4E1E0F0E00EC0863419F4E0E0F0E0B9
+:1074100009C08E3419F4E3E0F0E004C0813539F49A
+:10742000E2E0F0E089E08093570084918FCF8236CC
+:1074300031F489E571DE80E06FDE80E887CF823449
+:1074400019F0873609F0D1C01092D5011092D401FD
+:1074500049DEC82E47DED82E45DE182F85548230EF
+:1074600010F08FE373CFDC2D80E0C82FCD29109270
+:107470006F00073609F041C081E180935700E8951D
+:10748000B12C01E037C0C090DA01D090DB01E09070
+:10749000DC01F090DD011634B9F4EB2DF0E0EC29BD
+:1074A000FD29849139DEBB2069F0E2E0CE0ED11CCB
+:1074B000E11CF11CC092DA01D092DB01E092DC0108
+:1074C000F092DD01B02615C0D701C601B695A7958B
+:1074D00097958795D5D420DEF2E0CF0ED11CE11C24
+:1074E000F11CC092DA01D092DB01E092DC01F09253
+:1074F000DD012197209739F674C08090DA019090D1
+:10750000DB01A090DC01B090DD01163409F057C01A
+:1075100083E0F40180935700E89507B600FCFDCFA7
+:107520004EC0163439F5DD2009F14090DA01509053
+:10753000DB016090DC017090DD01D4DDF82EE12CE0
+:1075400097012C29F201090100935700E8951124B5
+:10755000F2E04F0E511C611C711C4092DA015092F6
+:10756000DB016092DC017092DD0102C0BBDDC82E40
+:10757000D02623C0B7DD682F8091DA019091DB011E
+:10758000A091DC01B091DD01B695A79597958795FF
+:107590007FD44091DA015091DB016091DC01709160
+:1075A000DD014E5F5F4F6F4F7F4F4093DA01509385
+:1075B000DB016093DC017093DD01219703C0C12CD6
+:1075C000D12C01E0209709F0ACCF163441F485E0CE
+:1075D000F40180935700E89507B600FCFDCF8DE0DD
+:1075E0009BDD82E080936F0096C0833471F4C0917C
+:1075F000DA01D091DB0176DD90E021E0FE010C01A3
+:1076000020935700E8951124A0CE833611F5C09041
+:10761000DA01D090DB01E090DC01F090DD0162DD69
+:10762000B701A601416090E021E0FA010C0120932E
+:107630005700E8951124F2E0CF0ED11CE11CF11C9B
+:10764000C092DA01D092DB01E092DC01F092DD0120
+:107650007CCE8D3661F4E091DA01F091DB0185E0BA
+:1076600080935700E89507B600FCFDCF6ECE8235BB
+:1076700051F4E091DA01F091DB01C591D4918D2FA5
+:107680004BDD8C2F63CE843419F52CDD682F80916F
+:10769000DA019091DB01A091DC01B091DD01B6959A
+:1076A000A79597958795F4D38091DA019091DB01A6
+:1076B000A091DC01B091DD010296A11DB11D809366
+:1076C000DA019093DB01A093DC01B093DD013DCEA4
+:1076D0008436F1F4C090DA01D090DB01E090DC0157
+:1076E000F090DD01D701C601B695A79597958795CE
+:1076F000C7D312DD22E0C20ED11CE11CF11CC092E6
+:10770000DA01D092DB01E092DC01F092DD0103C0EE
+:107710008B3109F0A6CE83E08093E9009091E800D8
+:107720008091E8008E778093E80095FD11C08091EC
+:10773000E80080FD04C08EB38111F9CF15C080919F
+:10774000E8008E778093E80003C08EB3882361F051
+:107750008091E80080FFF9CF84E08093E900809178
+:10776000E8008B778093E800DF91CF911F910F9114
+:10777000FF90EF90DF90CF90BF90AF909F908F9051
+:107780007F906F905F904F90089580910008909146
+:107790000108109201081092000844B714BE28E1B5
+:1077A0000FB6F89420936000109260000FBEE0E0E6
+:1077B000F0E0259134912F3F3F4F79F040FF02C018
+:1077C000CADC0BC041FD09C0483039F420910001EA
+:1077D000309101018217930799F7E3DC78941092B6
+:1077E000D5011092D4010CC07CDD39D38091D40135
+:1077F0009091D5018131974210F010920201BBDCCB
+:10780000809102018111F0CF8091E000816080932E
+:10781000E000A1DC80E090E00895292F30E03327DC
+:107820002230310539F02330310549F0213031055E
+:1078300089F00BC02EE330E08AE791E01EC0882378
+:1078400071F0813089F08230A1F020E030E080E0FA
+:1078500090E013C022E130E088EB91E00EC024E01C
+:1078600030E086E791E009C022E230E08CE391E06D
+:1078700004C028E130E08AE091E0FA01918380833E
+:10788000C90108958093E900EBEEF0E0808181600A
+:107890008083EDEEF0E010826093EC0040838091F5
+:1078A000EE00881F8827881F08958091E20187FDD8
+:1078B00005C08091E80080FF0DC010C08091E800F5
+:1078C00082FD04C08EB38111F9CF08958091E80044
+:1078D0008B7707C08EB38111ECCF08958091E800BB
+:1078E0008E778093E80008950F931F93CF93DF93D3
+:1078F00041D048D0C8EDD0E088818F7788838881D7
+:107900008068888388818F7D888319BC1EBA109215
+:10791000E00100EE10E0F80180818B7F8083888198
+:107920008160888342E060E080E0ACDFE1EEF0E07F
+:1079300080818E7F8083E2EEF0E0808181608083B1
+:10794000808188608083F80180818E7F8083888138
+:1079500080618883DF91CF911F910F910895E7EDAA
+:10796000F0E08081816080838AE482BF81E080933F
+:10797000E101BACFE8EDF0E080818E7F8083109244
+:10798000E20008951092DA001092E10008951F922B
+:107990000F920FB60F9211242F933F934F935F9343
+:1079A0006F937F938F939F93AF93BF93EF93FF93C7
+:1079B0008091DA0080FF19C08091D80080FF15C047
+:1079C0008091DA008E7F8093DA008091D90019BC13
+:1079D00080FF09C082E089BD09B400FEFDCF81E0CF
+:1079E0008EBB3CD202C01EBA39D28091E10080FF2A
+:1079F00017C08091E20080FF13C08091E2008E7F6B
+:107A00008093E2008091E20080618093E2008091A7
+:107A1000D80080628093D80019BC85E08EBB1ED24E
+:107A20008091E10084FF2BC08091E20084FF27C099
+:107A300019BC82E089BD09B400FEFDCF8091D80059
+:107A40008F7D8093D8008091E1008F7E8093E1004C
+:107A50008091E2008F7E8093E2008091E20081605D
+:107A60008093E2008091E001811104C08091E300E5
+:107A700087FF02C084E001C081E08EBBEFD180911E
+:107A8000E10083FF21C08091E20083FF1DC080914F
+:107A9000E100877F8093E10082E08EBB1092E001DD
+:107AA0008091E1008E7F8093E1008091E2008E7FE3
+:107AB0008093E2008091E20080618093E20042E0E6
+:107AC00060E080E0DFDECAD1FF91EF91BF91AF911E
+:107AD0009F918F917F916F915F914F913F912F91E6
+:107AE0000F900FBE0F901F9018954091E801509194
+:107AF000E9014617570748F06115710539F44091BF
+:107B0000E8004E774093E80001C0BA01FC0140E074
+:107B100032C08EB3882309F441C0853009F440C0D7
+:107B20008091E80083FD38C08091E80082FD2EC07E
+:107B30008091E80080FF1FC09091F3008091F200D7
+:107B4000392F20E0A901482BCA0106C0419140937A
+:107B5000F1006150710901966115710519F08830C5
+:107B60009105A0F341E0089709F040E08091E8001A
+:107B70008E778093E8006115710559F64111C9CFE0
+:107B800005C08EB3882351F0853051F08091E80014
+:107B900082FFF7CF80E0089581E0089582E00895A4
+:107BA00083E008956115710529F44091E8004B7751
+:107BB0004093E800AC0127C08EB38823B1F1853033
+:107BC00071F18091E80083FD2CC08091E80082FF74
+:107BD000F3CFFA0107C08091F1008193AF016150AA
+:107BE000710961F0AF019091F3008091F200392F9B
+:107BF00020E0D901A82BCD01892B69F78091E800FD
+:107C00008B778093E80061157105B1F68091E800EB
+:107C100080FD09C08EB3882341F08530B9F783E039
+:107C2000089581E0089580E0089582E00895EF923C
+:107C3000FF920F931F93CF93DF9300D0CDB7DEB7A2
+:107C4000E2EEF1E08091F100819381E0EA3EF807F5
+:107C5000C9F719DB8091E80083FFE9C08091E20158
+:107C60009091E301953009F46FC038F4913071F1CF
+:107C700070F0933009F0DBC029C0983009F4AAC035
+:107C8000993009F4B9C0963009F0D1C083C080386A
+:107C900009F4CDC0823809F0CAC08091E601909104
+:107CA000E701877099278093E9009091EB0010928B
+:107CB000E9008091E800877F8093E80095FB8827A2
+:107CC00080F98093F1001092F1008FC0882319F0A1
+:107CD000823009F0ACC08F71823009F0A8C0809169
+:107CE000E40181112BC08091E6019091E70187703A
+:107CF0009927009709F49BC08093E9002091EB003D
+:107D000020FF1CC02091E301233021F48091EB007F
+:107D1000806212C09091EB0090619093EB0021E0A3
+:107D200030E001C0220F8A95EAF72093EA00109212
+:107D3000EA008091EB0088608093EB001092E900EC
+:107D40008091E800877F54C0811171C00091E401E7
+:107D50001091E5010F771127E02EFFB6F89480917E
+:107D6000E800877F8093E800A0DD8091E80080FF35
+:107D7000FCCF8091E3008078802B8093E3008068C3
+:107D80008093E300EE2011F083E001C082E08EBB1F
+:107D9000FFBE4DC08058823008F049C0AE014F5F31
+:107DA0005F4F6091E6018091E4019091E50135DD3E
+:107DB000009709F43CC02091E800277F2093E80059
+:107DC000BC0189819A8191DE8091E8008B77809354
+:107DD000E8002DC0803859F58091E800877F8093B6
+:107DE000E8008091E0018093F1008091E8008E77B7
+:107DF0008093E8005ADD1BC0811119C09091E40105
+:107E00009230A8F48091E800877F8093E8009093F7
+:107E1000E0014BDD8091E001811104C08091E3001D
+:107E200087FF02C084E001C081E08EBB20DA809130
+:107E3000E80083FF0AC08091EB0080628093EB0032
+:107E40008091E800877F8093E8000F900F90DF918A
+:107E5000CF911F910F91FF90EF9008950895CF93C8
+:107E60008EB3882359F0C091E900C7701092E900E1
+:107E70008091E80083FDDBDEC093E900CF91089597
+:107E8000F999FECF92BD81BDF89A992780B50895E2
+:107E9000262FF999FECF1FBA92BD81BD20BD0FB626
+:107EA000F894FA9AF99A0FBE01960895F894FFCFC4
+:107EB000777701000000000000081803410064000B
+:107EC00061006600720075006900740020004900BE
+:107ED0006E00640075007300740072006900650034
+:107EE000730020004C004C004300000022034100BE
+:107EF0006400610066007200750069007400200073
+:107F0000430069007200630075006900740020007E
+:107F100050006C0061007900670072006F0075000E
+:107F20006E00640000000403090409023E0002011F
+:107F30000080320904000001020201000524001043
+:107F40000104240204052406000107058203080039
+:107F5000FF09040100020A000000070504021000E6
+:107F60000107058302100001120110010200000840
+:107F70009A23110001000201000143415445524976
+:047F80004E4100006E
+:040000030000700089
+:00000001FF
diff --git a/bootloaders/caterina/Caterina-Industrial101.hex b/bootloaders/caterina/Caterina-Industrial101.hex
new file mode 100644
index 0000000..1bad354
--- /dev/null
+++ b/bootloaders/caterina/Caterina-Industrial101.hex
@@ -0,0 +1,250 @@
+:107000005FC0000078C0000076C0000074C00000BF
+:1070100072C0000070C000006EC000006CC00000B4
+:107020006AC0000068C00000DAC4000064C000004C
+:1070300062C0000060C000005EC000005CC00000D4
+:107040005AC000009DC0000056C0000054C000009F
+:1070500052C0000050C000004EC000004CC00000F4
+:107060004AC0000048C0000046C0000044C0000004
+:1070700042C0000040C000003EC000003CC0000014
+:107080003AC0000038C0000036C0000034C0000024
+:1070900032C0000030C000002EC000002CC0000034
+:1070A0002AC0000028C0000026C00000583E713EE3
+:1070B000153F713E153FA63EC83E153FE83EFA3EDD
+:1070C00011241FBECFEFDAE0DEBFCDBF11E0A0E09C
+:1070D000B1E0E4EBFEE702C005900D92A63BB107DC
+:1070E000D9F721E0A6EBB1E001C01D92AF3CB20799
+:1070F000E1F720D3DDC684CF84E08093E90080915E
+:10710000E80085FD0EC08091E8008B778093E80051
+:107110008091E80082FDF3CF8EB38111F9CF80E03A
+:1071200008958091F100089593E09093E900909183
+:10713000E80095FF0AC08093F1005D9884E690E036
+:107140009093BD018093BC0108959091E8009E77D3
+:107150009093E8009091E80090FDEDCF9EB39111DF
+:10716000F9CF0895F89410926F001092810081E099
+:1071700085BF15BE47985D9A289A0C940000089523
+:107180001F920F920FB60F9211242F938F939F93FC
+:10719000EF93FF9310928500109284008091BC01C0
+:1071A0009091BD01009741F001979093BD018093AC
+:1071B000BC01892B09F45D9A8091BA019091BB01C1
+:1071C000009741F001979093BB018093BA01892BFE
+:1071D00009F4289A8091B6019091B7010196909395
+:1071E000B7018093B601E0E0F0E0859194910196BB
+:1071F00049F08091B8019091B90101969093B9013D
+:107200008093B801FF91EF919F918F912F910F90F3
+:107210000FBE0F901F90189542E061EC82E05AD3A8
+:1072200042E161E883E056D342E160E884E052C382
+:107230008091C701982F9F77913239F59091C801BD
+:10724000903291F0913209F5813AF9F48091E80099
+:10725000877F8093E80067E070E082E091E070D47F
+:107260008091E8008B770FC0813279F48091E8003B
+:10727000877F8093E80067E070E082E091E0B9D416
+:107280008091E8008E778093E80008954F925F9296
+:107290006F927F928F929F92AF92BF92CF92DF9226
+:1072A000EF92FF92CF93DF9384E08093E900809187
+:1072B000E80082FF30C2289884E690E09093BB01FA
+:1072C0008093BA0119DFD82F853481F48CE49DE1D5
+:1072D0009093B9018093B80107B600FCFDCFF999EE
+:1072E000FECF81E180935700E89503C0843521F4F7
+:1072F00003DF8DE019DFE6C18C34D9F38035C9F3A3
+:10730000843721F484E410DF80E0F4CF813611F477
+:1073100089E5F0CF813491F4EFDEC82FEDDE90E007
+:10732000880F991F2C2F30E0322F2227330F822B0A
+:10733000932BAA2797FDA095BA2F98C1803711F4F7
+:1073400083E5D8CF833549F4CDEAD1E08991ECDEED
+:1073500021E0C43BD207D1F7B5C1863521F481E3E2
+:10736000E3DE80E3C7CF833731F487E8DDDE85E9EC
+:10737000DBDE8EE1BFCF8536B9F4E0E0F0E083E0FC
+:1073800095E080935700E89507B600FCFDCF9093F9
+:107390005700E89507B600FCFDCFE058FF4FE11518
+:1073A00020E7F20771F7A5CF823719F4E1E0F0E0AA
+:1073B0000EC0863419F4E0E0F0E009C08E3419F410
+:1073C000E3E0F0E004C0813539F4E2E0F0E089E088
+:1073D0008093570084918ECF823631F489E5A4DE04
+:1073E00080E0A2DE80E886CF823419F0873609F08B
+:1073F000D5C01092B9011092B8017EDED82E7CDE85
+:10740000E82E7ADEC82F8BEB8C0F823010F08FE3E2
+:1074100071CFF12CFD2810926F00D73609F045C0CE
+:1074200081E180935700E8955701912CD1E0A11498
+:10743000B10409F4AFC0C090BF01D090C001E0908A
+:10744000C101F090C201C634B9F4E92DF0E0EC2995
+:10745000FD29849169DE992069F082E0C80ED11C73
+:10746000E11CF11CC092BF01D092C001E092C101A9
+:10747000F092C2019D2615C0D701C601B695A79509
+:1074800097958795FFD450DEE2E0CE0ED11CE11C2B
+:10749000F11CC092BF01D092C001E092C101F092F4
+:1074A000C201F1E0AF1AB108C2CF8090BF01909045
+:1074B000C001A090C101B090C201C63421F0C12C1E
+:1074C000D12CD1E030C083E0F40180935700E895DF
+:1074D00007B600FCFDCFF3CFC63461F5DD2039F1EE
+:1074E0004090BF015090C0016090C1017090C201F6
+:1074F00003DE2C2D30E0382BF2010901D093570028
+:10750000E8951124F2E04F0E511C611C711C409251
+:10751000BF015092C0016092C1017092C201DD268C
+:1075200021E0E21AF108E114F104B1F627C0E4DD2C
+:10753000C82EF5CFE1DD682F8091BF019091C00189
+:10754000A091C101B091C201B695A7959795879575
+:10755000A1D44091BF015091C0016091C1017091CF
+:10756000C2014E5F5F4F6F4F7F4F4093BF015093FB
+:10757000C0016093C1017093C201D2CFC63441F4FF
+:1075800085E0F40180935700E89507B600FCFDCF35
+:107590008DE0CADD82E080936F0094C0833471F483
+:1075A000C091BF01D091C001A7DD90E021E0FE01B4
+:1075B0000C0120935700E89511249BCE833601F5EA
+:1075C000C090BF01D090C001E090C101F090C20115
+:1075D00093DDF601E16090E021E00C01209357007B
+:1075E000E8951124F2E0CF0ED11CE11CF11CC092F1
+:1075F000BF01D092C001E092C101F092C20179CEE8
+:107600008D3661F4E091BF01F091C00185E0809377
+:107610005700E89507B600FCFDCF6BCE823551F4DC
+:10762000E091BF01F091C001C591D4918D2F7CDD17
+:107630008C2F60CE843419F55FDD682F8091BF01F7
+:107640009091C001A091C101B091C201B695A795DA
+:10765000979587951FD48091BF019091C001A0910B
+:10766000C101B091C2010296A11DB11D8093BF015D
+:107670009093C001A093C101B093C2013ACE843669
+:10768000F1F4C090BF01D090C001E090C101F09032
+:10769000C201D701C601B695A79597958795F2D3F4
+:1076A00043DD22E0C20ED11CE11CF11CC092BF01DF
+:1076B000D092C001E092C101F092C20103C08B31AF
+:1076C00009F0A5CE83E08093E9009091E8008091D5
+:1076D000E8008E778093E80095FD11C08091E80066
+:1076E00080FD04C08EB38111F9CF15C08091E800F0
+:1076F0008E778093E80003C08EB3882361F0809179
+:10770000E80080FFF9CF84E08093E9008091E800F1
+:107710008B778093E800DF91CF91FF90EF90DF901F
+:10772000CF90BF90AF909F908F907F906F905F9021
+:107730004F900895CF93309100081092000824B71D
+:1077400014BE88E10FB6F894809360001092600038
+:107750000FBE90E080E80FB6F8948093610090939C
+:1077600061000FBE81E085BF82E085BF3F9A209A0D
+:10777000559A90E8909361001092610047985D9A45
+:10778000289A109289009AEF9093880080936F0056
+:1077900083E080938100E0E0F0E085919491019690
+:1077A00019F081E08093BE0121FF20C0809100018B
+:1077B0003817E1F0809300087894809101018823C4
+:1077C00039F08091B6019091B70188379140C8F3A4
+:1077D0001092010110920008F89481E08093010159
+:1077E0008091BE01882371F0BDDC0CC020FF04C075
+:1077F0008091BE018111F8CF23FF04C08091000168
+:107800003813EECFD4D078941092B9011092B80109
+:10781000CEEF80910101882301F138DD1CD38091E6
+:10782000B8019091B90181349F4110F0109201018B
+:107830008091C3019091C40101969093C4018093FB
+:10784000C301292F97FF02C02C2F291B220F2817B5
+:1078500010F44798DECF479ADCCF8091E00081603A
+:107860008093E0007FDC80E090E0CF910895292FA5
+:1078700030E02230310539F02330310549F0213034
+:10788000310561F410C08EE390E02DE531E01EC0BB
+:10789000882371F0813089F08230A1F080E090E09F
+:1078A00020E030E013C082E190E02BE931E00EC02F
+:1078B00084E090E029E531E009C08CE290E027E225
+:1078C00031E004C08CE190E029E031E0FA0131833D
+:1078D000208308958093E900EBEEF0E080818160E1
+:1078E0008083EDEEF0E010826093EC0040838091A5
+:1078F000EE00881F8827881F08958091C70187FDA3
+:1079000005C08091E80080FF0DC010C08091E800A4
+:1079100082FD04C08EB38111F9CF08958091E800F3
+:107920008B7707C08EB38111ECCF08958091E8006A
+:107930008E778093E80008950F931F93CF93DF9382
+:1079400041D048D0C8EDD0E088818F778883888186
+:107950008068888388818F7D888319BC1EBA1092C5
+:10796000C50100EE10E0F80180818B7F8083888163
+:107970008160888342E060E080E0ACDFE1EEF0E02F
+:1079800080818E7F8083E2EEF0E080818160808361
+:10799000808188608083F80180818E7F80838881E8
+:1079A00080618883DF91CF911F910F910895E7ED5A
+:1079B000F0E08081816080838AE482BF81E08093EF
+:1079C000C601BACFE8EDF0E080818E7F808310920F
+:1079D000E20008951092DA001092E10008951F92DB
+:1079E0000F920FB60F9211242F933F934F935F93F3
+:1079F0006F937F938F939F93AF93BF93EF93FF9377
+:107A00008091DA0080FF1BC08091D80080FF17C0F2
+:107A10008091DA008E7F8093DA008091D90080FF18
+:107A20000BC080E189BD82E189BD09B400FEFDCFB4
+:107A300081E08EBB0FD203C019BC1EBA0BD280915D
+:107A4000E10080FF17C08091E20080FF13C08091A9
+:107A5000E2008E7F8093E2008091E200806180935B
+:107A6000E2008091D80080628093D80019BC85E044
+:107A70008EBBF0D18091E10084FF2CC08091E200A8
+:107A800084FF28C080E189BD82E189BD09B400FE80
+:107A9000FDCF8091D8008F7D8093D8008091E10048
+:107AA0008F7E8093E1008091E2008F7E8093E200E0
+:107AB0008091E20081608093E2008091C501811194
+:107AC00004C08091E30087FF02C084E001C081E030
+:107AD0008EBBC0D18091E10083FF21C08091E20084
+:107AE00083FF1DC08091E100877F8093E10082E0E9
+:107AF0008EBB1092C5018091E1008E7F8093E100E2
+:107B00008091E2008E7F8093E2008091E2008061AC
+:107B10008093E20042E060E080E0DCDE9BD1FF91F8
+:107B2000EF91BF91AF919F918F917F916F915F91F5
+:107B30004F913F912F910F900FBE0F901F9018956E
+:107B40002091CD013091CE012617370748F06115FD
+:107B5000710539F42091E8002E772093E80001C0E8
+:107B6000B901FC0120E061157105A1F18EB38823F4
+:107B7000E1F18530E1F18091E80083FD34C080912E
+:107B8000E80082FF06C08091E80082FF26C080E006
+:107B900008958091E80080FFE6CF2091F300809166
+:107BA000F20090E0922B6115710551F0883091053B
+:107BB00038F421912093F100615071090196F3CFBF
+:107BC00021E0089709F020E08091E8008E7780930B
+:107BD000E800C9CF2111CACFD6CF8EB3882329F0B0
+:107BE000853089F604C081E0089582E0089583E03D
+:107BF00008956115710529F42091E8002B772093F1
+:107C0000E8006115710521F12EB3222351F12530D1
+:107C100051F12091E80023FD20C02091E80022FFCF
+:107C2000F3CFFC01CF014091F3002091F20030E04E
+:107C3000342B232B09F38091F1008193CF01615004
+:107C4000710981F7D9CF8EB3882359F0853059F067
+:107C50008091E80080FFF7CF02C081E0089580E0C6
+:107C6000089582E0089583E008950F931F93CF93C2
+:107C7000DF9300D0CDB7DEB7E7ECF1E08091F10003
+:107C8000819381E0EF3CF807C9F7D2DA8091E800F0
+:107C900083FFCBC02091C7013091C801832F90E0B2
+:107CA0008A30910508F0C1C0FC01EA5AF74CE4C0E3
+:107CB000223809F0BAC08091CB0187708093E90027
+:107CC0009091EB001092E9008091E800877F80930B
+:107CD000E80095FB882780F98093F1001092F1006D
+:107CE00082C0822F8D7F09F0A0C0223009F09DC094
+:107CF0008091C901811124C02091CB01277009F422
+:107D000094C02093E9008091EB0080FF19C080911E
+:107D1000EB00333011F4806211C080618093EB007E
+:107D200081E090E0022E01C0880F0A94EAF7809368
+:107D3000EA001092EA008091EB0088608093EB00EB
+:107D40001092E9008091E800877F50C021116DC03A
+:107D50001091C9011F770FB7F8948091E800877FD1
+:107D60008093E800CADD8091E80080FFFCCF80911D
+:107D7000E3008078812B8093E30080688093E300A8
+:107D8000112311F083E001C082E08EBB0FBF4DC014
+:107D90002058223008F049C0AE014F5F5F4F60911C
+:107DA000CB018091C9019091CA0161DD009709F46E
+:107DB0003CC02091E800277F2093E800BC01898126
+:107DC0009A81BEDE8091E8008B778093E8002DC019
+:107DD000203859F58091E800877F8093E8008091F2
+:107DE000C5018093F1008091E8008E778093E800D0
+:107DF00084DD1BC0211119C09091C9019230A8F4F3
+:107E00008091E800877F8093E8009093C50175DD3D
+:107E10008091C501811104C08091E30087FF02C0F9
+:107E200084E001C081E08EBBF7D98091E80083FF38
+:107E30000AC08091EB0080628093EB008091E800A3
+:107E4000877F8093E8000F900F90DF91CF911F9173
+:107E50000F9108950895CF938EB3882359F0C09160
+:107E6000E900C7701092E9008091E80083FDFDDE13
+:107E7000C093E900CF910895EE0FFF1F0590F49194
+:107E8000E02D0994F999FECF92BD81BDF89A99270A
+:107E900080B50895262FF999FECF1FBA92BD81BDF6
+:107EA00020BD0FB6F894FA9AF99A0FBE019608957C
+:047EB000F894FFCF74
+:107EB4007701000000000000081C03410072006408
+:107EC40000750069006E006F002000730072006C82
+:107ED400002000200000002C0341007200640075A3
+:107EE4000069006E006F00200049006E0064007598
+:107EF40000730074007200690061006C002000319E
+:107F04000030003100200000000403090409023E8F
+:107F14000002010080320904000001020201000590
+:107F2400240010010424020405240600010705822C
+:107F3400030800FF09040100020A00000007050409
+:107F44000210000107058302100001120110010252
+:107F5400000008032A5600010002010001434154B5
+:067F64004552494E4100A8
+:040000030000700089
+:00000001FF
diff --git a/bootloaders/caterina/Caterina-LeonardoEthernet.hex b/bootloaders/caterina/Caterina-LeonardoEthernet.hex
new file mode 100644
index 0000000..65393e7
--- /dev/null
+++ b/bootloaders/caterina/Caterina-LeonardoEthernet.hex
@@ -0,0 +1,250 @@
+:107000005FC0000078C0000076C0000074C00000BF
+:1070100072C0000070C000006EC000006CC00000B4
+:107020006AC0000068C00000DAC4000064C000004C
+:1070300062C0000060C000005EC000005CC00000D4
+:107040005AC000009DC0000056C0000054C000009F
+:1070500052C0000050C000004EC000004CC00000F4
+:107060004AC0000048C0000046C0000044C0000004
+:1070700042C0000040C000003EC000003CC0000014
+:107080003AC0000038C0000036C0000034C0000024
+:1070900032C0000030C000002EC000002CC0000034
+:1070A0002AC0000028C0000026C00000583E713EE3
+:1070B000153F713E153FA63EC83E153FE83EFA3EDD
+:1070C00011241FBECFEFDAE0DEBFCDBF11E0A0E09C
+:1070D000B1E0E4EBFEE702C005900D92A23BB107E0
+:1070E000D9F721E0A2EBB1E001C01D92AB3CB207A1
+:1070F000E1F720D3DDC684CF84E08093E90080915E
+:10710000E80085FD0EC08091E8008B778093E80051
+:107110008091E80082FDF3CF8EB38111F9CF80E03A
+:1071200008958091F100089593E09093E900909183
+:10713000E80095FF0AC08093F1005D9884E690E036
+:107140009093B9018093B80108959091E8009E77DB
+:107150009093E8009091E80090FDEDCF9EB39111DF
+:10716000F9CF0895F89410926F001092810081E099
+:1071700085BF15BE47985D9A289A0C940000089523
+:107180001F920F920FB60F9211242F938F939F93FC
+:10719000EF93FF9310928500109284008091B801C4
+:1071A0009091B901009741F001979093B9018093B4
+:1071B000B801892B09F45D9A8091B6019091B701CD
+:1071C000009741F001979093B7018093B601892B06
+:1071D00009F4289A8091B2019091B301019690939D
+:1071E000B3018093B201E0E0F0E0859194910196C3
+:1071F00049F08091B4019091B50101969093B50149
+:107200008093B401FF91EF919F918F912F910F90F7
+:107210000FBE0F901F90189542E061EC82E05AD3A8
+:1072200042E161E883E056D342E160E884E052C382
+:107230008091C301982F9F77913239F59091C401C5
+:10724000903291F0913209F5813AF9F48091E80099
+:10725000877F8093E80067E070E082E091E070D47F
+:107260008091E8008B770FC0813279F48091E8003B
+:10727000877F8093E80067E070E082E091E0B9D416
+:107280008091E8008E778093E80008954F925F9296
+:107290006F927F928F929F92AF92BF92CF92DF9226
+:1072A000EF92FF92CF93DF9384E08093E900809187
+:1072B000E80082FF30C2289884E690E09093B701FE
+:1072C0008093B60119DFD82F853481F48CE49DE1D9
+:1072D0009093B5018093B40107B600FCFDCFF999F6
+:1072E000FECF81E180935700E89503C0843521F4F7
+:1072F00003DF8DE019DFE6C18C34D9F38035C9F3A3
+:10730000843721F484E410DF80E0F4CF813611F477
+:1073100089E5F0CF813491F4EFDEC82FEDDE90E007
+:10732000880F991F2C2F30E0322F2227330F822B0A
+:10733000932BAA2797FDA095BA2F98C1803711F4F7
+:1073400083E5D8CF833549F4C9EAD1E08991ECDEF1
+:1073500021E0C03BD207D1F7B5C1863521F481E3E6
+:10736000E3DE80E3C7CF833731F487E8DDDE85E9EC
+:10737000DBDE8EE1BFCF8536B9F4E0E0F0E083E0FC
+:1073800095E080935700E89507B600FCFDCF9093F9
+:107390005700E89507B600FCFDCFE058FF4FE11518
+:1073A00020E7F20771F7A5CF823719F4E1E0F0E0AA
+:1073B0000EC0863419F4E0E0F0E009C08E3419F410
+:1073C000E3E0F0E004C0813539F4E2E0F0E089E088
+:1073D0008093570084918ECF823631F489E5A4DE04
+:1073E00080E0A2DE80E886CF823419F0873609F08B
+:1073F000D5C01092B5011092B4017EDED82E7CDE8D
+:10740000E82E7ADEC82F8BEB8C0F823010F08FE3E2
+:1074100071CFF12CFD2810926F00D73609F045C0CE
+:1074200081E180935700E8955701912CD1E0A11498
+:10743000B10409F4AFC0C090BB01D090BC01E09092
+:10744000BD01F090BE01C634B9F4E92DF0E0EC299D
+:10745000FD29849169DE992069F082E0C80ED11C73
+:10746000E11CF11CC092BB01D092BC01E092BD01B5
+:10747000F092BE019D2615C0D701C601B695A7950D
+:1074800097958795FFD450DEE2E0CE0ED11CE11C2B
+:10749000F11CC092BB01D092BC01E092BD01F09200
+:1074A000BE01F1E0AF1AB108C2CF8090BB0190904D
+:1074B000BC01A090BD01B090BE01C63421F0C12C2A
+:1074C000D12CD1E030C083E0F40180935700E895DF
+:1074D00007B600FCFDCFF3CFC63461F5DD2039F1EE
+:1074E0004090BB015090BC016090BD017090BE0106
+:1074F00003DE2C2D30E0382BF2010901D093570028
+:10750000E8951124F2E04F0E511C611C711C409251
+:10751000BB015092BC016092BD017092BE01DD269C
+:1075200021E0E21AF108E114F104B1F627C0E4DD2C
+:10753000C82EF5CFE1DD682F8091BB019091BC0191
+:10754000A091BD01B091BE01B695A795979587957D
+:10755000A1D44091BB015091BC016091BD017091DB
+:10756000BE014E5F5F4F6F4F7F4F4093BB01509303
+:10757000BC016093BD017093BE01D2CFC63441F40B
+:1075800085E0F40180935700E89507B600FCFDCF35
+:107590008DE0CADD82E080936F0094C0833471F483
+:1075A000C091BB01D091BC01A7DD90E021E0FE01BC
+:1075B0000C0120935700E89511249BCE833601F5EA
+:1075C000C090BB01D090BC01E090BD01F090BE0125
+:1075D00093DDF601E16090E021E00C01209357007B
+:1075E000E8951124F2E0CF0ED11CE11CF11CC092F1
+:1075F000BB01D092BC01E092BD01F092BE0179CEF8
+:107600008D3661F4E091BB01F091BC0185E080937F
+:107610005700E89507B600FCFDCF6BCE823551F4DC
+:10762000E091BB01F091BC01C591D4918D2F7CDD1F
+:107630008C2F60CE843419F55FDD682F8091BB01FB
+:107640009091BC01A091BD01B091BE01B695A795E6
+:10765000979587951FD48091BB019091BC01A09113
+:10766000BD01B091BE010296A11DB11D8093BB0169
+:107670009093BC01A093BD01B093BE013ACE843675
+:10768000F1F4C090BB01D090BC01E090BD01F0903E
+:10769000BE01D701C601B695A79597958795F2D3F8
+:1076A00043DD22E0C20ED11CE11CF11CC092BB01E3
+:1076B000D092BC01E092BD01F092BE0103C08B31BB
+:1076C00009F0A5CE83E08093E9009091E8008091D5
+:1076D000E8008E778093E80095FD11C08091E80066
+:1076E00080FD04C08EB38111F9CF15C08091E800F0
+:1076F0008E778093E80003C08EB3882361F0809179
+:10770000E80080FFF9CF84E08093E9008091E800F1
+:107710008B778093E800DF91CF91FF90EF90DF901F
+:10772000CF90BF90AF909F908F907F906F905F9021
+:107730004F900895CF93309100081092000824B71D
+:1077400014BE88E10FB6F894809360001092600038
+:107750000FBE90E080E80FB6F8948093610090939C
+:1077600061000FBE81E085BF82E085BF3F9A209A0D
+:10777000559A90E8909361001092610047985D9A45
+:10778000289A109289009AEF9093880080936F0056
+:1077900083E080938100E0E0F0E085919491019690
+:1077A00019F081E08093BA0121FF20C0809100018F
+:1077B0003817E1F0809300087894809101018823C4
+:1077C00039F08091B2019091B30188379140C8F3AC
+:1077D0001092010110920008F89481E08093010159
+:1077E0008091BA01882371F0BDDC0CC020FF04C079
+:1077F0008091BA018111F8CF23FF04C0809100016C
+:107800003813EECFD4D078941092B5011092B40111
+:10781000CEEF80910101882301F138DD1CD38091E6
+:10782000B4019091B50181349F4110F01092010193
+:107830008091BF019091C00101969093C001809307
+:10784000BF01292F97FF02C02C2F291B220F2817B9
+:1078500010F44798DECF479ADCCF8091E00081603A
+:107860008093E0007FDC80E090E0CF910895292FA5
+:1078700030E02230310539F02330310549F0213034
+:10788000310561F410C08EE390E029E531E01EC0BF
+:10789000882371F0813089F08230A1F080E090E09F
+:1078A00020E030E013C082E190E027E931E00EC033
+:1078B00084E090E025E531E009C08CE290E027E229
+:1078C00031E004C08CE190E029E031E0FA0131833D
+:1078D000208308958093E900EBEEF0E080818160E1
+:1078E0008083EDEEF0E010826093EC0040838091A5
+:1078F000EE00881F8827881F08958091C30187FDA7
+:1079000005C08091E80080FF0DC010C08091E800A4
+:1079100082FD04C08EB38111F9CF08958091E800F3
+:107920008B7707C08EB38111ECCF08958091E8006A
+:107930008E778093E80008950F931F93CF93DF9382
+:1079400041D048D0C8EDD0E088818F778883888186
+:107950008068888388818F7D888319BC1EBA1092C5
+:10796000C10100EE10E0F80180818B7F8083888167
+:107970008160888342E060E080E0ACDFE1EEF0E02F
+:1079800080818E7F8083E2EEF0E080818160808361
+:10799000808188608083F80180818E7F80838881E8
+:1079A00080618883DF91CF911F910F910895E7ED5A
+:1079B000F0E08081816080838AE482BF81E08093EF
+:1079C000C201BACFE8EDF0E080818E7F8083109213
+:1079D000E20008951092DA001092E10008951F92DB
+:1079E0000F920FB60F9211242F933F934F935F93F3
+:1079F0006F937F938F939F93AF93BF93EF93FF9377
+:107A00008091DA0080FF1BC08091D80080FF17C0F2
+:107A10008091DA008E7F8093DA008091D90080FF18
+:107A20000BC080E189BD82E189BD09B400FEFDCFB4
+:107A300081E08EBB0FD203C019BC1EBA0BD280915D
+:107A4000E10080FF17C08091E20080FF13C08091A9
+:107A5000E2008E7F8093E2008091E200806180935B
+:107A6000E2008091D80080628093D80019BC85E044
+:107A70008EBBF0D18091E10084FF2CC08091E200A8
+:107A800084FF28C080E189BD82E189BD09B400FE80
+:107A9000FDCF8091D8008F7D8093D8008091E10048
+:107AA0008F7E8093E1008091E2008F7E8093E200E0
+:107AB0008091E20081608093E2008091C101811198
+:107AC00004C08091E30087FF02C084E001C081E030
+:107AD0008EBBC0D18091E10083FF21C08091E20084
+:107AE00083FF1DC08091E100877F8093E10082E0E9
+:107AF0008EBB1092C1018091E1008E7F8093E100E6
+:107B00008091E2008E7F8093E2008091E2008061AC
+:107B10008093E20042E060E080E0DCDE9BD1FF91F8
+:107B2000EF91BF91AF919F918F917F916F915F91F5
+:107B30004F913F912F910F900FBE0F901F9018956E
+:107B40002091C9013091CA012617370748F0611505
+:107B5000710539F42091E8002E772093E80001C0E8
+:107B6000B901FC0120E061157105A1F18EB38823F4
+:107B7000E1F18530E1F18091E80083FD34C080912E
+:107B8000E80082FF06C08091E80082FF26C080E006
+:107B900008958091E80080FFE6CF2091F300809166
+:107BA000F20090E0922B6115710551F0883091053B
+:107BB00038F421912093F100615071090196F3CFBF
+:107BC00021E0089709F020E08091E8008E7780930B
+:107BD000E800C9CF2111CACFD6CF8EB3882329F0B0
+:107BE000853089F604C081E0089582E0089583E03D
+:107BF00008956115710529F42091E8002B772093F1
+:107C0000E8006115710521F12EB3222351F12530D1
+:107C100051F12091E80023FD20C02091E80022FFCF
+:107C2000F3CFFC01CF014091F3002091F20030E04E
+:107C3000342B232B09F38091F1008193CF01615004
+:107C4000710981F7D9CF8EB3882359F0853059F067
+:107C50008091E80080FFF7CF02C081E0089580E0C6
+:107C6000089582E0089583E008950F931F93CF93C2
+:107C7000DF9300D0CDB7DEB7E3ECF1E08091F10007
+:107C8000819381E0EB3CF807C9F7D2DA8091E800F4
+:107C900083FFCBC02091C3013091C401832F90E0BA
+:107CA0008A30910508F0C1C0FC01EA5AF74CE4C0E3
+:107CB000223809F0BAC08091C70187708093E9002B
+:107CC0009091EB001092E9008091E800877F80930B
+:107CD000E80095FB882780F98093F1001092F1006D
+:107CE00082C0822F8D7F09F0A0C0223009F09DC094
+:107CF0008091C501811124C02091C701277009F42A
+:107D000094C02093E9008091EB0080FF19C080911E
+:107D1000EB00333011F4806211C080618093EB007E
+:107D200081E090E0022E01C0880F0A94EAF7809368
+:107D3000EA001092EA008091EB0088608093EB00EB
+:107D40001092E9008091E800877F50C021116DC03A
+:107D50001091C5011F770FB7F8948091E800877FD5
+:107D60008093E800CADD8091E80080FFFCCF80911D
+:107D7000E3008078812B8093E30080688093E300A8
+:107D8000112311F083E001C082E08EBB0FBF4DC014
+:107D90002058223008F049C0AE014F5F5F4F60911C
+:107DA000C7018091C5019091C60161DD009709F47A
+:107DB0003CC02091E800277F2093E800BC01898126
+:107DC0009A81BEDE8091E8008B778093E8002DC019
+:107DD000203859F58091E800877F8093E8008091F2
+:107DE000C1018093F1008091E8008E778093E800D4
+:107DF00084DD1BC0211119C09091C5019230A8F4F7
+:107E00008091E800877F8093E8009093C10175DD41
+:107E10008091C101811104C08091E30087FF02C0FD
+:107E200084E001C081E08EBBF7D98091E80083FF38
+:107E30000AC08091EB0080628093EB008091E800A3
+:107E4000877F8093E8000F900F90DF91CF911F9173
+:107E50000F9108950895CF938EB3882359F0C09160
+:107E6000E900C7701092E9008091E80083FDFDDE13
+:107E7000C093E900CF910895EE0FFF1F0590F49194
+:107E8000E02D0994F999FECF92BD81BDF89A99270A
+:107E900080B50895262FF999FECF1FBA92BD81BDF6
+:107EA00020BD0FB6F894FA9AF99A0FBE019608957C
+:047EB000F894FFCF74
+:107EB4007701000000000000081C03410072006408
+:107EC40000750069006E006F002000730072006C82
+:107ED400002000200000002C0341007200640075A3
+:107EE4000069006E006F0020004C0065006F006E9A
+:107EF400006100720064006F0020004500540048D7
+:107F040000200000000403090409023E00020100ED
+:107F1400803209040000010202010005240010015E
+:107F2400042402040524060001070582030800FF57
+:107F340009040100020A0000000705040210000100
+:107F4400070583021000011201100102000008035A
+:107F54002A40000100020100014341544552494EA8
+:027F64004100DA
+:040000030000700089
+:00000001FF
diff --git a/bootloaders/caterina/Caterina-LininoOne.hex b/bootloaders/caterina/Caterina-LininoOne.hex
new file mode 100644
index 0000000..32e7c2b
--- /dev/null
+++ b/bootloaders/caterina/Caterina-LininoOne.hex
@@ -0,0 +1,249 @@
+:107000005FC0000078C0000076C0000074C00000BF
+:1070100072C0000070C000006EC000006CC00000B4
+:107020006AC0000068C00000DAC4000064C000004C
+:1070300062C0000060C000005EC000005CC00000D4
+:107040005AC000009DC0000056C0000054C000009F
+:1070500052C0000050C000004EC000004CC00000F4
+:107060004AC0000048C0000046C0000044C0000004
+:1070700042C0000040C000003EC000003CC0000014
+:107080003AC0000038C0000036C0000034C0000024
+:1070900032C0000030C000002EC000002CC0000034
+:1070A0002AC0000028C0000026C00000583E713EE3
+:1070B000153F713E153FA63EC83E153FE83EFA3EDD
+:1070C00011241FBECFEFDAE0DEBFCDBF11E0A0E09C
+:1070D000B1E0E4EBFEE702C005900D92A83AB107DB
+:1070E000D9F721E0A8EAB1E001C01D92A13CB207A6
+:1070F000E1F720D3DDC684CF84E08093E90080915E
+:10710000E80085FD0EC08091E8008B778093E80051
+:107110008091E80082FDF3CF8EB38111F9CF80E03A
+:1071200008958091F100089593E09093E900909183
+:10713000E80095FF0AC08093F1005D9884E690E036
+:107140009093AF018093AE0108959091E8009E77EF
+:107150009093E8009091E80090FDEDCF9EB39111DF
+:10716000F9CF0895F89410926F001092810081E099
+:1071700085BF15BE47985D9A289A0C940000089523
+:107180001F920F920FB60F9211242F938F939F93FC
+:10719000EF93FF9310928500109284008091AE01CE
+:1071A0009091AF01009741F001979093AF018093C8
+:1071B000AE01892B09F45D9A8091AC019091AD01EB
+:1071C000009741F001979093AD018093AC01892B1A
+:1071D00009F4289A8091A8019091A90101969093B1
+:1071E000A9018093A801E0E0F0E0859194910196D7
+:1071F00049F08091AA019091AB0101969093AB0167
+:107200008093AA01FF91EF919F918F912F910F9001
+:107210000FBE0F901F90189542E061EC82E05AD3A8
+:1072200042E161E883E056D342E160E884E052C382
+:107230008091B901982F9F77913239F59091BA01D9
+:10724000903291F0913209F5813AF9F48091E80099
+:10725000877F8093E80067E070E082E091E070D47F
+:107260008091E8008B770FC0813279F48091E8003B
+:10727000877F8093E80067E070E082E091E0B9D416
+:107280008091E8008E778093E80008954F925F9296
+:107290006F927F928F929F92AF92BF92CF92DF9226
+:1072A000EF92FF92CF93DF9384E08093E900809187
+:1072B000E80082FF30C2289884E690E09093AD0108
+:1072C0008093AC0119DFD82F853481F48CE49DE1E3
+:1072D0009093AB018093AA0107B600FCFDCFF9990A
+:1072E000FECF81E180935700E89503C0843521F4F7
+:1072F00003DF8DE019DFE6C18C34D9F38035C9F3A3
+:10730000843721F484E410DF80E0F4CF813611F477
+:1073100089E5F0CF813491F4EFDEC82FEDDE90E007
+:10732000880F991F2C2F30E0322F2227330F822B0A
+:10733000932BAA2797FDA095BA2F98C1803711F4F7
+:1073400083E5D8CF833549F4CFE9D1E08991ECDEEC
+:1073500021E0C63AD207D1F7B5C1863521F481E3E1
+:10736000E3DE80E3C7CF833731F487E8DDDE85E9EC
+:10737000DBDE8EE1BFCF8536B9F4E0E0F0E083E0FC
+:1073800095E080935700E89507B600FCFDCF9093F9
+:107390005700E89507B600FCFDCFE058FF4FE11518
+:1073A00020E7F20771F7A5CF823719F4E1E0F0E0AA
+:1073B0000EC0863419F4E0E0F0E009C08E3419F410
+:1073C000E3E0F0E004C0813539F4E2E0F0E089E088
+:1073D0008093570084918ECF823631F489E5A4DE04
+:1073E00080E0A2DE80E886CF823419F0873609F08B
+:1073F000D5C01092AB011092AA017EDED82E7CDEA1
+:10740000E82E7ADEC82F8BEB8C0F823010F08FE3E2
+:1074100071CFF12CFD2810926F00D73609F045C0CE
+:1074200081E180935700E8955701912CD1E0A11498
+:10743000B10409F4AFC0C090B101D090B201E090A6
+:10744000B301F090B401C634B9F4E92DF0E0EC29B1
+:10745000FD29849169DE992069F082E0C80ED11C73
+:10746000E11CF11CC092B101D092B201E092B301D3
+:10747000F092B4019D2615C0D701C601B695A79517
+:1074800097958795FFD450DEE2E0CE0ED11CE11C2B
+:10749000F11CC092B101D092B201E092B301F0921E
+:1074A000B401F1E0AF1AB108C2CF8090B101909061
+:1074B000B201A090B301B090B401C63421F0C12C48
+:1074C000D12CD1E030C083E0F40180935700E895DF
+:1074D00007B600FCFDCFF3CFC63461F5DD2039F1EE
+:1074E0004090B1015090B2016090B3017090B4012E
+:1074F00003DE2C2D30E0382BF2010901D093570028
+:10750000E8951124F2E04F0E511C611C711C409251
+:10751000B1015092B2016092B3017092B401DD26C4
+:1075200021E0E21AF108E114F104B1F627C0E4DD2C
+:10753000C82EF5CFE1DD682F8091B1019091B201A5
+:10754000A091B301B091B401B695A7959795879591
+:10755000A1D44091B1015091B2016091B3017091F9
+:10756000B4014E5F5F4F6F4F7F4F4093B101509317
+:10757000B2016093B3017093B401D2CFC63441F429
+:1075800085E0F40180935700E89507B600FCFDCF35
+:107590008DE0CADD82E080936F0094C0833471F483
+:1075A000C091B101D091B201A7DD90E021E0FE01D0
+:1075B0000C0120935700E89511249BCE833601F5EA
+:1075C000C090B101D090B201E090B301F090B4014D
+:1075D00093DDF601E16090E021E00C01209357007B
+:1075E000E8951124F2E0CF0ED11CE11CF11CC092F1
+:1075F000B101D092B201E092B301F092B40179CE20
+:107600008D3661F4E091B101F091B20185E0809393
+:107610005700E89507B600FCFDCF6BCE823551F4DC
+:10762000E091B101F091B201C591D4918D2F7CDD33
+:107630008C2F60CE843419F55FDD682F8091B10105
+:107640009091B201A091B301B091B401B695A79504
+:10765000979587951FD48091B1019091B201A09127
+:10766000B301B091B4010296A11DB11D8093B10187
+:107670009093B201A093B301B093B4013ACE843693
+:10768000F1F4C090B101D090B201E090B301F0905C
+:10769000B401D701C601B695A79597958795F2D302
+:1076A00043DD22E0C20ED11CE11CF11CC092B101ED
+:1076B000D092B201E092B301F092B40103C08B31D9
+:1076C00009F0A5CE83E08093E9009091E8008091D5
+:1076D000E8008E778093E80095FD11C08091E80066
+:1076E00080FD04C08EB38111F9CF15C08091E800F0
+:1076F0008E778093E80003C08EB3882361F0809179
+:10770000E80080FFF9CF84E08093E9008091E800F1
+:107710008B778093E800DF91CF91FF90EF90DF901F
+:10772000CF90BF90AF909F908F907F906F905F9021
+:107730004F900895CF93309100081092000824B71D
+:1077400014BE88E10FB6F894809360001092600038
+:107750000FBE90E080E80FB6F8948093610090939C
+:1077600061000FBE81E085BF82E085BF3F9A209A0D
+:10777000559A90E8909361001092610047985D9A45
+:10778000289A109289009AEF9093880080936F0056
+:1077900083E080938100E0E0F0E085919491019690
+:1077A00019F081E08093B00121FF20C08091000199
+:1077B0003817E1F0809300087894809101018823C4
+:1077C00039F08091A8019091A90188379140C8F3C0
+:1077D0001092010110920008F89481E08093010159
+:1077E0008091B001882371F0BDDC0CC020FF04C083
+:1077F0008091B0018111F8CF23FF04C08091000176
+:107800003813EECFD4D078941092AB011092AA0125
+:10781000CEEF80910101882301F138DD1CD38091E6
+:10782000AA019091AB0181349F4110F010920101A7
+:107830008091B5019091B60101969093B601809325
+:10784000B501292F97FF02C02C2F291B220F2817C3
+:1078500010F44798DECF479ADCCF8091E00081603A
+:107860008093E0007FDC80E090E0CF910895292FA5
+:1078700030E02230310539F02330310549F0213034
+:10788000310561F410C08EE390E02FE431E01EC0BA
+:10789000882371F0813089F08230A1F080E090E09F
+:1078A00020E030E013C082E190E02DE831E00EC02E
+:1078B00084E090E02BE431E009C082E290E027E22E
+:1078C00031E004C08CE190E029E031E0FA0131833D
+:1078D000208308958093E900EBEEF0E080818160E1
+:1078E0008083EDEEF0E010826093EC0040838091A5
+:1078F000EE00881F8827881F08958091B90187FDB1
+:1079000005C08091E80080FF0DC010C08091E800A4
+:1079100082FD04C08EB38111F9CF08958091E800F3
+:107920008B7707C08EB38111ECCF08958091E8006A
+:107930008E778093E80008950F931F93CF93DF9382
+:1079400041D048D0C8EDD0E088818F778883888186
+:107950008068888388818F7D888319BC1EBA1092C5
+:10796000B70100EE10E0F80180818B7F8083888171
+:107970008160888342E060E080E0ACDFE1EEF0E02F
+:1079800080818E7F8083E2EEF0E080818160808361
+:10799000808188608083F80180818E7F80838881E8
+:1079A00080618883DF91CF911F910F910895E7ED5A
+:1079B000F0E08081816080838AE482BF81E08093EF
+:1079C000B801BACFE8EDF0E080818E7F808310921D
+:1079D000E20008951092DA001092E10008951F92DB
+:1079E0000F920FB60F9211242F933F934F935F93F3
+:1079F0006F937F938F939F93AF93BF93EF93FF9377
+:107A00008091DA0080FF1BC08091D80080FF17C0F2
+:107A10008091DA008E7F8093DA008091D90080FF18
+:107A20000BC080E189BD82E189BD09B400FEFDCFB4
+:107A300081E08EBB0FD203C019BC1EBA0BD280915D
+:107A4000E10080FF17C08091E20080FF13C08091A9
+:107A5000E2008E7F8093E2008091E200806180935B
+:107A6000E2008091D80080628093D80019BC85E044
+:107A70008EBBF0D18091E10084FF2CC08091E200A8
+:107A800084FF28C080E189BD82E189BD09B400FE80
+:107A9000FDCF8091D8008F7D8093D8008091E10048
+:107AA0008F7E8093E1008091E2008F7E8093E200E0
+:107AB0008091E20081608093E2008091B7018111A2
+:107AC00004C08091E30087FF02C084E001C081E030
+:107AD0008EBBC0D18091E10083FF21C08091E20084
+:107AE00083FF1DC08091E100877F8093E10082E0E9
+:107AF0008EBB1092B7018091E1008E7F8093E100F0
+:107B00008091E2008E7F8093E2008091E2008061AC
+:107B10008093E20042E060E080E0DCDE9BD1FF91F8
+:107B2000EF91BF91AF919F918F917F916F915F91F5
+:107B30004F913F912F910F900FBE0F901F9018956E
+:107B40002091BF013091C0012617370748F0611519
+:107B5000710539F42091E8002E772093E80001C0E8
+:107B6000B901FC0120E061157105A1F18EB38823F4
+:107B7000E1F18530E1F18091E80083FD34C080912E
+:107B8000E80082FF06C08091E80082FF26C080E006
+:107B900008958091E80080FFE6CF2091F300809166
+:107BA000F20090E0922B6115710551F0883091053B
+:107BB00038F421912093F100615071090196F3CFBF
+:107BC00021E0089709F020E08091E8008E7780930B
+:107BD000E800C9CF2111CACFD6CF8EB3882329F0B0
+:107BE000853089F604C081E0089582E0089583E03D
+:107BF00008956115710529F42091E8002B772093F1
+:107C0000E8006115710521F12EB3222351F12530D1
+:107C100051F12091E80023FD20C02091E80022FFCF
+:107C2000F3CFFC01CF014091F3002091F20030E04E
+:107C3000342B232B09F38091F1008193CF01615004
+:107C4000710981F7D9CF8EB3882359F0853059F067
+:107C50008091E80080FFF7CF02C081E0089580E0C6
+:107C6000089582E0089583E008950F931F93CF93C2
+:107C7000DF9300D0CDB7DEB7E9EBF1E08091F10002
+:107C8000819381E0E13CF807C9F7D2DA8091E800FE
+:107C900083FFCBC02091B9013091BA01832F90E0CE
+:107CA0008A30910508F0C1C0FC01EA5AF74CE4C0E3
+:107CB000223809F0BAC08091BD0187708093E90035
+:107CC0009091EB001092E9008091E800877F80930B
+:107CD000E80095FB882780F98093F1001092F1006D
+:107CE00082C0822F8D7F09F0A0C0223009F09DC094
+:107CF0008091BB01811124C02091BD01277009F43E
+:107D000094C02093E9008091EB0080FF19C080911E
+:107D1000EB00333011F4806211C080618093EB007E
+:107D200081E090E0022E01C0880F0A94EAF7809368
+:107D3000EA001092EA008091EB0088608093EB00EB
+:107D40001092E9008091E800877F50C021116DC03A
+:107D50001091BB011F770FB7F8948091E800877FDF
+:107D60008093E800CADD8091E80080FFFCCF80911D
+:107D7000E3008078812B8093E30080688093E300A8
+:107D8000112311F083E001C082E08EBB0FBF4DC014
+:107D90002058223008F049C0AE014F5F5F4F60911C
+:107DA000BD018091BB019091BC0161DD009709F498
+:107DB0003CC02091E800277F2093E800BC01898126
+:107DC0009A81BEDE8091E8008B778093E8002DC019
+:107DD000203859F58091E800877F8093E8008091F2
+:107DE000B7018093F1008091E8008E778093E800DE
+:107DF00084DD1BC0211119C09091BB019230A8F401
+:107E00008091E800877F8093E8009093B70175DD4B
+:107E10008091B701811104C08091E30087FF02C007
+:107E200084E001C081E08EBBF7D98091E80083FF38
+:107E30000AC08091EB0080628093EB008091E800A3
+:107E4000877F8093E8000F900F90DF91CF911F9173
+:107E50000F9108950895CF938EB3882359F0C09160
+:107E6000E900C7701092E9008091E80083FDFDDE13
+:107E7000C093E900CF910895EE0FFF1F0590F49194
+:107E8000E02D0994F999FECF92BD81BDF89A99270A
+:107E900080B50895262FF999FECF1FBA92BD81BDF6
+:107EA00020BD0FB6F894FA9AF99A0FBE019608957C
+:047EB000F894FFCF74
+:107EB4007701000000000000081C0364006F0067E5
+:107EC400002000680075006E0074006500720020D8
+:107ED4000041004700000022034C0069006E006965
+:107EE400006E006F0020004F006E0065002000202F
+:107EF40000200020002000200000000403090409E1
+:107F0400023E000201008032090400000102020165
+:107F140000052400100104240204052406000107BE
+:107F24000582030800FF09040100020A000000079B
+:107F3400050402100001070583021000011201105C
+:107F44000102000008032A010001000201000143AC
+:087F540041544552494E410021
+:040000030000700089
+:00000001FF
diff --git a/bootloaders/caterina/Caterina-YunMini.hex b/bootloaders/caterina/Caterina-YunMini.hex
new file mode 100644
index 0000000..7a30905
--- /dev/null
+++ b/bootloaders/caterina/Caterina-YunMini.hex
@@ -0,0 +1,250 @@
+:107000005FC0000078C0000076C0000074C00000BF
+:1070100072C0000070C000006EC000006CC00000B4
+:107020006AC0000068C00000D1C4000064C0000055
+:1070300062C0000060C000005EC000005CC00000D4
+:107040005AC000009CC0000056C0000054C00000A0
+:1070500052C0000050C000004EC000004CC00000F4
+:107060004AC0000048C0000046C0000044C0000004
+:1070700042C0000040C000003EC000003CC0000014
+:107080003AC0000038C0000036C0000034C0000024
+:1070900032C0000030C000002EC000002CC0000034
+:1070A0002AC0000028C0000026C00000553E6E3EE9
+:1070B000173F6E3E173FA83ECA3E173FEA3EFC3ED2
+:1070C00011241FBECFEFDAE0DEBFCDBF11E0A0E09C
+:1070D000B1E0E8EBFEE702C005900D92A23BB107DC
+:1070E000D9F711E0A2EBB1E001C01D92AB3CB107B2
+:1070F000E1F71BD3DFC684CF84E08093E900809161
+:10710000E80085FD0DC08091E8008B778093E80052
+:107110008091E80082FDF3CF8EB38111F9CF02C0D8
+:107120008091F100089593E09093E9009091E80038
+:1071300095FF0AC08093F1005D9884E690E09093FB
+:10714000B9018093B80108959091E8009E779093DB
+:10715000E8009091E80090FDEDCF9EB39111F9CF3A
+:107160000895F89410926F001092810081E085BF1D
+:1071700015BE47985D9A289A0C94000008951F92B6
+:107180000F920FB60F9211242F938F939F93EF932B
+:10719000FF9310928500109284008091B801909125
+:1071A000B901009741F001979093B9018093B8011C
+:1071B000892B09F45D9A8091B6019091B7010097EF
+:1071C00041F001979093B7018093B601892B09F4A0
+:1071D000289A8091B2019091B30101969093B301E6
+:1071E0008093B201E0E0F0E085919491019649F03E
+:1071F0008091B4019091B50101969093B50180936F
+:10720000B401FF91EF919F918F912F910F900FBE3D
+:107210000F901F90189542E061EC82E054D342E158
+:1072200061E883E050D342E160E884E04CC38091A0
+:10723000C301982F9F77913239F59091C401903214
+:1072400091F0913209F5813AF9F48091E800877F55
+:107250008093E80067E070E082E091E068D480917C
+:10726000E8008B770FC0813279F48091E800877F46
+:107270008093E80067E070E082E091E0B5D480910F
+:10728000E8008E778093E80008956F927F928F9246
+:107290009F92AF92BF92CF92DF92EF92FF920F93A5
+:1072A0001F93CF93DF9384E08093E9008091E800FF
+:1072B00082FF2CC2289884E690E09093B7018093D7
+:1072C000B6011ADFC82F853481F48CE49DE19093D8
+:1072D000B5018093B40107B600FCFDCFF999FECF4C
+:1072E00081E180935700E89503C0843521F404DFE1
+:1072F0008DE019DFE2C18C34D9F38035C9F38437CE
+:1073000021F484E410DF80E0F4CF813611F489E5C4
+:10731000F0CF813491F4F0DEC82FEEDE90E0880FDC
+:10732000991F2C2F30E0322F2227330F822B932BE3
+:10733000AA2797FDA095BA2F94C1803711F483E551
+:10734000D8CF833549F4C9EAD1E01C2F195F899160
+:10735000EADE1C13FCCFB1C1863521F481E3E3DE04
+:1073600080E3C7CF833731F487E8DDDE85E9DBDEF4
+:107370008EE1BFCF8536B9F4E0E0F0E083E095E040
+:1073800080935700E89507B600FCFDCF9093570017
+:10739000E89507B600FCFDCFE058FF4FE11520E768
+:1073A000F20771F7A5CF823719F4E1E0F0E00EC0E3
+:1073B000863419F4E0E0F0E009C08E3419F4E3E01B
+:1073C000F0E004C0813539F4E2E0F0E089E0809338
+:1073D000570084918ECF823631F489E5A4DE80E0B7
+:1073E000A2DE80E886CF823419F0873609F0D1C05A
+:1073F0001092B5011092B4017FDE082F7DDED82FE8
+:107400007BDE182F8BEB810F823010F08FE371CF72
+:107410002D2F30E0302B10926F00C73609F043C09B
+:1074200081E180935700E895E90100E0BB24B39423
+:10743000209709F4AAC0C090BB01D090BC01E09095
+:10744000BD01F090BE011634B9F4E02FF0E0EC2954
+:10745000FD29849168DE002369F082E0C80ED11C0A
+:10746000E11CF11CC092BB01D092BC01E092BD01B5
+:10747000F092BE010B2515C0D701C601B695A795A0
+:107480009795879501D54FDEE2E0CE0ED11CE11C29
+:10749000F11CC092BB01D092BC01E092BD01F09200
+:1074A000BE012197C5CF8090BB019090BC01A090F8
+:1074B000BD01B090BE01163441F483E0F401809325
+:1074C0005700E89507B600FCFDCFE901712C00E0FC
+:1074D00066246394209709F44CC0163431F50023D8
+:1074E00001F1C090BB01D090BC01E090BD01F090D3
+:1074F000BE0102DE272D30E0382BF6010901609233
+:107500005700E8951124F2E0CF0ED11CE11CF11CCC
+:10751000C092BB01D092BC01E092BD01F092BE01CD
+:1075200002C0EADD782E062522C0E6DD682F8091B4
+:10753000BB019091BC01A091BD01B091BE01B69577
+:10754000A79597958795A8D48091BB019091BC0190
+:10755000A091BD01B091BE010296A11DB11D809305
+:10756000BB019093BC01A093BD01B093BE012197D4
+:10757000B1CF163441F485E0F40180935700E895CB
+:1075800007B600FCFDCF8DE0CEDD82E080936F007A
+:1075900094C0833471F4C091BB01D091BC01ACDDC7
+:1075A00090E021E0FE010C0120935700E8951124A2
+:1075B0009FCE833601F5C090BB01D090BC01E09016
+:1075C000BD01F090BE0198DDF601E16090E021E0A0
+:1075D0000C0120935700E8951124F2E0CF0ED11C46
+:1075E000E11CF11CC092BB01D092BC01E092BD0134
+:1075F000F092BE017DCE8D3661F4E091BB01F09139
+:10760000BC0185E080935700E89507B600FCFDCFEC
+:107610006FCE823551F4E091BB01F091BC01C59170
+:10762000D4918D2F80DD8C2F64CE843419F564DDE8
+:10763000682F8091BB019091BC01A091BD01B091D8
+:10764000BE01B695A7959795879526D48091BB01E5
+:107650009091BC01A091BD01B091BE010296A11D07
+:10766000B11D8093BB019093BC01A093BD01B09369
+:10767000BE013ECE8436F1F4C090BB01D090BC0177
+:10768000E090BD01F090BE01D701C601B695A79567
+:1076900097958795F9D347DD22E0C20ED11CE11CF6
+:1076A000F11CC092BB01D092BC01E092BD01F092EE
+:1076B000BE0103C08B3109F0A9CE83E08093E900BD
+:1076C0009091E8008091E8008E778093E80095FD26
+:1076D00011C08091E80080FD04C08EB38111F9CF04
+:1076E00015C08091E8008E778093E80003C08EB3C8
+:1076F000882361F08091E80080FFF9CF84E08093D7
+:10770000E9008091E8008B778093E800DF91CF91CA
+:107710001F910F91FF90EF90DF90CF90BF90AF90AF
+:107720009F908F907F906F900895CF9390910008D5
+:107730001092000884B714BE28E10FB6F894209385
+:107740006000109260000FBE40E820E00FB6F89491
+:1077500040936100209361000FBE21E025BF32E01D
+:1077600035BF3F9A209A559A40936100109261006C
+:1077700047985D9A289A109289004AEF40938800B2
+:1077800030936F0033E030938100E0E0F0E045910A
+:1077900054914F3F5F4F11F02093BA0181FF20C0F9
+:1077A000209100019217E1F02093000878948091D5
+:1077B0000101882339F08091B2019091B30188379B
+:1077C0009140C8F31092010110920008F89481E0F2
+:1077D000809301018091BA01882371F0C2DC0CC052
+:1077E00080FF04C02091BA012111F8CF83FF04C0AB
+:1077F000809100019813EECFD1D078941092B5010A
+:107800001092B401CEEF80910101882301F13DDD9A
+:1078100024D38091B4019091B50181349F4110F03F
+:10782000109201018091BF019091C0010196909347
+:10783000C0018093BF01292F97FF02C02C2F291B65
+:10784000220F281710F44798DECF479ADCCF80919B
+:10785000E00081608093E00084DC80E090E0CF91E4
+:107860000895292F30E02230310559F023303105B9
+:1078700069F021303105F9F482E190E027E931E047
+:107880001EC08EE390E029E531E019C0882349F05D
+:10789000813061F0823079F48CE190E029E031E0D0
+:1078A0000EC084E090E025E531E009C08CE290E074
+:1078B00027E231E004C080E090E020E030E0FA010F
+:1078C0003183208308958093E900EBEEF0E080811E
+:1078D00081608083EDEEF0E010826093EC004083E5
+:1078E0008091EE00881F8827881F08958091C3012A
+:1078F00087FF0FC08091E80082FD04C08EB3811124
+:10790000F9CF10C08091E8008B770AC08EB388232E
+:1079100049F08091E80080FFF9CF8091E8008E77F0
+:107920008093E80008950F931F93CF93DF9341D086
+:1079300048D0C8EDD0E088818F77888388818068BF
+:10794000888388818F7D888319BC1EBA1092C101FB
+:1079500000EE10E0F80180818B7F80838881816058
+:10796000888342E060E080E0AEDFE1EEF0E080811D
+:107970008E7F8083E2EEF0E0808181608083808171
+:1079800088608083F80180818E7F80838881806118
+:107990008883DF91CF911F910F910895E7EDF0E07B
+:1079A0008081816080838AE482BF81E08093C2010C
+:1079B000BACFE8EDF0E080818E7F80831092E20004
+:1079C00008951092DA001092E10008951F920F922C
+:1079D0000FB60F9211242F933F934F935F936F93A2
+:1079E0007F938F939F93AF93BF93EF93FF93809178
+:1079F000DA0080FF1BC08091D80080FF17C0809103
+:107A0000DA008E7F8093DA008091D90080FF0BC06E
+:107A100080E189BD82E189BD09B400FEFDCF81E02E
+:107A20008EBB1AD203C019BC1EBA16D28091E100D7
+:107A300080FF17C08091E20080FF13C08091E200B8
+:107A40008E7F8093E2008091E20080618093E2006B
+:107A50008091D80080628093D80019BC85E08EBBED
+:107A6000FBD18091E10084FF2CC08091E20084FF73
+:107A700028C080E189BD82E189BD09B400FEFDCF47
+:107A80008091D8008F7D8093D8008091E1008F7E17
+:107A90008093E1008091E2008F7E8093E2008091EC
+:107AA000E20081608093E2008091C101811106C0F3
+:107AB0008091E30087FD02C081E001C084E08EBBBD
+:107AC000CBD18091E10083FF21C08091E20083FF50
+:107AD0001DC08091E100877F8093E10082E08EBB32
+:107AE0001092C1018091E1008E7F8093E10080912E
+:107AF000E2008E7F8093E2008091E20080618093BB
+:107B0000E20042E060E080E0DEDEA6D1FF91EF918E
+:107B1000BF91AF919F918F917F916F915F914F91A5
+:107B20003F912F910F900FBE0F901F9018952091AD
+:107B3000C9013091CA012617370748F06115710550
+:107B400039F42091E8002E772093E80001C0B901B4
+:107B500040E061157105A1F12EB3222309F440C064
+:107B6000253009F43FC02091E80023FD37C0209163
+:107B7000E80022FD2DC02091E80020FFEACF4091CF
+:107B8000F3002091F20030E0342BFC01CF016115AD
+:107B9000710559F02830310540F481918093F1004E
+:107BA000615071092F5F3F4FF1CF41E0283031051F
+:107BB00009F040E02091E8002E772093E800C9CF3B
+:107BC0004111CACF05C08EB3882351F0853051F0E2
+:107BD0008091E80082FFF7CF80E0089581E008956A
+:107BE00082E0089583E008956115710529F42091DC
+:107BF000E8002B772093E800FC016115710531F155
+:107C00008EB3882359F1853059F18091E80083FDC6
+:107C100023C08091E80082FFF0CF2091F300809193
+:107C2000F20090E0922B892B31F08091F10081934A
+:107C30006150710991F78091E8008B778093E8009B
+:107C4000DCCF8EB3882351F0853051F08091E8006D
+:107C500080FFF7CF80E0089581E0089582E00895E5
+:107C600083E008950F931F93CF93DF9300D0CDB798
+:107C7000DEB7E3ECF1E088E08E0F9091F100919394
+:107C80008E13FBCFD4DA8091E80083FFD0C08091BF
+:107C9000C301E091C4014E2F50E04A30510508F075
+:107CA000C6C0FA01EA5AF74CE9C0823809F0BFC0F1
+:107CB0008091C70187708093E9008091EB0010925A
+:107CC000E9009091E800977F9093E80085FB882772
+:107CD00080F98093F1001092F10087C0982F9D7F6A
+:107CE00009F0A5C0823009F0A2C08091C5018111C0
+:107CF00029C08091C701877009F499C08093E90079
+:107D00009091EB0090FF1EC09091C401933021F43C
+:107D10008091EB00806214C09091EB009061909391
+:107D2000EB0021E030E0A90102C0440F551F8A9505
+:107D3000E2F74093EA001092EA008091EB0088603D
+:107D40008093EB001092E9008091E800877F50C09B
+:107D500081116DC01091C5011F770FB7F894809104
+:107D6000E800877F8093E800C1DD8091E80080FF14
+:107D7000FCCF8091E3008078812B8093E3008068C2
+:107D80008093E300111102C082E001C083E08EBB4A
+:107D90000FBF4DC08058823008F049C0AE014F5F20
+:107DA0005F4F6091C7018091C5019091C60159DD77
+:107DB000BC01009709F43BC09091E800977F909335
+:107DC000E80089819A81B3DE8091E8008B77809307
+:107DD000E8002DC0803859F58091E800877F8093B6
+:107DE000E8008091C1018093F1008091E8008E77D6
+:107DF0008093E8007BDD1BC0811119C09091C50103
+:107E00009230A8F48091E800877F8093E8009093F7
+:107E1000C1016CDD8091C101811106C08091E30038
+:107E200087FD02C081E001C084E08EBBF4D980915F
+:107E3000E80083FF0AC08091EB0080628093EB0032
+:107E40008091E800877F8093E8000F900F90DF918A
+:107E5000CF911F910F9108950895CF938EB38823EA
+:107E600059F0C091E900C7701092E9008091E800D4
+:107E700083FDF8DEC093E900CF910895EE0FFF1F58
+:107E80000590F491E02D0994F999FECF92BD81BD42
+:107E9000F89A992780B50895262FF999FECF1FBA31
+:107EA00092BD81BD20BD0FB6F894FA9AF99A0FBE23
+:087EB00001960895F894FFCF3C
+:107EB8007701000000000000081C03410072006404
+:107EC80000750069006E006F002000730072006C7E
+:107ED800002000200000002C03410072006400759F
+:107EE8000069006E006F002000590075006E002DBB
+:107EF800004D0069006E006900200020002000206D
+:107F080000200000000403090409023E00020100E9
+:107F1800803209040000010202010005240010015A
+:107F2800042402040524060001070582030800FF53
+:107F380009040100020A00000007050402100001FC
+:107F48000705830210000112011001020000080356
+:107F58002A50000100020100014341544552494E94
+:027F68004100D6
+:040000030000700089
+:00000001FF
diff --git a/cores/arduino/IPAddress.cpp b/cores/arduino/IPAddress.cpp
index 76aefa8..d9fe5be 100644
--- a/cores/arduino/IPAddress.cpp
+++ b/cores/arduino/IPAddress.cpp
@@ -45,8 +45,6 @@ IPAddress::IPAddress(const uint8_t *address)
bool IPAddress::fromString(const char *address)
{
- // TODO: add support for "a", "a.b", "a.b.c" formats
-
uint16_t acc = 0; // Accumulator
uint8_t dots = 0;
diff --git a/cores/arduino/Print.cpp b/cores/arduino/Print.cpp
index 652fed0..1e4c99a 100644
--- a/cores/arduino/Print.cpp
+++ b/cores/arduino/Print.cpp
@@ -250,7 +250,7 @@ size_t Print::printFloat(double number, uint8_t digits)
// Print the decimal point, but only if there are digits beyond
if (digits > 0) {
- n += print(".");
+ n += print('.');
}
// Extract digits from the remainder one at a time
diff --git a/platform.txt b/platform.txt
index affe548..c8a65d3 100644
--- a/platform.txt
+++ b/platform.txt
@@ -6,7 +6,7 @@
# https://github.com/arduino/Arduino/wiki/Arduino-IDE-1.5-3rd-party-Hardware-specification
name=Arduino AVR Boards
-version=1.6.15
+version=1.6.17
# AVR compile variables
# ---------------------
@@ -21,9 +21,9 @@ compiler.warning_flags.all=-Wall -Wextra
compiler.path={runtime.tools.avr-gcc.path}/bin/
compiler.c.cmd=avr-gcc
compiler.c.flags=-c -g -Os {compiler.warning_flags} -std=gnu11 -ffunction-sections -fdata-sections -MMD -flto -fno-fat-lto-objects
-compiler.c.elf.flags={compiler.warning_flags} -Os -flto -fuse-linker-plugin -Wl,--gc-sections
+compiler.c.elf.flags={compiler.warning_flags} -Os -g -flto -fuse-linker-plugin -Wl,--gc-sections
compiler.c.elf.cmd=avr-gcc
-compiler.S.flags=-c -g -x assembler-with-cpp -flto
+compiler.S.flags=-c -g -x assembler-with-cpp -flto -MMD
compiler.cpp.cmd=avr-g++
compiler.cpp.flags=-c -g -Os {compiler.warning_flags} -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -MMD -flto
compiler.ar.cmd=avr-gcc-ar
@@ -95,6 +95,8 @@ tools.avrdude.path={runtime.tools.avrdude.path}
tools.avrdude.cmd.path={path}/bin/avrdude
tools.avrdude.config.path={path}/etc/avrdude.conf
+tools.avrdude.network_cmd={runtime.tools.arduinoOTA.path}/bin/arduinoOTA
+
tools.avrdude.upload.params.verbose=-v
tools.avrdude.upload.params.quiet=-q -q
# tools.avrdude.upload.verify is needed for backwards compatibility with IDE 1.6.8 or older, IDE 1.6.9 or newer overrides this value
@@ -119,8 +121,10 @@ tools.avrdude.bootloader.pattern="{cmd.path}" "-C{config.path}" {bootloader.verb
tools.avrdude_remote.upload.pattern=/usr/bin/run-avrdude /tmp/sketch.hex {upload.verbose} -p{build.mcu}
+tools.avrdude.upload.network_pattern="{network_cmd}" -address {serial.port} -port {upload.network.port} -sketch "{build.path}/{build.project_name}.hex" -upload {upload.network.endpoint_upload} -sync {upload.network.endpoint_sync} -reset {upload.network.endpoint_reset} -sync_exp {upload.network.sync_return}
+
# USB Default Flags
# Default blank usb manufacturer will be filled in at compile time
# - from numeric vendor ID, set to Unknown otherwise
build.usb_manufacturer="Unknown"
-build.usb_flags=-DUSB_VID={build.vid} -DUSB_PID={build.pid} '-DUSB_MANUFACTURER={build.usb_manufacturer}' '-DUSB_PRODUCT={build.usb_product}'
+build.usb_flags=-DUSB_VID={build.vid} -DUSB_PID={build.pid} '-DUSB_MANUFACTURER={build.usb_manufacturer}' '-DUSB_PRODUCT={build.usb_product}' \ No newline at end of file
diff --git a/programmers.txt b/programmers.txt
index 661a0c9..c100e84 100644
--- a/programmers.txt
+++ b/programmers.txt
@@ -22,6 +22,11 @@ arduinoisp.protocol=arduinoisp
arduinoisp.program.tool=avrdude
arduinoisp.program.extra_params=
+arduinoisporg.name=ArduinoISP.org
+arduinoisporg.protocol=arduinoisporg
+arduinoisporg.program.tool=avrdude
+arduinoisporg.program.extra_params=
+
usbasp.name=USBasp
usbasp.communication=usb
usbasp.protocol=usbasp
@@ -92,3 +97,10 @@ jtag3.program.tool=avrdude
# work regardless of the crystal used, since JTAG doesn't use the MCU
# clock but dictates its own clock.
jtag3.program.extra_params=-B0.1
+
+atmel_ice.name=Atmel-ICE (AVR)
+atmel_ice.communication=usb
+atmel_ice.protocol=atmelice_isp
+atmel_ice.program.protocol=atmelice_isp
+atmel_ice.program.tool=avrdude
+atmel_ice.program.extra_params=-Pusb
diff --git a/variants/circuitplay32u4/pins_arduino.h b/variants/circuitplay32u4/pins_arduino.h
new file mode 100644
index 0000000..1da15a9
--- /dev/null
+++ b/variants/circuitplay32u4/pins_arduino.h
@@ -0,0 +1,387 @@
+/*
+ pins_arduino.h - Pin definition functions for Arduino
+ Part of Arduino - http://www.arduino.cc/
+
+ Copyright (c) 2007 David A. Mellis
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ This library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General
+ Public License along with this library; if not, write to the
+ Free Software Foundation, Inc., 59 Temple Place, Suite 330,
+ Boston, MA 02111-1307 USA
+
+ $Id: wiring.h 249 2007-02-03 16:52:51Z mellis $
+*/
+
+#ifndef Pins_Arduino_h
+#define Pins_Arduino_h
+
+#include <avr/pgmspace.h>
+
+// Workaround for wrong definitions in "iom32u4.h".
+// This should be fixed in the AVR toolchain.
+#undef UHCON
+#undef UHINT
+#undef UHIEN
+#undef UHADDR
+#undef UHFNUM
+#undef UHFNUML
+#undef UHFNUMH
+#undef UHFLEN
+#undef UPINRQX
+#undef UPINTX
+#undef UPNUM
+#undef UPRST
+#undef UPCONX
+#undef UPCFG0X
+#undef UPCFG1X
+#undef UPSTAX
+#undef UPCFG2X
+#undef UPIENX
+#undef UPDATX
+#undef TCCR2A
+#undef WGM20
+#undef WGM21
+#undef COM2B0
+#undef COM2B1
+#undef COM2A0
+#undef COM2A1
+#undef TCCR2B
+#undef CS20
+#undef CS21
+#undef CS22
+#undef WGM22
+#undef FOC2B
+#undef FOC2A
+#undef TCNT2
+#undef TCNT2_0
+#undef TCNT2_1
+#undef TCNT2_2
+#undef TCNT2_3
+#undef TCNT2_4
+#undef TCNT2_5
+#undef TCNT2_6
+#undef TCNT2_7
+#undef OCR2A
+#undef OCR2_0
+#undef OCR2_1
+#undef OCR2_2
+#undef OCR2_3
+#undef OCR2_4
+#undef OCR2_5
+#undef OCR2_6
+#undef OCR2_7
+#undef OCR2B
+#undef OCR2_0
+#undef OCR2_1
+#undef OCR2_2
+#undef OCR2_3
+#undef OCR2_4
+#undef OCR2_5
+#undef OCR2_6
+#undef OCR2_7
+
+#define NUM_DIGITAL_PINS 31
+#define NUM_ANALOG_INPUTS 12
+
+#define TXLED0 0
+#define TXLED1 0
+#define RXLED0 0
+#define RXLED1 0
+#define TX_RX_LED_INIT 0
+
+static const uint8_t SDA = 2;
+static const uint8_t SCL = 3;
+#define LED_BUILTIN 13
+
+// Map SPI port to 'new' pins D14..D17
+static const uint8_t SS = 17;
+static const uint8_t MOSI = 16;
+static const uint8_t MISO = 14;
+static const uint8_t SCK = 15;
+
+// Mapping of analog pins as digital I/O
+// A6-A11 share with digital pins
+static const uint8_t A0 = 18;
+static const uint8_t A1 = 19;
+static const uint8_t A2 = 20;
+static const uint8_t A3 = 21;
+static const uint8_t A4 = 22;
+static const uint8_t A5 = 23;
+static const uint8_t A6 = 24; // D4
+static const uint8_t A7 = 25; // D6
+static const uint8_t A8 = 26; // D8
+static const uint8_t A9 = 27; // D9
+static const uint8_t A10 = 28; // D10
+static const uint8_t A11 = 29; // D12
+
+#define digitalPinToPCICR(p) ((((p) >= 8 && (p) <= 11) || ((p) >= 14 && (p) <= 17) || ((p) >= A8 && (p) <= A10)) ? (&PCICR) : ((uint8_t *)0))
+#define digitalPinToPCICRbit(p) 0
+#define digitalPinToPCMSK(p) ((((p) >= 8 && (p) <= 11) || ((p) >= 14 && (p) <= 17) || ((p) >= A8 && (p) <= A10)) ? (&PCMSK0) : ((uint8_t *)0))
+#define digitalPinToPCMSKbit(p) ( ((p) >= 8 && (p) <= 11) ? (p) - 4 : ((p) == 14 ? 3 : ((p) == 15 ? 1 : ((p) == 16 ? 2 : ((p) == 17 ? 0 : (p - A8 + 4))))))
+
+// __AVR_ATmega32U4__ has an unusual mapping of pins to channels
+extern const uint8_t PROGMEM analog_pin_to_channel_PGM[];
+#define analogPinToChannel(P) ( pgm_read_byte( analog_pin_to_channel_PGM + (P) ) )
+
+#define digitalPinHasPWM(p) ((p) == 3 || (p) == 5 || (p) == 6 || (p) == 9 || (p) == 10 || (p) == 11 || (p) == 13)
+
+#define digitalPinToInterrupt(p) ((p) == 0 ? 2 : ((p) == 1 ? 3 : ((p) == 2 ? 1 : ((p) == 3 ? 0 : ((p) == 7 ? 4 : NOT_AN_INTERRUPT)))))
+
+#ifdef ARDUINO_MAIN
+
+// On the Arduino board, digital pins are also used
+// for the analog output (software PWM). Analog input
+// pins are a separate set.
+
+// ATMEL ATMEGA32U4 / ARDUINO LEONARDO / Flora
+//
+// D0 PD2 RXD1/INT2
+// D1 PD3 TXD1/INT3
+// D2 PD1 SDA SDA/INT1
+// D3# PD0 PWM8/SCL OC0B/SCL/INT0
+// D4 A6 PD4 ADC8
+// D5# PC6 ??? OC3A/#OC4A
+// D6# A7 PD7 FastPWM #OC4D/ADC10
+// D7 PE6 INT6/AIN0
+//
+// D8 A8 PB4 ADC11/PCINT4
+// D9# A9 PB5 PWM16 OC1A/#OC4B/ADC12/PCINT5
+// D10# A10 PB6 PWM16 OC1B/0c4B/ADC13/PCINT6
+// D11# PB7 PWM8/16 0C0A/OC1C/#RTS/PCINT7
+// D12 A11 PD6 T1/#OC4D/ADC9
+// D13# PC7 PWM10 CLK0/OC4A
+//
+// A0 D18 PF7 ADC7
+// A1 D19 PF6 ADC6
+// A2 D20 PF5 ADC5
+// A3 D21 PF4 ADC4
+// A4 D22 PF1 ADC1
+// A5 D23 PF0 ADC0
+//
+// New pins D14..D17 to map SPI port to digital pins
+//
+// MISO D14 PB3 MISO,PCINT3
+// SCK D15 PB1 SCK,PCINT1
+// MOSI D16 PB2 MOSI,PCINT2
+// SS D17 PB0 RXLED,SS/PCINT0
+//
+// TXLED D30 PD5
+// RXLED PB0
+// HWB PE2 HWB
+
+// these arrays map port names (e.g. port B) to the
+// appropriate addresses for various functions (e.g. reading
+// and writing)
+const uint16_t PROGMEM port_to_mode_PGM[] = {
+ NOT_A_PORT,
+ NOT_A_PORT,
+ (uint16_t) &DDRB,
+ (uint16_t) &DDRC,
+ (uint16_t) &DDRD,
+ (uint16_t) &DDRE,
+ (uint16_t) &DDRF,
+};
+
+const uint16_t PROGMEM port_to_output_PGM[] = {
+ NOT_A_PORT,
+ NOT_A_PORT,
+ (uint16_t) &PORTB,
+ (uint16_t) &PORTC,
+ (uint16_t) &PORTD,
+ (uint16_t) &PORTE,
+ (uint16_t) &PORTF,
+};
+
+const uint16_t PROGMEM port_to_input_PGM[] = {
+ NOT_A_PORT,
+ NOT_A_PORT,
+ (uint16_t) &PINB,
+ (uint16_t) &PINC,
+ (uint16_t) &PIND,
+ (uint16_t) &PINE,
+ (uint16_t) &PINF,
+};
+
+const uint8_t PROGMEM digital_pin_to_port_PGM[] = {
+ PD, // D0 - PD2
+ PD, // D1 - PD3
+ PD, // D2 - PD1
+ PD, // D3 - PD0
+ PD, // D4 - PD4
+ PC, // D5 - PC6
+ PD, // D6 - PD7
+ PE, // D7 - PE6
+
+ PB, // D8 - PB4
+ PB, // D9 - PB5
+ PB, // D10 - PB6
+ PB, // D11 - PB7
+ PD, // D12 - PD6
+ PC, // D13 - PC7
+
+ PB, // D14 - MISO - PB3
+ PB, // D15 - SCK - PB1
+ PB, // D16 - MOSI - PB2
+ PB, // D17 - SS - PB0
+
+ PF, // D18 - A0 - PF7
+ PF, // D19 - A1 - PF6
+ PF, // D20 - A2 - PF5
+ PF, // D21 - A3 - PF4
+ PF, // D22 - A4 - PF1
+ PF, // D23 - A5 - PF0
+
+ PD, // D24 / D4 - A6 - PD4
+ PD, // D25 / D6 - A7 - PD7
+ PB, // D26 / D8 - A8 - PB4
+ PB, // D27 / D9 - A9 - PB5
+ PB, // D28 / D10 - A10 - PB6
+ PD, // D29 / D12 - A11 - PD6
+ PD, // D30 - PD5
+};
+
+const uint8_t PROGMEM digital_pin_to_bit_mask_PGM[] = {
+ _BV(2), // D0 - PD2
+ _BV(3), // D1 - PD3
+ _BV(1), // D2 - PD1
+ _BV(0), // D3 - PD0
+ _BV(4), // D4 - PD4
+ _BV(6), // D5 - PC6
+ _BV(7), // D6 - PD7
+ _BV(6), // D7 - PE6
+
+ _BV(4), // D8 - PB4
+ _BV(5), // D9 - PB5
+ _BV(6), // D10 - PB6
+ _BV(7), // D11 - PB7
+ _BV(6), // D12 - PD6
+ _BV(7), // D13 - PC7
+
+ _BV(3), // D14 - MISO - PB3
+ _BV(1), // D15 - SCK - PB1
+ _BV(2), // D16 - MOSI - PB2
+ _BV(0), // D17 - SS - PB0
+
+ _BV(7), // D18 - A0 - PF7
+ _BV(6), // D19 - A1 - PF6
+ _BV(5), // D20 - A2 - PF5
+ _BV(4), // D21 - A3 - PF4
+ _BV(1), // D22 - A4 - PF1
+ _BV(0), // D23 - A5 - PF0
+
+ _BV(4), // D24 / D4 - A6 - PD4
+ _BV(7), // D25 / D6 - A7 - PD7
+ _BV(4), // D26 / D8 - A8 - PB4
+ _BV(5), // D27 / D9 - A9 - PB5
+ _BV(6), // D28 / D10 - A10 - PB6
+ _BV(6), // D29 / D12 - A11 - PD6
+ _BV(5), // D30 - PD5
+};
+
+const uint8_t PROGMEM digital_pin_to_timer_PGM[] = {
+ NOT_ON_TIMER,
+ NOT_ON_TIMER,
+ NOT_ON_TIMER,
+ TIMER0B, /* 3 */
+ NOT_ON_TIMER,
+ TIMER3A, /* 5 */
+ TIMER4D, /* 6 */
+ NOT_ON_TIMER,
+
+ NOT_ON_TIMER,
+ TIMER1A, /* 9 */
+ TIMER1B, /* 10 */
+ TIMER0A, /* 11 */
+
+ NOT_ON_TIMER,
+ TIMER4A, /* 13 */
+
+ NOT_ON_TIMER,
+ NOT_ON_TIMER,
+ NOT_ON_TIMER,
+ NOT_ON_TIMER,
+ NOT_ON_TIMER,
+ NOT_ON_TIMER,
+
+ NOT_ON_TIMER,
+ NOT_ON_TIMER,
+ NOT_ON_TIMER,
+ NOT_ON_TIMER,
+ NOT_ON_TIMER,
+ NOT_ON_TIMER,
+ NOT_ON_TIMER,
+ NOT_ON_TIMER,
+ NOT_ON_TIMER,
+ NOT_ON_TIMER,
+ NOT_ON_TIMER,
+};
+
+const uint8_t PROGMEM analog_pin_to_channel_PGM[] = {
+ 7, // A0 PF7 ADC7
+ 6, // A1 PF6 ADC6
+ 5, // A2 PF5 ADC5
+ 4, // A3 PF4 ADC4
+ 1, // A4 PF1 ADC1
+ 0, // A5 PF0 ADC0
+ 8, // A6 D4 PD4 ADC8
+ 10, // A7 D6 PD7 ADC10
+ 11, // A8 D8 PB4 ADC11
+ 12, // A9 D9 PB5 ADC12
+ 13, // A10 D10 PB6 ADC13
+ 9 // A11 D12 PD6 ADC9
+};
+
+#endif /* ARDUINO_MAIN */
+
+// These serial port names are intended to allow libraries and architecture-neutral
+// sketches to automatically default to the correct port name for a particular type
+// of use. For example, a GPS module would normally connect to SERIAL_PORT_HARDWARE_OPEN,
+// the first hardware serial port whose RX/TX pins are not dedicated to another use.
+//
+// SERIAL_PORT_MONITOR Port which normally prints to the Arduino Serial Monitor
+//
+// SERIAL_PORT_USBVIRTUAL Port which is USB virtual serial
+//
+// SERIAL_PORT_LINUXBRIDGE Port which connects to a Linux system via Bridge library
+//
+// SERIAL_PORT_HARDWARE Hardware serial port, physical RX & TX pins.
+//
+// SERIAL_PORT_HARDWARE_OPEN Hardware serial ports which are open for use. Their RX & TX
+// pins are NOT connected to anything by default.
+#define SERIAL_PORT_MONITOR Serial
+#define SERIAL_PORT_USBVIRTUAL Serial
+#define SERIAL_PORT_HARDWARE Serial1
+#define SERIAL_PORT_HARDWARE_OPEN Serial1
+
+// Alias SerialUSB to Serial
+#define SerialUSB SERIAL_PORT_USBVIRTUAL
+
+// Bootloader related fields
+// Old Caterina bootloader places the MAGIC key into unsafe RAM locations (it can be rewritten
+// by the running sketch before to actual reboot).
+// Newer bootloaders, recognizable by the LUFA "signature" at the end of the flash, can handle both
+// the usafe and the safe location. Check once (in USBCore.cpp) if the bootloader in new, then set the global
+// _updatedLUFAbootloader variable to true/false and place the magic key consequently
+#ifndef MAGIC_KEY
+#define MAGIC_KEY 0x7777
+#endif
+
+#ifndef MAGIC_KEY_POS
+#define MAGIC_KEY_POS 0x0800
+#endif
+
+#ifndef NEW_LUFA_SIGNATURE
+#define NEW_LUFA_SIGNATURE 0xDCFB
+#endif
+
+#endif /* Pins_Arduino_h */