1. ハードウェアガイド(拡張ボード)
1.1. メインボードでのミニスペーサーの使用について
Spresenseのメインボードを拡張ボードと組み合わせず単独で使用する際には、4隅にミニスペーサを設置すると便利です。
ミニスペーサとそれを基板に固定するネジには、ネジ径2mm、長さ3mm以上の樹脂製のものが使用できます。
これらはメインボードの製品パッケージには付属しておりませんので、別途ご用意ください。
| 金属製のスペーサとネジを使用した場合には、GNSSの受信性能に著しい悪影響を及ぼします。かならず樹脂製のものをご使用ください。 | 
下記に使用可能な樹脂製のミニスペーサとネジの例を示します。
| 製造会社 | ミニスペーサ | ネジ | 
|---|---|---|
廣杉計器  | 
AS-2003  | 
PC-0203  | 
1.2. メインボードにAdd-onボード、拡張ボードにArduinoシールドを装着、取り外しする際の注意
Spresenseはメインボードに専用のAdd-onボードを、拡張ボードに市販のArduinoシールドを装着することが可能です。
これらのボードを装着、取り外しする際には、各Spresenseボードのピンソケットに対して必ず垂直方向にゆっくりと装着 または取り外しを行ってください。
| 各Spresenseボードに対して回転角を持つような取り外しを行いますと、Add-onボードや拡張ボードのピンを曲げてしまう ばかりではなく、Spresenseボードのピンソケット内部のコンタクト金具を変形、破壊する故障の原因となります。 | 
| 各Spresenseボードのソケットに挿入できるピンは一辺が0.64mmの角型ピンが最大となります。 このサイズ以上のピンや変形してしまったピンをソケットに挿入すると同様にピンソケット内部のコンタクト金具を変形、破壊する 故障の原因となります。 | 
1.3. 拡張ボードのピンソケットの動作電圧設定について
Spresense 拡張ボードのピンソケットJP2およびJP13の動作電圧は、JP1の挿す位置を変更することによって5Vと3.3Vを切り換えることができます。 出荷状態では5Vに設定されています。
| JP1の挿し位置を変更する場合には必ずSpresenseの電源を切った状態で行ってください。電源を入れた状態で変更した場合、Spresenseを破壊する恐れがあります。 | 
| 拡張ボードに接続するArduinoのシールドなどの基板の動作電圧と同じ電圧になるように設定して下さい。設定を誤った場合、接続した基板を破壊する恐れがあります。 | 
以下のピンの電圧出力は設定された動作電圧と同じになります。
| 部品番号 | ピン番号 | 名称 | 
|---|---|---|
JP3  | 
2  | 
IOREF  | 
JP2  | 
3  | 
AREF  | 
1.4. メインボードと拡張ボードの外部接続用ピンの機能について
Spresenseは下図に示す、メインボードあるいは拡張ボード上のピンソケットにジャンパワイヤを接続する方法などで 外部機器を接続することが可能です。
各ピンが有する機能は、ほかのSpresenseボードのものと合わせて一覧表としてまとめ、ハードウェア設計資料に掲載しています。
Spresenseに搭載されているCXD5602GGの各ピンは複数の機能を有しています。
1.4.1. Spresense Arduino環境で使用する場合
ピンの機能は主に、モード0の「GPIO」とモード1に記載の機能を使用することが可能です。
Arduino環境で使用する際には特にピンモードを意識する必要はありません。
1.4.2. Spresense SDK上で使用する場合
CXD5602GGにはピングループがあり、各ピンのモード設定はピングループごとに行うことが可能です。
ピングループはピンリスト中の「ピングループ」列に記載しています。
モードの変更方法は
に記載してあります。
| Spresenseでは同一の信号線が別の複数のコネクタに接続されている箇所があります。 この信号を使用する場合には、必ず使用しないコネクタの接続をOpen(またはHi-Z)にしてください。 | 
| 各ピンに印加する電圧は必ずピンリストに記載の最大絶対定格電圧を超えないようにしてください。 過電圧の印加はSpresenseボードの故障の原因となります。 | 
1.5. Spresenseボードに外部接続機器を接続する場合の電源供給に関して
Spresenseメインボードと拡張ボードを組み合わせたときの電源系統図を下記に示します。
Spresenseに外部機器を接続して電源をSpresenseの電源用ピンから供給する場合には、図中に示した最大出力電流値を超えないようにしてください。
1.6. Spresense ブート時の電源、リセットタイミングシーケンス
Spresenseメインボードと拡張ボードを組み合わせて、microUSB端子から電源を供給してからCXD5602が起動するまでの 各電源とリセットのシーケンスチャートを下図に示します。
図中の"boot"はArduino IDEおよびSpresense SDK上で起動直後にCXD5602の1つのGPIOピンをHighに設定して出力されるまでの時間を示しています。
1.7. リセット機能の使用方法
Spresenseでは以下の方法によってシステムにリセットを掛けることができます。
- 
メインボード上のSW2を押下
 - 
