「MCU」のほうが正確かもしれないが、一般名詞としての認知度が低いので。
Arduino互換とするためにAtmelの同じシリーズの8ビットマイコン(AVRマイコン)を使うことにした。すでに別の仕事での使用経験が豊富だったということもある。 WOBの企画を始めた当初の2011年ではArduinoに使われているもっともポピュラーなマイコンはATmega168またはATmega328であった*1。
WOBではキーパッドやLEDディスプレイが初めから搭載されるため、それらよりI/O数の多いATmega324を使うことにした。機能比較をすると下記のようになる。
Arduino (ATmega168/328) | WOB (ATmega324) | |
---|---|---|
Flash ROM | 16KB/32KB | 32KB |
SRAM | 1KB/2KB | 2KB |
EEPROM | 512B/1KB | 1KB |
Digital I/O | 23bits | 32bits |
Analog In | 6ch | 8ch |
PWM Out | 6 | 6 |
Timer | 8bit x 2 + 16bit x 1 | 8bit x 2 + 16bit x 1 |
Serial Port | 1ch | 2ch |
Clock | 16MHz*2 | 20MHz |
しかし、ただ載せ替えればいいというものではない。ピンの機能に違いがあったり、I/Oレジスタの呼び名が異なっていたりするため、Arduino開発環境で使えるようにするにはソフトウェア上の改造が必要となる。
*1 他にもさまざまな互換ボードがあるが、すべてCPUコアにAVRを使用しているものである。2012年11月現在、ついにARMアーキテクチャCPUを持つ32ビットマイコン搭載の”Arduino Due”が発売された。
*2 マイコン自体は最大20MHz。ボードは16MHzで動かしている。