Arduino
Arduinoを生みだすことになった「Arduinoプロジェクト」は2005年に北イタリアのイヴレーアという街でのen:Interaction Design Institute Ivrea (IDII)において始まった。当時、ロボットのデジタル制御装置の試作をするために学生が用いることが可能だったのは主にBASIC Stampであり、これは価格が当時$50ほどもし、これは(一般に、あまりお金を持っていないことが多い)学生たちにとっては相当な経済的負担だと感じられていた。もっと安価な制御装置の出現が望まれていたのである。こうしたことを背景に、it:Massimo Banzi、David Cuartielles、Tom Igoe、Gianluca Martino、David Mellisという5人のグループが、「もっとシンプルに、もっと安価に、技術者でない学生でもデジタルなものを作ることができるようにする」という目的を据えた「Arduinoプロジェクト」を立ち上げた。この5人のグループが、当時 他者らによって検討されていた同様の目的の品々よりも、遥かに安価で簡単に使用できるものの開発に成功した。
Arduinoプロジェクトは2006年度のアルス・エレクトロニカ賞で名誉言及を受けた。
Arduinoボードは、2008年10月までに5万ユニット以上が販売され、その後も順調に普及が進み、2011年2月までに約15万台、2013年時点で約70万台(公式分のみ。
表面実装されたATmega2560を使用し、Flash メモリサイズは256kBになった。Unoと同様に、シリアルコンバーターにはあらかじめプログラムされたATmega8U2を使用している。
Arduino を使い、Atmel AVR のマイクロコントローラに、Arduino IDE で書いたプログラムを転送することが出来る。まず、Arduino ボード自体に、「ArduinoISP」プログラムを「スケッチの例」から選んで転送し、Arduino ボードと AVR マイクロコントローラを適切に配線し、ArduinoIDE の書き込み装置の設定を「Arduino as ISP」にすることで転送が出来る。Arduino で使われている ATmega328 などのマイクロコントローラだけでなく、AVR の ATtiny などのより安価で小型のマイクロコントローラにも転送できる。
設計はアメリカの企業 Arduino, LLC が行っている。会社の創業者は、Massimo Banzi、David Cuartielles、Tom Igoe、David Mellis。
生産はイタリアの企業 Arduino S.R.L. が行っていた。Arduino S.R.L. の創業者は Gianluca Martino。2015年1月23日にArduinoの権利を巡り Arduino, LLC. と Arduino S.R.L. の間で裁判が発生した。
sketchの編集・転送用のプログラムであり、Arduinoの統合開発環境の代表格。エディター(編集画面)、コンパイラ、sketchの転送(ハードウェアへのファームウェア転送)機能などを含む。ソフトウェア開発に不慣れなユーザーでも容易にプログラミングできるよう設計されている。 そのために初期のバージョン1.xはクロスプラットフォームのJavaアプリケーションとして実装されていたクリエイティブ・コーディング環境のProcessing をベースにしており、IDEの見た目も非常に似通っていた。
バージョン2.0でJavascriptを用いたWebベースのスタンドアロンアプリケーションとして再構築され、デバッガを用いたステップ実行や、クラウド上のスケッチ保存、読み込みに対応するなど機能も大幅にアップデートされた。
内部ではC言語のコンパイラGCCやアップロードプログラムavrdudeが使用されている。
FirmataはMIDIをベースにした、マイクロコントローラをシリアル通信経由(もっぱらUSBを介する)で制御するための汎用プロトコルである。このプロトコルを使用するためのスケッチはサンプルとしてArduino IDEに付属しているため、一度書き込みをした後は、Firmataに対応する環境を使うことでArduino IDEを使わずにインタラクティブにIO制御をすることができる。ただし、スタンドアロンでArduinoを使用できなくなるため、ラップトップやデスクトップPCから手軽に電子部品の制御するといった用途に適している。
Firmataに対応した環境としては、Processing のFirmataライブラリや、音声信号処理を得意とするビジュアルプログラミング環境Cycling' 74 MaxでのMaxuinoや、Pure Data(Pd)におけるPduinoのような例がある。
MaxuinoやPduinoを使用すると、画面上にグラフィックとしてArduinoのデジタルポートやアナログ入力ポートが表示され、GUIによって各ポートのデータの流れをプログラムできる。非常に簡易にフィジカル・コンピューティングが実現できるため、映像・音楽方面のアーティストによって利用されている。
ATmega2560をベースモデルとして、「MAX3421e」 チップを追加してAndroid OSを搭載した携帯電話との接続機能を統合したモデル。Arduino UNO同様に 「ATmega8U2」 チップをシリアルコンバーターとして使用している。