シリアルモニターなどによるUART接続(DTR信号トリガ)
 - 
拡張ボードのJP3の3番ピンの信号レベルをLowに落とす(下記詳細参照)
 
システムリセットが掛かった場合には、電源を管理するLSIのCXD5247や各電源LSIから 一瞬給電が停止しますので、拡張ボードやAdd-onボードに外部回路を接続して使用している際には注意が必要です。
拡張ボードのJP3の3番ピンのリセットは双方向として使用できます。すなわち
- 
システムをリセットする信号を拡張ボードから入力する
 - 
拡張ボードの外部に接続されたシステムをリセットする
 
上記のいずれとしても使用できますが、下記に示す推奨回路を外部回路として接続してください。ただし接続先のユーザーデバイスとしてはマイクロプロセッサLSI などの高インピーダンスのデバイスを想定しています。

また、メインボードのJP2の1番ピンのリセット信号(XRST_PIN_1.8V)はシステムリセットの状態を出力します。システムリセットが掛かっている状態はLow、それ以外の状態では High(1.8V)を出力します。この信号を使用することでAdd-onボードなどにセンシングプロセッサCXD5602と同じタイミングでリセットを掛けることが可能です。
1.9. I2Cの使用方法
Spresenseではメインボードと拡張ボードにそれぞれI2C接続に使用できる端子が1系統用意されています。
インターフェース電圧はメインボードが1.8V、拡張ボードが5Vまたは3.3Vになります。
通信速度は最大で400kbpsとなります。
メインボードと拡張ボードはI2Cとしては同一の系統となりますが、接続するデバイスのスレーブアドレスを変更することにより、同時に使用することが可能です。
メインボードでは4.7kΩで1.8Vに、拡張ボードでは1kΩで5Vまたは3.3Vにプルアップされています。
1.10. UARTの使用方法
Spresenseではメインボードと拡張ボードにそれぞれUART接続に使用できる端子が1系統用意されています。
メインボードではフロー制御付きのUART、拡張ボード側は調歩同期のUARTとして使用可能です。
インターフェース電圧はメインボードが1.8V、拡張ボードが5Vまたは3.3Vになります。
通信速度は最大で1.8432Mbpsとなります。
メインボードと拡張ボードはUARTとしては同一の系統を使用するため、同時に使用することはできません。
メインボードと拡張ボードを組み合わせた場合は、出荷時には自動的に拡張ボードのUARTが使用できる設定となっています。
組み合わせた状態でメインボード側のUARTをご使用になる場合には、拡張ボードのJP10の1-2番ピンに2.54mmピッチのジャンパーピンを挿してください。
ジャンパーピンはメインボードおよび拡張ボードの製品パッケージには同梱されておりませんので、別途ご用意ください。
拡張ボード側のUARTを使用する場合、メインボードのUARTピン(D00, D01, D27, D28)をGPIOとして使用することはできません。
1.11. SPIの使用方法
Spresenseではメインボードと拡張ボードにそれぞれSPI接続に使用できる端子が1系統ずつ用意されています。
両ボードのSPIはマスターモードでのみ使用が可能です。
インターフェース電圧はメインボードが1.8V、拡張ボードが5Vまたは3.3Vになります。
通信速度はメインボードが最大で13Mbps、拡張ボードが最大で39Mbpsとなります。
ただしこれはCXD5602のスペック値で、拡張ボードに関してはレベルシフタを搭載している影響などで実力では最大で20MHz程度となりますが、ご使用の環境によっては通信速度が大きく影響されることがあります。
メインボードと拡張ボードはそれぞれ別系統のSPIを使用しますので、同時に使用可能です。
1.12. PWMの使用方法
Spresenseでは拡張ボードにPWM出力に使用できる端子が4系統用意されています。
インターフェース電圧は5Vまたは3.3Vになります。
周波数は最大で6.5MHz、分解能は15ビットとなります。
1.13. SDIOの使用方法
CXD5602はSDIO規格に準拠した1.8Vの 4bit(または1bit)SDモード対応インターフェースを持ち、Spresenseでは拡張ボードにレベルシフタを使用して3.3Vに電圧を変換してmicroSDカードが使用できるようになっています。
SpresenseのSDIOの最大データ転送速度は21MB/sとなります。
1.14. 拡張基板でのデジタル信号(UART/SPI/PWM/GPIO)使用上の注意
Spresenseでは拡張ボードのデジタルピン入出力に下記の構造のようなレベルシフタを使用して、自動的方向の切り換えと電圧変換を行っています。
このレベルシフタはピンソケット側が1kΩで5Vまたは3.3Vに常にプルアップされています。
したがってピンソケットに接続する回路が低いインピーダンスを持つ回路である場合には、CPUの検出する閾値が変動してしまう事から正しく論理を検出できなくなります。
この場合には下図のように、入出力方向が変化しない信号に関しては、ピンソケットと接続する回路の間に片方向のバッファを挿入するのが良い方法です。
1.15. A/D変換器の使用方法
Spresenseはメインボード上に2系統(SEN_AIN4、SEN_AIN5)、拡張ボードに6系統(SEN_AIN0~SEN_AIN5)のA/D変換器(ADC)を備えています。メインボード上のピンSEN_AIN4とSEN_AIN5は拡張ボード上の 同じ信号ピンと排他使用となります。
SEN_AIN2~SEN_AIN5のLPADC (Low Power ADC)に比して、SEN_AIN0とSEN_AIN1のHPADC(High Performance ADC)は高速にA/D変換することが可能なピンとなります。 電源電圧や温度データなどDC電圧をA/D変換する場合は、0Vからフルレンジを使ってA/D変換できるLPADCの使用を推奨します。
下表に各ADCピンの仕様を示します。
| アナログピン番号 | CXD5602ピン名称 | 種類 | メインボード入力電圧(V) | 拡張ボード入力電圧(V) | 
|---|---|---|---|---|
A0  | 
SEN_AIN2  | 
LPADC  | 
-  | 
0 - 5.0  | 
A1  | 
SEN_AIN3  | 
LPADC  | 
-  | 
0 - 5.0  | 
A2  | 
SEN_AIN4  | 
LPADC  | 
0 - 0.7  | 
0 - 5.0  | 
A3  | 
SEN_AIN5  | 
LPADC  | 
0 - 0.7  | 
0 - 5.0  | 
A4  | 
SEN_AIN0  | 
HPADC  | 
-  | 
0 - 5.0  | 
A5  | 
SEN_AIN1  | 
HPADC  | 
-  | 
0 - 5.0  | 
アナログピン番号へのCXD5602のピン(回路図上の名称)の割り当てとメインボードへの入力電圧範囲に注意してください。
拡張ボード上ではCXD5602のA/D変換ピンには抵抗分割によって電圧を変換して入力しています。 拡張ボードのアナログピンに5.0Vを印加した場合、下記に示す回路によってSEN_AIN2~SEN_AIN5のLPADCは0.7Vに、SEN_AIN0とSEN_AIN1のHPADCは1.4Vに減圧されて入力されます。
ADCのリファレンス電圧はメインボード上のCXD5247が生成する0.7Vを使用します。
ADCピンにインピーダンスを持つ回路を接続する場合、たとえば可変抵抗器を経由して印加電圧を変化させてADCの動作確認を行う際などには、 可変抵抗器の抵抗値と上記分圧回路の抵抗値によってCXD5247のADCピンに入力される電圧が決定されます。
1.15.1. Spresense Arduino環境で使用する場合
A/D変換値は符号なしの10ビットデータとして出力されます。
サンプリング周波数はLPADCでは64Hz、HPADCでは16KHzになるように設定されています。
すべてのADCはSpresense拡張ボードを使用して、拡張ボードのアナログ入力ピンから入力した場合には下記のような特性を持っています(HPADCのゲインは-6dBに設定されています)。
1.15.2. Spresense SDK上で使用する場合
A/D変換値は符号つきの16ビットデータとして出力されます。 LPADC/HPADCともに10bitのRawデータを符号つきの16bitデータに変換して出力し、出力値の範囲は -32768(=0x8000)~32704(=0x7fc0) になります。
SEN_AIN2~SEN_AIN5のLPADCは下記のような特性を持っています。
Spresense SDK上ではSEN_AIN0とSEN_AIN1のHPADCに対し、ゲインと変換速度の変更が可能になります。
ADCの使用方法は Spresense SDK チュートリアルの
に記載しています。
拡張ボードでHPADCのゲインを変化させたときの変換値のグラフを下記に示します。
CXD5602のHPADCポートへの入力電圧値とゲインの設定値の関係は、CXD5602ユーザーマニュアル の「2.21.9 Gain Control」に記載があります(下表に転記します)。 入力電圧値を超えた範囲では変換値が飽和します。
| ゲイン(dB) | CXD5602ピン 有効ピーク・ピーク電圧(V) | 
|---|---|
-6  | 
1.6  | 
0  | 
0.8  | 
6  | 
0.4  | 
12  | 
0.2  | 
14  | 
0.16  | 
1.15.3. より微小な信号をA/D変換する場合
HPADCでゲインを変更して音声や各種センサーなどのより微小な信号をA/D変換するためには、下図のようにHPADCポートへの入力信号をDCカットして入力することを推奨します。 DCカットすることで拡張ボードのアナログポートとCXD5602ピンに入力されるピーク・ピーク電圧は等しくなります。
拡張ボードでこの機能を使用する際には以下の図のように拡張ボードへのはんだ付け作業が必要です。 ここでの作業は小型部品のはんだ付けや基板の改造を伴います。適切なスキル及び機材をもっている方のみ実施するように注意してください。
| ここに記載のはんだ作業を行った場合には、いかなる場合であっても製品保証の対象外となります。ご自身の責任において実施してください。 | 
1.16. メインボードに対する外部電源の供給方法
Spresenseのメインボードで消費する最大電流値は500mAで、メインボードおよび拡張ボード上のmicroUSB端子より電源を供給した場合には例え500mAより多くの電流が供給できる機能があった場合でも、メインボードへは500mAまでしか供給できません。この500mAにはAdd-onボードへの供給電流を含みます。
Add-onボードを設計する際に使用するデバイスの消費する電流値が多い場合にはメインボードのCN1に日本圧着端子製造製のPHコネクタ(S2B-PH-K-S)をマウントし、ここに十分な電流を供給できる 3.6V~4.4V(=動作推奨電圧。最大絶対定格電圧は5.5V)の電源を接続することにより、メインボードのEXT_VDD(JP2の3番ピン)からの供給電流値を増やすことができます。その際、EXT_VDD端子の電圧は接続した電源の 電圧とほぼ等しい電圧が出力されます。
上記はメインボードへのはんだ付け作業が必要です。ここでの作業は小型部品のはんだ付けやボードの改造を伴います。適切なスキル及び機材をもっている方のみ実施するように注意してください。
| ここに記載のはんだ作業を行った場合には、いかなる場合であっても製品保証の対象外となります。ご自身の責任において実施してください。 | 
またこの場合には、microUSB端子から電源を供給しなくともSpresenseシステムに電源が入ります。メインボードで消費する最大電流値の500mAと拡張ボードで消費する 電流の合計を供給することも可能となります。
| メインボードのPHコネクタ(CN1)から電源を供給した場合には、メインボードおよび拡張ボードのmicroUSBコネクタは使用しないでください。また、デバッグ時には外部電源を外してください。 | 
1.17. マイクの使用方法
Spresenseは拡張ボード上に搭載された2.54mmピッチのピンヘッダにアナログマイクを最大で4チャンネル、またはデジタルマイクを最大で8チャンネル接続することが可能です。
出荷時はアナログマイクの設定になっています。デジタルマイクを使用するには拡張ボードへのはんだ付け作業が必要です。 ここでの作業は小型部品のはんだ付けや基板の改造を伴います。適切なスキル及び機材をもっている方のみ実施するように注意してください。
| ここに記載のはんだ作業を行った場合には、いかなる場合であっても製品保証の対象外となります。ご自身の責任において実施してください。 | 
1.17.1. マイクチャンネルの配置
拡張ボード上のマイクチャンネルの配置を下図に示します。
A,B,C,Dがアナログマイクのチャンネルを示し、同色のD01, D23, D45, D67が対応するデジタルマイクのチャンネルを示します。
アナログマイクまたはデジタルマイクの入力設定を各チャンネルごとに別々に設定しますと十分な入力音質性能が得られない場合があります。 すべてのチャンネルをアナログマイクまたはデジタルマイク入力に設定することを推奨します。
1.17.2. アナログマイクからデジタルマイク入力への切り替え方法
アナログマイクからデジタルマイク入力に切り換えるためには下記の2つの手順が必要です。
- 
R50を取り外し、R49に0Ωをマウント(またはジャンパ線などでショートする)。
 - 
