OSS探訪

Uno・MegaなどAVRボード向けにArduino API・ボード定義・コンパイル/書き込み手順を提供する

スコアの見方

OSS規模スコアはStars・Watchers・Forks・Contributorsを対数圧縮して重み付けした現在の規模指標(上限なし)です。発掘スコアは現在のOSS規模スコアから発掘時点のOSS規模スコアを引いた値、更新ペースは直近30日Commit数、成長モメンタムは直近の観測期間におけるOSS規模スコア差、OSS健全度は取得できた更新状況・Community Health・Releaseの0〜100評価です。

Stars
1,507
主要言語
C
ライセンス
LGPL-2.1-or-later
リポジトリ最終更新
2026/08/02
ページ内ナビ

概要

ArduinoCore-avrは、Arduino Uno、MegaなどAVR architectureのボードをArduino IDE/CLIからビルド・書き込みするための公式ボードcoreです。Arduino API実装、ボード定義、avr-gccのコンパイル手順、avrdudeの書き込み設定を一つのplatform packageとして提供します。

特徴と向いている用途

公式資料に基づく紹介・実機未検証 · 内容確認日:

主な特徴

digital I/O・timing・interruptなどArduino APIをAVR向けに実装する

Arduino.hとcore sourceはpinMode、digitalRead/Write、analogRead/Write、millis、micros、interruptなどArduino sketchで使う基本APIをAVR MCU向けに実装します。

出典:[5]

boards.txtでボードごとのMCU・clock・書き込み条件を定義する

Uno、Megaなどのボード定義はMCU、CPU clock、書き込みprotocol等を記述し、選択したボードに応じてbuild propertyを切り替えます。

出典:[4][1]

platform.txtでavr-gccのコンパイルとavrdudeの書き込み手順を提供する

1.8.8のplatform.txtはC/C++のコンパイル、link、hex生成、size計測、avrdudeによる書き込みのcommand recipeを定義します。Arduino IDE/CLIはこれらを解決してsketchをfirmwareへ変換します。

出典:[3]

向いている用途

Uno・Megaなどclassic AVRボードのビルド環境を固定したい場合に向く

教育用sketch、既存device firmware、CIのコンパイル確認などでAVRボード対応を再現したい場合に、arduino:avr package versionを固定して利用できます。

出典:[1][2]

導入前の確認

現行リリースは1.8.8でAVR architecture専用

2026年5月21日公開の1.8.8が現行リリースです。このcoreはAVRボード向けであり、SAMD、megaAVR、ESP系など別architectureはそれぞれ別ボードcoreを使用します。

出典:[2][1]

コンパイル手順はGNU++11やAVR toolchain前提を含む

1.8.8のplatform.txtではC++に-std=gnu++11、LTO、avr-gcc/avr-g++、avr-libc、avrdude等を前提とします。host compilerの設定をそのまま適用するのではなくボードパッケージが提供するtoolchainを使います。

出典:[3]

core sourceはLGPL 2.1 or laterのheaderを持つ

主要core sourceはGNU Lesser General Public License 2.1またはlaterの条件を明記しています。firmware配布やcore改変を行う場合は該当sourceと利用libraryのライセンス条件を別途確認します。

出典:[5]

参考にした公式資料

  1. [1]ArduinoCore-avr README(2026-10-03)
  2. [2]ArduinoCore-avr 1.8.8 release(2026-10-03)
  3. [3]Arduino AVR platform.txt(2026-10-03)
  4. [4]Arduino AVR boards.txt(2026-10-03)
  5. [5]Arduino AVR Arduino.h(2026-10-03)
編集部からの補足

このリポジトリはIDEではなく、UnoやMegaなどAVRボードをArduino toolchainで扱うためのボードplatformです。再現性を重視する場合はIDE/CLIのversionだけでなく、arduino:avr core versionも固定してください。

3ステップで試す

  1. 1

    Arduino AVR Boards Core 1.8.8をインストールする

    Arduino CLIからAVRボードパッケージをversion固定で導入します。

    arduino-cli core update-index && arduino-cli core install arduino:avr@1.8.8
  2. 2

    最小Blink sketchを作成する

    Uno等でコンパイル可能なArduino APIだけを使った最小sketchを用意します。

    mkdir -p BlinkTest && printf 'void setup(){pinMode(LED_BUILTIN, OUTPUT);}\nvoid loop(){digitalWrite(LED_BUILTIN, HIGH);delay(1000);digitalWrite(LED_BUILTIN, LOW);delay(1000);}\n' > BlinkTest/BlinkTest.ino
  3. 3

    Uno向けにコンパイルする

    AVR core、avr-gcc toolchain、ボード定義を使ってfirmwareをビルドできることを確認します。実機への書き込みは必要に応じて別途行ってください。

    arduino-cli compile --fqbn arduino:avr:uno BlinkTest
公式READMEで確認

成長

成長の推移 · 直近30日

1,507 Stars

推移データを蓄積中です。

開発アクティビティ

直近90日・週次

Commit(直近30日)
0
Open PR
117

開発アクティビティを蓄積中です。

Built with

カテゴリとタグ

タグ

GitHubデータ

GitHubのデータGitHubの詳細データを見る
Stars
1,507
Forks
1,119
Watchers
69
Open Issues
252
Contributors
103
所有者種別
Organization
主要言語
C
ライセンス
LGPL-2.1-or-later
リポジトリ最終更新
2026/08/02

このOSSの使い方や活用事例をMarkdownで投稿できます。管理者が承認した後に公開されます。

情報の誤りを報告

掲載内容に誤りや古い情報があればお知らせください。

このページを読んで、次に何をすればよいか分かりましたか?