JP14の上下のはんだランドをジャンパ線などでショートする
 
また以下の理由から、切り替えは1.27mmピッチのショートジャンパを使用するのが便利な方法です。
- 
JP14は1.27mmピッチ8ピンの表面実装型ピンヘッダがマウント可能です。
 
下記に使用可能な1.27mmピッチのピンヘッダとショートジャンパの例を示します。
| 製造会社 | ピンヘッダ | ショートジャンパ | 
|---|---|---|
廣杉計器  | 
PSM-720153-04  | 
JS-7  | 
Samtec  | 
FTS-104-01-L-DV-TR  | 
|
HARWIN  | 
M50-1900005  | 
|
日本コネクト工業  | 
IKHSM28-D08G-H1.5  | 
HSH-JB-G  | 
1.17.3. アナログマイクの接続方法
1.17.3.1. ダイナミックマイク
JP10のマイクの接続ピンヘッダには、4つのアナログマイク入力(MICA、MIICB、MICC、MICD)端子があります。 これらの端子はコンデンサによってACカップリングされています。 アナログマイクを使用する場合、ノイズを最小限に抑えるために、マイクのGNDは、JP10のGNDをご使用ください。
1.17.3.2. エレクトレットマイク
Spresenseでは基準電圧2.0Vのコンデンサベースの2線式エレクトレットマイクを接続することができます。この場合には、JP10ピンヘッダのマイク入力端子に2.0Vの バイアス電圧を印加する必要があります。 下表にしたがって各チャンネルごとに1005サイズの負荷抵抗(RL)を指定位置にマウントしてください。
負荷抵抗値は各マイクで最適値が推奨されており、使用されるマイクのデータシートにてご確認ください。 マイクの出力インピーダンスはほぼ負荷抵抗の値になります。
| マイクチャンネル | マウントする抵抗 | 
|---|---|
A  | 
R51  | 
B  | 
R52  | 
C  | 
R47  | 
D  | 
R48  | 
下記に使用できるエレクトレットマイクの例を示します。以下のマイクの負荷抵抗の推奨値は2.2kΩとなります。
| 製造会社 | 品名 | 
|---|---|
CUI  | 
CMC-5044PF-A  | 
PUI  | 
POM-3535P-3-R  | 
Soberton  | 
EM-6022P  | 
1.17.4. デジタルマイクの接続方法
デジタルマイクを接続する際の推奨接続方法を下記に示します。 各マイクチャンネルの3ピン(DMIC, DCLK, GND)の組み合わせと1.8V電源に対し、デジタルマイクの左右切り替え信号(LR_SEL)の極性を一方をLOW、もう一方をHIGHとすることで、2個のデジタル・シリコンMEMSマイクの接続が可能です。 1.8Vの電源はAチャンネルとBチャンネルのMIC_BIAS端子より供給することができますので、分岐してご使用ください。CチャンネルとDチャンネルのMIC_BIAS端子からは1.8Vは供給できません。
下記に使用できるデジタル・シリコンMEMSマイクの例を示します。
| 製造会社 | 品名 | 
|---|---|
Knowles  | 
SPH0641LU4H-1  | 
Knowles  | 
SPM0423HD4H-WB  | 
Infineon  | 
IM69D130  | 
1.18. スピーカーの使用方法
Spresenseはメインボード上に搭載されたCXD5247にステレオD級出力アンプを搭載しており、これを利用して2台のスピーカーを駆動することが可能です。
ただし、メインボード単体ではCXD5247のD級アンプに3.3V電源が供給されないため、スピーカーはご使用できません。
スピーカーを使用するためにはメインボードのボードtoボードコネクタCN4の1番ピンおよび3番ピンに低ノイズの3.3V電源を供給する必要があります。ご使用のスピーカーに応じて十分な電流値を供給してください。
拡張ボードと組み合わせてご使用する場合には、この3.3V電源は供給されるように設計されています。
メインボードは出荷時は拡張ボードのヘッドホン出力に合わせた設定になっています。スピーカーを使用するにはメインボード上のチップ部品の載せ替えはんだ付け作業と、拡張ボードへのはんだ付け作業が必要です。 ここでの作業は小型部品のはんだ付けや基板の改造を伴いますので、適切なスキル及び機材をもっている方のみ実施するように注意してください。
| ここに記載のはんだ作業を行った場合には、いかなる場合であっても製品保証の対象外となります。ご自身の責任において実施してください。 | 
1.19. JTAGデバッガの使用方法
SpresenseではCoreSight 10コネクタに接続することによって、Cortex-M シリーズ SWD 対応のJTAGデバッガを使用することが可能です。
この機能を使用するためには拡張ボードへのはんだ付け作業が必要です。小型部品のはんだ付けや基板の改造を伴いますので、適切なスキル及び機材をもっている方のみ実施するように注意してください。
| ここに記載のはんだ作業を行った場合には、いかなる場合であっても製品保証の対象外となります。ご自身の責任において実施してください。 | 
拡張ボードのCN1にCoreSight 10用のピンヘッダをはんだ付けしてください。
使用するCoreSight 10のケーブルによってはKEYの箇所の穴が埋められているものがあります。 はんだ付けする前に、あらかじめ下図のKEYにあたる箇所のピンをラジオペンチなどを使用して抜いてください。
下記に使用可能なピンヘッダの例を示します。
| 製造会社 | ピンヘッダ | 
|---|---|
廣杉計器  | 
PSM-720153-05  | 
Samtec  | 
FTS-105-01-L-DV-TR  | 
HARWIN  | 
M50-3600542  | 
日本コネクト工業  | 
IKHSM28-D10G-H1.5  | 
1.20. GNSSの使用方法
1.20.1. GNSS用オンボードチップアンテナについて
Spresenseはメインボード上にGNSS用チップアンテナを搭載しておりそのままの状態で位置測位が可能です。
オンボードアンテナの特性はハードウェア設計資料に掲載しています。 ** GNSSオンボードチップアンテナ特性 (pdf)
1.20.2. GNSS用外部アンテナの使用方法
Spresenseはより高性能の位置測位が行えるように、メインボードにuFL接続タイプの外部アンテナを接続しての測位も可能です。
メインボードへのはんだ付け作業が必要です。ここでの作業は小型部品のはんだ付けや基板の改造を伴います。適切なスキル及び機材をもっている方のみ実施するように注意してください。
| ここに記載のはんだ作業を行った場合には、いかなる場合であっても製品保証の対象外となります。ご自身の責任において実施してください。 | 
外部GNSSアンテナを使用するためには以下の作業が必要です。
- 
下図のCN3にuFLコネクタをマウントしてください。
 
下記に使用可能なuFLコネクタの例を示します。
| 製造会社 | 品名 | 
|---|---|
ヒロセ電機  | 
U.FL-R-SMT-1  | 
- 
使用するアンテナの種類に応じて、メインボード上のチップ抵抗を下表のように変更して下さい。
下表で"OPEN"は該当する箇所に部品がマウントされていないことを、"CLOSE"は0Ω抵抗またはワイヤなどでショートされていることを示します。 各抵抗のサイズは1005です。 
使用する  | 
R29  | 
R31  | 
R33  | 
R30  | 
R32  | 
備考  | 
チップ  | 
CLOSE  | 
OPEN  | 
CLOSE  | 
OPEN  | 
CLOSE  | 
出荷状態  | 
パッシブ  | 
OPEN  | 
CLOSE  | 
OPEN  | 
OPEN  | 
CLOSE  | 
|
アクティブ  | 
CLOSE  | 
OPEN  | 
CLOSE  | 
CLOSE  | 
OPEN  | 
1.21. Spresense Add-onボード・拡張ボード・ケースの設計について
1.21.1. Spresense HW 設計資料
SpresenseではAdd-onボード・拡張ボード・ケースの設計に有用な、すべてのボードの各種ハードウェア設計資料を公開しています。
- 
回路図
 - 
部品リスト
 - 
基板外形寸法図
 - 
部品配置図
 - 
2D CADデータ(DXF形式)
 - 
3D CADデータ(STEP形式)
 
このほかにも、コネクタピンリストやGNSSオンボードチップアンテナ特性も公開しています。
これらは ハードウェア設計資料 にまとめて公開しています。
2. Spresense と Arduino Uno の違い
Spresense 拡張ボードと Arduino Uno ボードについて、端子の仕様や一部コネクタに違いがあります。
| ピン | Spresense 拡張ボード | Arduino Uno | 
|---|---|---|
VIN端子  | 
無効な端子です。  | 
7~12V入力  | 
デジタルI/O電圧  | 
5V または 3.3V(切り替え可能)  | 
5V 固定  | 
デジタル入出力端子  | 
デジタルI/O電圧でプルアップされています。供給できる電流は 6mA程度です。注1  | 
ATmega328 MPU から最大 40mA の電流を供給できます。 入力抵抗はハイインピーダンスをサポートしています。  | 
アナログ入力端子  | 
5Vレンジ固定のアナログ入力専用端子です。デジタル端子として使用することはできません。注2  | 
アナログ入力端子としてもデジタル入出力端子としても使用できます。  | 
AREF端子  | 
無効な端子です。  | 
A/D変換のリファレンス電圧として設定できます。  | 
VREF端子  | 
デジタルI/O電圧を出力します。  | 
A/D変換のリファレンス電圧を出力します。  | 
シリアル通信端子  | 
メインボード上のUSBシリアル通信 (Serial) とは異なる専用のシリアル通信端子 (Serial2) です。シリアルモニタとは独立して使用することができます。  | 
USB シリアル通信 (Serial) との共有端子です。  | 
SPI端子  | 
Master モードのみ対応。  | 
Master/Slave 両モード対応。  | 
機器通信端子(ICSP2)  | 
搭載していません。  | 
搭載しています。  | 
| (注1) デジタル入出力端子: CXD5602 の 1.8V を拡張ボード上のレベルシフターを介して 3.3V もしくは 5V に電圧変換しています。ピンソケットにはプルアップ抵抗を介して接続されており、接続されるシールドやデバイスによっては問題を引き起こす可能性があります。 | 
| (注2) アナログ入力端子: CXD5602 のアナログ入力レンジは 0.7V ですので、5Vから0.7Vへ電圧を下げるために抵抗分圧を採用しています。 この方式は、接続されるデバイスによっては問題を引き起こす可能性があるため、拡張ボード上の AIN 端子を利用する際は、接続デバイスの出力インピーダンスに注意してください。 | 
3. Spresense ハードウェア比較
この章では、Spresense の他のオープンプラットフォームである、Arduino Uno や Raspberry Pi model 3B と比較し、何が違うのかを明らかにします。
3.1. プロセッサとオペレーションシステム
Feature  | 
Arduino Uno  | 
Spresense  | 
Raspberry Pi 3B  | 
Processor type  | 
AVR  | 
ARM M4F  | 
ARM A53  | 
Bits  | 
8  | 
32  | 
64  | 
Number of cores  | 
1  | 
6  | 
4  | 
Clock speed  | 
16 MHz  | 
156 MHz  | 
1.2 GHz  | 
Operating system  | 
None  | 
NuttX  | 
Linux  | 
Boot time  | 
0  | 
<1 second  | 
~20 Seconds  | 
Spresense は、 Arduino のボードと比較すると遥かにパワフルなプロセッサを備えています。これはより計算が必要とされるようなセンサーフュージョンアプリケーションに非常に有利です。しかし、それよりも遥かに高速なCPUを持つ Raspberry Pi には及びません。
Spresense による大きなアドバンテージはその起動速度にあります。 Raspberry Pi は高機能であるが故に起動に20秒はかかりますが、Spresense では1秒もかからずに起動することができます。
3.2. メモリシステム
Feature  | 
Arduino Uno  | 
Spresense  | 
Raspberry Pi 3B  | 
RAM  | 
0.002MB  | 
1.5 MB  | 
1000MB  | 
FLASH  | 
0.032MB  | 
8 MB  | 
None  | 
SD Card  | 
Shield  | 
On-Board, optional  | 
On-Board, essential  | 
eMMC  | 
None  | 
Shield  | 
None  | 
EEPROM  | 
0.001MB  | 
Use Flash  | 
Use microSD card  | 
Arudino は小さなメモリのため、複雑なアプリケーションを構築することを難しくしています。一方、 Raspberry Pi は遥かに大きなメモリを有していますが、それはシステムとして micro SD カードを必要とします。
Spresense はちょうどその中間の位置にあります。プログラムをストアするフラッシュメモリ(ROM)は 8MB あり、またRAMは 1.5MB 有しています。また、micro SD カードもサポートしているため、音楽データや画像データをストアすることができます。
3.3. 電力供給
Feature  | 
Arduino Uno  | 
Spresense  | 
Raspberry Pi 3B  | 
Voltage  | 
5V or 6-20V  | 
5V or LiPo(3.7V)  | 
5V  | 
Typical Operating Power  | 
50 mW  | 
100mW or low power modes  | 
2400mW  | 
Spresense のチップセットである CXD5602 と CXD5247 は、ウェアラブル製品向けに設計されているため、シングルセルのLiPoバッテリで駆動できるように設計されています。また充電機能もあります。しかし、Spresense では安全性の観点から使えるようになっていません。
電源供給は、Spresense メイン基板のUSBコネクタから行ってください。
Spresense は、省電力モードを活用すると非常に小さな電力でセンサー等のイベントを待ち受けることができます。これらは、 Arduino や Raspberry Pi にはない IoT向けセンシングプロセッサならではの機能です。Spresense SDK を使えば、省電力機能を効率的に使うことが可能になります。
3.4. オーディオ
Feature  | 
Arduino Uno  | 
Spresense  | 
Raspberry Pi 3B  | 
Quality  | 
Shield  | 
High  | 
Low  | 
Microphones  | 
Shield  | 
up to 8 microphone  | 
Stereo  | 
Speakers  | 
Shield  | 
Stereo (BTL)  | 
Stereo  | 
CXD5602 と CXD5247 は、ハイクオリティのポータブルオーディオ機器としての機能を持つようにも設計されています。ハイレゾリューションのオーディオの再生とマルチ録音が可能になっています。
CXD5247 は高性能のA/Dコンバータを有しており、アナログなら4チャンネル、デジタルなら8チャンネルのマイク入力を扱うことが可能です。さらに、フルデジタルアンプも備えており、非常にクリアな音でスピーカーに直接出力できます。スピーカー出力はBTL(Balanced Transformer Less)のため、ダイナミックな音を提供することができます。
CXD5602 は専用のAudio DSPを備えており、ハイレゾリューション音源の再生や録音が可能になっています。
これらの機能は、 Arudino や Raspberry Pi を遥かに凌ぐ、Spresense ならではの大きな特長と言えるでしょう。
3.5. GNSS測位機能とリアルタイムクロック
Feature  | 
Arduino Uno  | 
Spresense  | 
Raspberry Pi 3B  | 
GNSS  | 
Shield  | 
GPS & GLONASS  | 
Shield  | 
Time  | 
Shield  | 
RTC  | 
Shield  | 
Spresense は超低消費電力のGNSS受信機能を有しています。これは正確な位置を必要とするトラッキング端末やドローンには非常に重要な機能です。
また、GNSS信号から受信できる極めて正確な時刻でリアルタイムクロックを同期できるため、時刻が重要なデータロギングに向いています。また、時刻をトリガーとして同期しなければならないアプリケーション(例えば、360度映像システム)の制御にも使えます。
Arduino や Raspberry Pi ではそのような機能はシールドで実現しなければならず、低消費電力やローレイテンシーで実現することを非常に難しくしています。
3.6. デジタル端子
Feature  | 
Arduino Uno  | 
Spresense  | 
Raspberry Pi 3B  | 
IO Pins  | 
14  | 
29 + 4 LED  | 
27  | 
IO voltage  | 
5V  | 
5V/3.3V/1.8V  | 
3.3V  | 
UART  | 
1  | 
2  | 
2  | 
SPI  | 
1  | 
1 (3.3/5V) +1 (1.8V)  | 
1  | 
I2C  | 
1  | 
1 (3.3/5V) +1 (1.8V/camera)  | 
2  | 
PWM  | 
6  | 
4  | 
1  | 
Spresense は、UART, I2C, SPI, PWM, I2S など非常に多様なデジタル端子を備えています。
Spresense メインボードのデジタル端子の基準電圧は1.8Vで、Spresense拡張ボードのデジタル端子の基準電圧は、3.3Vもしくは5Vに設定できます。これはメインボードの1.8V基準電圧を3.3Vもしくは5Vにレベルシフトしています。また、メインボードには、ビルトインの四つのLEDを備えています。
Spresense メインボートとSpresense拡張ボードは、100ピンのB2Bコネクタで接続されています、
3.7. A/Dコンバータ
Feature  | 
Arduino Uno  | 
Spresense  | 
Raspberry Pi 3B  | 
Channels  | 
6  | 
6  | 
None  | 
Bits  | 
10  | 
10  | 
None  | 
Fastest rate  | 
~10 kHz  | 
500 kSPS  | 
None  | 
Spresense 拡張ボードには、 Arduino と同じように6チャンネルのアナログ入力端子を備えています。しかし、 Arduino と異なり、アナログ入力端子をデジタル端子として使うことはできません。
また、A/Dコンバータの電圧レンジは5V固定です。SpresenseメインボードのA/Dコンバータ入力端子の電圧レンジは0.7Vなので、Spresense拡張ボードからの入力をノイズを抑えるために、抵抗分圧で電圧シフトしています。
したがって、接続されるデバイスの出力インピーダンスには十分注意を払ってください。
3.8. コネクティビティ
Feature  | 
Arduino Uno  | 
Spresense  | 
Raspberry Pi 3B  | 
USB  | 
1 device  | 
2 device  | 
4 host  | 
Camera  | 
Shield  | 
5M Pixel  | 
8M Pixel  | 
Video display  | 
None  | 
SPI up to 360x240 Pixel  | 
HDMI, DSI  | 
WiFi  | 
Shield  | 
Shield  | 
802.11n  | 
Bluetooth  | 
Shield  | 
Shield  | 
4.1 Classic, Low Energy  | 
Ethernet  | 
Shield  | 
Shield  | 
10/100  | 
Cellular  | 
Shield  | 
Shield  | 
Shield  | 
Spresense メインボードは、 Raspberry Pi と同じく専用のカメラインターフェースを用意しています。専用のカメラボードを使うことでHDの静止画を取得することができます。