Developer World Spresense
English 中文
目次

1. はじめに

Spresense は、Arduino 互換のソニーのボードコンピュータで、ソニー独自のセンシングプロセッサ CXD5602 を搭載しています。 CXD5602 は、GPSによる測位機能、ハイレゾリューションオーディオの再生・録音機能、低消費電力のマルチコアを内蔵したハイパフォーマンスのIoT向けプロセッサです。

overview hardware both

ここでは、以下の2つの章に従って、Spresenseのハードウェアとソフトウェアについて、その概略を説明します。

早速、Spresenseを使ってプログラミングを楽しみたい方は、以下の章をご覧ください。

また、 CXD5602 についての詳しい情報は、

をご覧ください。

2. Spresense ハードウェアについて

2.1. Spresense ボードについて

Spresense ボードは以下のボードから構成されています。

Spresense メインボードには、ソニーが開発したIoT向けのセンシングプロセッサが搭載されており、Spresense メインボード単独でも動作することができます。

  • CXD5602 センシングプロセッサ

  • CXD5247 パワーマネージメント&オーディオアナログIC

Spresense 拡張ボードは、Spresense メインボードのインターフェイスを拡張するための基板です。 Spresense メインボードとSpresense 拡張ボードは Board-to-Board (B-2-B) コネクタで接続されており、 Spresense 拡張ボードをメインボードに接続することで、Arduino Uno互換のピン形状を構成することができます。 Spresense 拡張ボードのピン仕様について、Arduino Uno と一部異なる部分があります。詳細については、Spresense と Arduino Uno の違い を参照してください。

overview hardware both
図 1. Spresense メインボード (上の基板)、Spresense 拡張ボード (下の基板)

Spresense メインボードとSpresense LTE拡張ボードは Board-to-Board (B-2-B) コネクタで接続されており、Spresense LTE拡張ボードはLPWAの規格のひとつである LTE-Mに対応し、各センサーからの情報などをLTE-Mネットワークを利用して送信することを可能にします。

overview hardware both LTE
図 2. Spresense メインボード (上の基板)、Spresense LTE拡張ボード (下の基板)

2.1.1. Spresense メインボード

Spresense メインボードは次のような特徴があります。

  • センシングプロセッサ CXD5602 搭載

  • 8 MB フラッシュメモリ

  • フットプリントの小さな基板

  • Camera 専用コネクタ

  • GNSS (GPS)アンテナ

  • 拡張性を備えたコネクタ、機能

    • 各種GPIO (UART, SPI, I2C, I2S)

    • ADC 2チャンネル

    • アプリケーション用 LED x 4 (緑)

    • 通電表示用LED(青)

Spresense メインボードの基準I/O電圧は1.8Vです。1.8V以上の電圧を加えると Spresense のチップセットが破壊される可能性があります。取扱いには十分注意してください。
overview hardware mainboard signal
図 3. Spresense メインボード

メインボードに配置されるコネクタならびにスイッチなどの回路上の名称を以下に示します。

表 1. メインボードコネクタ、スイッチ
各部名称 説明

[PWR] Power LED

電源LED。電源供給されているときに青色に点灯します。

[RST] Reset button

リセットボタン

[LED0] - [LED3]

アプリケーションから使える4つのビルトインの緑色LED

[CN2]

micro USB Type-B コネクタ。Sketchなどプログラムのロードやデバッグの目的で利用するUSB/UART用のコネクタになります。

[CN4]

B-2-Bコネクタ 拡張ボードと接続するための100pinのコネクタ(裏面に配置)

[CN5] Camera Connector

Spresenseカメラボードと接続するためのカメラ専用コネクタ

[BR] Boot Recovery Button

工場出荷状態へ復旧する際に利用し、通常は使用しません。

メインボードのブロックダイアグラムを以下に示します。

block diagram mainboard
図 4. Spresense メインボードブロックダイアグラム

メインボードの回路図のPDFは次のリンクから入手できます。

2.1.2. Spresense 拡張ボード

Spresense 拡張ボードは Arduino Uno 互換のピンソケットに加えて、次の端子を備えています。

  • ヘッドホンジャック

  • micro SD カードスロット

  • USB コネクタ

  • マイク接続用ピンヘッダー

overview hardware extboard signal
図 5. Spresense 拡張ボード

拡張ボードに配置されるコネクタならびにスイッチなどの回路上の名称を以下に示します。

表 2. 拡張ボードコネクタ・ジャンパ
各部名称 説明

CN3

B-2-Bコネクタ メインボードと接続するための100ピンのコネクタ

CN4

microSD カードスロット

CN6

microUSB Type-B コネクタ。USBのMSC(Mass Storage Class)機能を提供することが可能で、拡張ボードのSDカードにPC から直接アクセスできます。

CN7

ヘッドフォンジャック 3極 3.5mmコネクタ

JP1

デジタル入出力端子基準電圧設定 5V or 3.3V

JP10 - pin 3 to 16

マイクを接続するためのピンになります。これらのピンはアナログマイク、もしくはデジタルマイクが接続できます。詳しくは、マイクの使用方法 を参照してください。

JP10 - pin 1, 2

UART2 端子(D00, D01)をメインボードで使うか、拡張ボードで使うかを選択します。ショートすると メインボード上の UART2 端子 (1.8V) が有効になります。

JP14

ショートすることでJP10をデジタルマイク端子用に設定が出来ます。詳しくは、マイクの使用方法 を参照してください。

microSD

Spresense 拡張ボードで使用できるmicroSDカードはFAT32でフォーマットされている必要があります。"SDHC" の microSD カードの多くはメーカー出荷時にFAT32でフォーマットされています。他のファイルシステムでフォーマットされているカードは、あらかじめPC等でSDカード用のフォーマットツールなどを使用してFAT32にフォーマットしなおしてください。

拡張ボードのブロックダイアグラムを以下に示します。図中のVSYSはUSB端子からの給電の場合には4Vとなります。

block diagram extboard
図 6. Spresense 拡張ボードのブロックダイアグラム

拡張ボードの回路図のPDFは次のリンクから入手できます。

2.1.3. Spresense LTE拡張ボード

Spresense LTE拡張ボードは LTE-Mネットワークを利用して通信することが可能です。 ヘッドフォンジャック、microSD カードスロット、microUSB端子を装備しています。 またSpresense 拡張ボードより系統数は削減されていますが、マイク入力、デジタル入出力、アナログ入力用のピンヘッダを装備しています。

overview hardware lte extboard signal
図 7. Spresense LTE拡張ボード

LTE拡張ボードに配置されるコネクタならびにスイッチなどの回路上の名称を以下に示します。

表 3. LTE拡張ボードコネクタ・ジャンパ
Ref 各部名称 説明

ANT1

LTEモジュール

LTE Cat-M1に対応したLTE送受信モジュールです。

CN4

LTEアンテナ

オンボードのチップアンテナです。

CN10

nanoSIMコネクタ

nanoSIMを装着するためのコネクタです。

CN1

microUSBコネクタ

microUSB Type-Bコネクタで、本ボードに電源を供給するためのコネクタです。USBのMSC(Mass Storage Class)機能を使用して拡張ボードのSDカードにPC から直接アクセスできます。

CN3

BtoBコネクタ

Spresenseメインボードと接続するためのコネクタです。

CN2

I/O電源設定ジャンパ

CN9のデジタル信号の電圧レベルを5Vか3.3Vに設定するジャンパです。出荷状態ではI/O電圧は5Vに設定されています。

CN9

信号用ピンヘッダ

外部機器を接続するための2.54mmピッチのピンヘッダです。

CN7

microSDコネクタ

microSDカードを装着するためのコネクタです。

J1

ヘッドフォンジャック

φ3.5mmの4極ミニプラグに対応したヘッドフォンジャックです。ステレオヘッドフォン出力+モノラルマイク入力のヘッドセットが使用できます。もちろん3極のステレオミニジャックヘッドフォンも使用できます。

CN6

マ イク用ピンヘッダ

マイクを接続するための2.54mmピッチのピンヘッダです。

D4

LTE LED

LTEの通信状況を示すオレンジ色のLEDです。

S1

プッシュスイッチ

汎用スイッチです。スイッチを押すと信号がHighレベルからLowレベルに変化します。Arduino IDEのD33(CXD5602の” SDIO_CMDDIR”ピン)に割り当てられています。

CN4

スピーカー(L)用ピンヘッダ

スピーカー(L)用のピンヘッダです(出荷時は未実装)。

CN5

スピーカー(R)用ピンヘッダ

スピーカー(R)用のピンヘッダです(出荷時は未実装)。

CN8

CoreSight 20用コネクタ

SWD用のピンヘッダです(出荷時は未実装)。

拡張ボードのブロックダイアグラムを以下に示します。図中のVSYSはUSB端子からの給電の場合には4Vとなります。

block diagram LTE
図 8. Spresense LTE拡張ボードのブロックダイアグラム

拡張ボードの回路図のPDFは次のリンクから入手できます。

2.1.4. Spresense カメラボード

Spresenseカメラボードにはカメラモジュールが搭載されています。このカメラモジュールはソニー製イメージセンサISX012とレンズから構成されており、Spresenseから の指示でカメラとして起動します。

イメージセンサISX012は有効画素数 511万画素の画像センサでJPEGエンコーダを搭載しているため、Y/C、RGBに加えJPEG形式の画像を Spresenseに送ることができます。

HW camera board
図 9. Spresenseカメラボード

Spresense カメラボードでのISX012の仕様表を下記に記載いたします。

表 4. イメージセンサISX012スペック
イメージサンサー

センサータイプ

1/4型 CMOSイメージセンサー

有効画素数

511万画素 2608(H)×1960(V)

記録画素数

504万画素 2592(H)×1944(V)

カメラ制御

ISO感度

ISO 40~800

シーンセレクション

12パターン

露出制御

自動、シャッター優先、ISO感度優先、長時間AEモード

測光モード

マルチパターン、中央重点、画面全体平均、スポット

露出補正

±2EV、 1/3EVステップ

シャッタースピード

1/8 s(長時間AEモード)~1/42000 s

ホワイトバランス設定

オートホワイトバランス、太陽光、曇天、蛍光灯、ランプ

画像フォーマット

出力画像フォーマット

JPEG(4:2:2)、Y/Cb/Cr、YUV、RGB、JPEG+YUV(サムネイル)

静止画データレート

5M pixel 15 frame/s JPEG output

動画データレート

SVGA 30 frame/s YCbCr output

HDビデオ出力

1080p(1920×1030 30 frame/s)、720p(1208×720 60 frame/s)
JPEG output、JPEG+YCbCr output

また、レンズの仕様表を下記に記載いたします。

表 5. カメラモジュールレンズ仕様表
機能 性能

レンズ構成

1/4インチ 4枚

有効焦点距離

2.74mm

F値

2.0±5%

画角

78°±3°

主光線角

<33.5°

歪曲収差

<1.5%

解像度

中心1100本、四隅900本

焦点距離

1.5m

焦点範囲

77.5~237.06cm

カメラボードの回路図のPDFは次のリンクから入手できます。

2.1.5. Spresense HDR カメラボード

SpresenseHDR カメラボードにはカメラモジュールが搭載されています。このカメラモジュールはソニー製イメージセンサISX019とレンズから構成されており、Spresenseから の指示でカメラとして起動します。

SpresenseHDR カメラボードにはFPGAが搭載されており、色空間変換回路とJPEGエンコーダを搭載しているため、Y/Cb/Crに加え、RGB、JPEG形式の画像を Spresenseに送ることができます。

HW HDR camera board
図 10. SpresenseHDR カメラボード

Spresense HDR カメラボードでのISX019の仕様表を下記に記載いたします。

表 6. イメージセンサISX019スペック
イメージサンサー

センサータイプ

1/3.8型 CMOSイメージセンサー

有効画素数

126万画素 1297(H)×969(V)

推奨記録画素数

123万画素 1280(H)×960(V)

カメラ制御

測光モード

平均、中央重点、スポット、ヒストグラム

露出補正

±2EV、 1/3EVステップ

ホワイトバランス設定

Auto、MWBモード、ユーザモード、ワンプッシュモード

露出時間調整

可変

画像フォーマット

出力画像フォーマット

Y/Cb/Cr

*High Dynamic Range (HDR) 機能

HDR機能

また、レンズの仕様表を下記に記載いたします。

表 7. HDR カメラモジュールレンズ仕様表
機能 性能

レンズ構成

ガラスレンズ 6枚

IRカットフィルター

415-650nm(可視光透過)

レンズ径

M8 P0.35

有効焦点距離

5.1mm±5%

F値

2.0±5%

画角

垂直画角:31.2°±5%、水平画角:41.8°±5%、対角画角:52.4°±5%

主光線角

<17.5°

歪曲収差

-1.36%

解像度

500本以上

焦点距離

調整可能

焦点範囲

2cm~∞

カメラボードの回路図のPDFは次のリンクから入手できます。

2.1.6. Spresense GNSS Add-onボード

Spresense GNSS Add-onボードはL1帯及びL5帯によるデュアルバンドの位置測位を実現するソニーセミコンダクタソリューションズ製のGNSS受信LSI「CXD5610GF」を搭載しています。 地面や近距離にある建造物などからの反射などの厳しい環境下においても、高精度で安定的な測位ができます。

Spresense GNSS Add-onボードにはGNSS用のアンテナは搭載されておりません。別途外付けアンテナが必要になります。
表 8. GNSS Add-onボード 対応GNSSリスト
対応GNSS GPS/Galileo/BeiDou/GLONASS/QZSS/SBAS/NavIC
HW GNSS Add on board
図 11. SpresenseGNSS Add-onボード

GNSS Add-onボードの回路図のPDFは次のリンクから入手できます。

2.2. Spresense ボードの使用方法について

2.2.1. Spresense メインボードおよびHDR カメラボードへの遮光シールの貼付方法

Spresense メインボードをご使用の前には付属の遮光シールを下図のIC4を覆うように貼付してください。

HW shading seal
図 12. メインボードの遮光シールの貼付位置

Spresense HDR カメラボードをご使用の前には付属の遮光シールを下図のIC10を覆うように貼付してください。

HW shading seal HDR camera
図 13. HDR カメラボードの遮光シールの貼付位置
shading seal picture
図 14. 付属の遮光シール
太陽光の当たる場所や強い光の下などでご使用いただくと誤動作の原因となりますので、遮光シールを必ず貼付してください。

再貼付の際は下記の遮光シールを推奨します。

製造会社 品名

シュアーテープ

CP-743

2.2.2. SpresenseメインボードとSpresense拡張ボードの接続方法

ここでは、SpresenseメインボードとSpresense拡張ボードの取り付け方法を説明します。

Spresense 拡張ボードには、メインボードと接続するためのスペーサーが4つ付属しています。

overview spacer
図 15. Spresense スペーサー

このスペーサーを Spresense 拡張ボードのスルーホールに差し込みます。スルーホールの場所に注意してください。

overview spacer through hole
図 16. スペーサーを差し込むスルーホールの位置

Spresense拡張ボードにスペーサーを取り付けた後に、Spresenseメインボードを取付ます。

overview spacer connection
図 17. Spresense 拡張ボードとスペーサーとSpresenseメインボードの位置関係
取付の際は、メインボードの向きに注意してください。USBコネクタを同じ方向にしてください。
overview spacer direction
図 18. Spresense 拡張ボードとメインボードの方向

USBコネクタが同じ方向に向いていれば、Spresenseメインボードと、Spresense拡張ボードの接続は完了です。

overview spacer finish
図 19. Spresense 拡張ボードとメインボード

取り付け終了後、再度SpresenseメインボードとSpresense拡張ボードを上下から指で押さえるなどして、BtoBコネクタの嵌合をご確認ください。 嵌合が不完全な場合、micro SDカードやオーディオ機能などのSpresense拡張ボード上の機能が動作しないことがありますのでご注意ください。

メインボードと拡張ボードを着脱する際は負荷がかからないように慎重に行ってください。

2.2.3. SpresenseメインボードとSpresense LTE拡張ボードの接続方法

ここでは、SpresenseメインボードとSpresense LTE拡張ボードの取り付け方法を説明します。

メインボードとLTE拡張ボードを接続する際は必ず電源を切った状態で行ってください。

Spresense LTE拡張ボードには、メインボードと接続するためのスペーサーが4つ付属しています。

overview spacer
図 20. Spresense スペーサー

このスペーサーを Spresense LTE拡張ボードのスルーホールに差し込みます。スルーホールの場所に注意してください。

[width=100%
図 21. Spresense 拡張ボードへのメインボードの取り付け位置

micro SDカードや各種オーディオ機能などのLTE拡張ボード上の機能が動作しない、または動作がおかしいなどの症状が現れる場合には、 BtoBコネクタの嵌合が不完全の可能性があります。メインボードとLTE拡張ボードを上下から指で挟んで、再度押し込んでみてください。

2.2.3.1. Spresense LTE拡張ボードへのSIMカード挿入方法

ここでは、Spresense LTE拡張ボードへのSIMカードの挿し方について説明します。

下の図のように、Spresense LTE拡張ボードの背面にSIMカードスロットがあります。 SIMカードの切り欠きが左下方向になるようにSIMスロットへSIMカードを奥までしっかりと挿入してください。

overview lte sim insert ja
SIMカードが正しく挿入されていない場合、LTEネットワークへの接続が正しく行われないことがあります。

2.2.4. SpresenseメインボードとSpresenseカメラボード/HDR カメラボードの接続方法と準備

ここでは、SpresenseメインボードへのSpresenseカメラボード/HDR カメラボードの取り付け方法を説明します。

カメラモジュールは静電気に非常に弱いため、カメラボード/HDR カメラボードを取り扱う前には十分に接地された金属やコンクリート、アスファルト、木材、クロス紙などに 触れ、人体から静電気を除去してください。静電気が発生するとカメラモジュールの故障の原因となります。

カメラボード/HDR カメラボードのフラットケーブルを下図のようにメインボードのカメラ専用コネクタ(CN5)に奥までしっかりと挿し込んでください。フラットケーブルには裏表があります。 電極の向きが下図と同じ向き(microUSBコネクタ側)になるように挿しこんで下さい。

HW camera setting ja
図 22. Spresense カメラボード/HDR カメラボードの接続方法

なお、Spresenseカメラボードのレンズは小さな半透明の青いプラスチックフィルムで覆われています。これはレンズを保護するためのものですので、ご使用前には取り除いてください。 取り除く際は慎重にはがしてください。

2.2.5. Spresenseカメラボード/HDR カメラボード側のフラットケーブルについて

カメラボード/HDR カメラボードのフラットケーブルが挿し込まれているコネクタは破損しやすいため、カメラボード/HDR カメラボードからフラットケーブルは極力取り外さないでください。 フラットケーブルを挿抜する際には、以下の指示に従ってください。

  • フラットケーブルを抜く場合

    • A. コネクタのレバーの両サイドに均一の力をかけて、基板と水平にゆっくりとレバーをスライドさせ押し出します。

    • B. フラットケーブルを引き抜きます。

  • フラットケーブルを挿す場合

    • C. コネクタにフラットケーブルを奥までしっかり挿入します。フラットケーブルの電極側が下記の図の場合、上を向くようにして下さい。

    • D. コネクタのレバーの両サイドに均一の力をかけて、基板と水平にゆっくりとレバーをスライドさせ押し込みます。

HW FFC camera side
図 23. Spresense カメラボード/HDR カメラボード側のフラットケーブルの挿抜方法
カメラボード/HDR カメラボードのコネクタのレバー操作はゆっくり慎重に行ってください。 レバーの両サイドに別々の力をかけたり、基板に対して水平方向以外の向きに動かすとレバー破損の原因となります。

また、カメラ用フラットケーブルが破損してしまった場合に代替品として使用できるフラットケーブルを以下に示します。できるだけ短いフラットケーブルをご使用下さい。

表 9. 代替えフラットケーブルリスト
製造会社 品名 長さ

Molex

15166-0211

102mm

Molex

15166-0213

127mm

Wurth Electronics

687620100002

100mm

2.2.6. Spresenseメインボード、Spresense GNSS Add-onボードの接続方法と準備

ここでは、SpresenseメインボードへのSpresense GNSS Add-onボードの取り付け方法を説明します。

SpresenseメインボードのJP1とJP2の1番ピンに、Spresense GNSS Add-onボードのCN1とCN2の1番ピンを合わせ、軽く押し込んでください。 正しい向きの場合、SpresenseメインボードとSpresense GNSS Add-onボード上の"SONY"の文字が同じ向きになります。

How to set GNSS Add on ja
図 24. Spresense GNSS Add-onボード装着方法
Spresense GNSS Add-onボードをSpresenseメインボードに装着する際は、必ずメインボードのピンソケットにGNSS Add-onボードのピンソケットの脚が まっすぐ入る位置に調整してから、手で軽くGNSS Add-onボードを押し込んでください。斜めにピンを挿し込もうとしてしまったり、強く押し込んだ場合には、コネクタが破損する恐れがあります。

Spresense GNSS Add-onボードをSpresenseメインボードから取り外す場合には、市販の基板取り外し治具(IC引き抜き治具)などを用いて慎重に行ってください。

基板取り外し治具を使用しない場合、Spresense GNSS Add-onボードのコネクタのピンを破損する恐れがあります。
Spresense GNSS Add-onボードのCN1とCN2はソケットタイプのコネクタです。 上に更に各種のSpresense Add-onボードを装着することが可能です。

また、GNSS受信LSIのCXD5610にはMRAMが内蔵されておりますので、磁石などの強い磁気を発するものを近づけるとMRAMに記憶されている データが消えてしまい、正しく動作しなくなることがあります。

Spresense GNSS Add-onボードには磁石などの強い磁気を発するものを近づけないでください。

2.2.7. Spresense GNSS Add-onボード、GNSSアンテナの接続方法と準備

ここではSpresense GNSS Add-onボードに別売のGNSSアンテナを取り付ける方法について説明します。 動作確認済みのGNSSアンテナを下記に示します。 なお、Spresense GNSS Add-onボードにはLNAが搭載されていないため、使用できるアンテナはアクティブアンテナのみで、パッシブアンテナは使用できません。

表 10. GNSSアンテナリスト
製造会社 品名 接続

ABRACON

APARC2511X-SG3L5

U.FL

Tallysman Wireless

33-8825-00-3000

SMA

TAOGLAS

AA.200.151111

SMA

TAOGLAS

AA.178.301111

SMA

Beitian

BN-345AJ

SMA

Ublox

ANN-MB1-00-00

SMA

Unictron

H2MA003D100100

SMA

2J-antenna

2J7C01MC3F-300LL100-C20NST

SMA

Jinchang Electron

JCA231

SMA

Jinchang Electron

JCA236D

SMA

Amotech

AGA556022-S0-A17

U.FL

Spresense GNSS Add-onボード上のU.FLコネクタ(メス)にU.FLコネクタ(オス)のケーブルのついたGNSSアンテナを装着します。

GNSS Add on U.FL
図 25. U.FLコネクタ

SMA接続のGNSSアンテナをご使用いただく場合には、下記のようなU.FL(オス)-SMA(メス)変換ケーブルをご用意ください。

表 11. U.FL-SMA変換ケーブル
製造会社 品名

ヒロセ電機

HRMJ-UFLHF6-04N2TV-A200RS

U.FLコネクタにアンテナを着脱する際には慎重に行ってください。コネクタを斜めに接合させようとしたり、強い力を掛けた場合にはコネクタが破損する恐れがあります。
U.FLコネクタにアンテナケーブルを接続した状態で、ケーブルに負荷をかけないでください。 U.FLコネクタが破損する恐れがあります。

2.2.8. Spresense ボードへの電源供給方法

  • メインボード上にある micro USB コネクタに、micro USB Type-B ケーブルを使用してPCのUSBポートと接続することで、電源供給とプログラミングの両方を行うことができます。この micro USB ポートは、PCからシリアルポートとして認識されます。

  • micro USBコネクタを経由して電源を供給する場合には、できるだけ太く短い micro USBケーブルをご使用ください。

spresense musb connect
図 26. Spresense USBポートからの電源供給
USB Type-C ACアダプタなどを Type-B への変換アダプタを使用してSpresense ボードに電源供給を行うと、VBUSの耐圧を超える電圧が 供給されてしまうことがあり、Spresense ボードを破壊する恐れがあります(Type-Cのレセプタクルコネクタを持つ変換アダプタはUSB規格非準拠品です)。
Spresense ボードへのUSBコネクタからの電源供給には、USBモバイルバッテリーをご利用いただくことも可能です。ただし、オートパワーオフ機能を有するUSBモバイルバッテリーを使用した場合、Spresenseボードの消費電力が非常に小さいことから、オートパワーオフが有効になり、動作しない場合があります。確実に動作を期待する場合は、「常時ON」機能をもつUSBモバイルバッテリーをご利用ください。
2.2.8.1. Spresense拡張ボードを使用する場合
  • メインボードの micro USBコネクタ、または拡張ボードの micro USBコネクタを使用してSpresenseシステムに電源を供給することが可能です。両側の micro USBコネクタから同時に電源を供給しても大丈夫なように設計されています。

  • 拡張ボード側のmicro USBポートをMSC(Mass Storage Class)モードのUSBデバイスとして設定できます。これにより拡張ボード上のSDカードをPCのストレージデバイスとしてみなすことができます。

  • また、拡張ボードのVOUTピンに5V±0.25Vの電圧範囲で、他の基板などから電源を供給することが可能です。ただし、5V±0.25Vの範囲外の電圧の電源を接続した場合、電源回路が破壊される恐れがありますので、取り扱いには十分に注意してください。 この電源供給と micro USBコネクタからの電源供給と同時に行う場合には、VOUTピンに逆流防止回路を挿入してください。

2.2.8.2. Spresense LTE拡張ボードを使用する場合
  • Spresense システムへの電源供給はメインボードの micro USBコネクタ、またはLTE拡張ボードの micro USBコネクタを使用して行います。 両側の micro USBコネクタから同時に電源を供給しても大丈夫なように設計されています。

  • しかしながら、本基板に搭載されているLTEモジュールは最大で1.2Aの電流を消費することがあります。確実な動作のため、 メインボードとLTE拡張ボードの micro USBから供給できる電流の合計が1.5A程度となるように電源を接続してください。 確実なLTE通信を行うためには、Spresense LTE拡張ボードの micro USBから1.5A以上供給できるようにしてください (メインボードの micro USBからは最大で500mAまでしか供給できません)。

  • LTE拡張ボード側のmicro USBポートをMSC(Mass Storage Class)モードのUSBデバイスとして設定できます。これにより拡張ボード上のSDカードをPCのストレージデバイスとしてみなすことができます。

2.2.9. Spresense LTE拡張ボードのLTE LEDについて

LTE LEDはLTEモジュールの動作状態を表し、点灯時は「通常動作」、消灯時は「省電力動作」であることを示します。 この動作状態はLTEモジュールが自動的に生成するため、短期間に通常動作と省電力動作を往復することがあります。 この場合、LEDは点滅した状態となりますが、正常動作となります。

3. Spresense ソフトウェアについて

Spresenseソフトウェアでは、2つの開発環境を提供しています。

  • Spresense Arduino Libraryを用いた開発環境

    • Arduino IDEを用いたSpresenseのソフトウェア開発環境です。Spresense Arduino Libraryを使うことで、比較的容易にソフトウェア開発を行うことが出来ます。

  • Spresense SDKを用いた開発環境

    • Spresense SDKは、NuttXが提供しているビルド環境(GNU Make)をベースとしたソニー独自の開発環境です。低レベルなAPIを提供し、省メモリや省電力、マルチコアの制御など、Spresenseが持つ性能を最大限引き出すことが出来ます。

ここでは、これら2つの開発環境の特徴や構造について説明します。

3.1. Spresense Arduino Libraryを用いた開発環境

Spresense Arduino Libraryは、Spresenseのアプリケーションソフトウェアを Arduino IDEを用いて開発するためのソフトウェアライブラリです。 Arduinoの標準APIと互換性があり、既に存在する多くのArduinoスケッチやミドルウェアライブラリを利用することが出来ます。 そのため、Spresenseに馴染みのないユーザーでも、Arduinoでソフトウェア開発を行った経験がある方なら、簡単にSpresense上でソフトウェア開発を始めることが出来ます。

このライブラリは、Arduino互換APIだけではなく、Spresenseの特徴的な機能であるGPS測位機能やハイレゾリューションオーディオ機能など、ソニー独自のAPIも提供しており、Arduino IDE を使って高機能なアプリケーションを実現できます。

Spresense Arduino Libraryを用いて、ソフトウェア開発を行ってみたい方は、

を参照してください。

3.1.1. Spresense Arduino Libraryの構造

Spresense Arduino Library は、Spresense SDK を Arduino IDE から簡単に使えるように設計された拡張ラッパーライブラリです。内部では、NuttXが提供するTaskが動作しており、ArduinoのSketchはこのTaskの一つとして動作しています。Arduino IDEでのソフトウェア開発を行う場合、このNuttXを全く意識することなくプログラミングを行うことが出来るように設計されています。

overview software SDK structure
図 27. Spresense Arduino Library の構造

3.1.2. Spresense Arduino Library の特徴

Spresense Arduino Libraryは、Arduino 標準APIを備えており、 digitalReaddigitalWriteなどのAPIをSpresense上で利用することが出来ます。 また、SPIやSoftware SerialなどのArduino Libraryと同等のライブラリも準備しています。

一部ハードウェアの違いにより Arduino 標準仕様と差分があります。詳細については、 Spresense Arduino スケッチ開発 を参照してください。

Spresense Arduino Library は、ハイレゾリューションオーディオの再生・録音機能を有する Audio ライブラリや、GPS 測位機能を使うための GNSS ライブラリなど、Spresense の特徴を生かした 独自のライブラリを提供しています。詳細は、Spresense Arduino ライブラリ を参照してください。

3.2. Spresense SDKを用いた開発環境

Spresense SDKはリアルタイムオペレーティングシステムの一つである NuttXをベースに、Spresense独自の機能を追加した開発環境です。 低レベルなAPIを提供しており、省メモリや省電力、マルチコアの制御など、Spresenseの性能を最大限引き出すことが出来ます。 マルチコアプログラミングや省電力、メモリの有効的な活用をしてみたい方は、Spresense SDK の利用を検討してみてください。

Spresense SDKを用いて、ソフトウェア開発を行ってみたい方は、

を参照してください。

3.2.1. Spresense SDKの構造

Spresense SDKは NuttXをオペレーティングシステムとして利用し、CXD5602 の機能を最大限利用するためのミドルウェアを備えたソフトウェアになります。

sdk overview
図 28. SDK 概要図

NuttXが持つドライバフレームワークに準じて実装された各種ドライバとその上に実装された各種ミドルウェアから構成されています。

3.2.2. Spresense SDKの特徴

Spresense SDKの特徴は以下の通りです。

オペレーティングシステムに NuttXを採用していることから、以下のような特徴を持っています。

  • マルチタスクRTOS

  • Kconfigを用いたコンフィグレーションによるフットプリントの最適化

  • 標準Cライブラリのサポート

  • C++言語のサポート

  • 各種ファイルシステムのサポート

  • 各種デバイスドライバのサポート

  • フラッシュメモリのサポート

  • USB機能(MSC 及び CDC)のサポート

また、これに加えて CXD5602 が持つ様々な機能をミドルウェアとして提供しています。

  • オーディオ録音再生機能

  • 非対称型マルチコアプログラミングライブラリ

  • GPSによる測位機能

  • パワーセーブ機能

そのほかにも、DMAコントローラ用ドライバなど、 CXD5602 が持つほぼ全ての機能を利用することが出来ます。

Spresense SDKが持つ代表的な機能は、サンプルコードとしてNuttXのBuiltInアプリ形式で提供されています。

詳しくは、 Examples 一覧 を参照してください。

4. リポジトリの構成について

Spresense はオープンソースプロジェクトです。関連するソースコードやドキュメントは、ローダーなどのプリコンパイルバイナリーを除き、GitHub にストアされます。

Spresense プロジェクトチームはあなたのコントリビュートを大いに歓迎します。各リポジトリにはコントリビューションガイドラインがあり、コントリビュートする方法が記載されていますのでコントリビューションを始める際に是非お読みください。そして、あなたのコントリビューションを心よりお待ちしております。

このドキュメントは、Spresenseプロジェクトに関連したリポジトリの構成について記述しています。

4.1. 各リポジトリの概要

グループ リポジトリ名 サブリポジトリ 説明

Spresense Arduino

spresense-arduino-compatible

Spresense Arduino Library のベースリポジトリです

spresense-sketches

Spresense Arduino Library のためのサンプルスケッチです

Spresense SDK

spresense

Spresense SDK のベースリポジトリです

nuttx

NuttX のフォークリポジトリです (旧v2.xは こちら)

nuttx-apps

NuttX Apps のフォークリポジトリです (旧v2.xは こちら)

ハードウェア設計資料

spresense-hw-design-files

独自のボードを設計する為の、Spresense 基板回路図、部品リストなどへのリポジトリです

4.1.1. ソースコード取得の仕方

Spresense Arduino Library ソースコードの取得
git clone https://github.com/sonydevworld/spresense-arduino-compatible.git
git clone https://github.com/sonydevworld/spresense-sketches.git
Spresense SDK ソースコードの取得
git clone --recursive https://github.com/sonydevworld/spresense.git
Spresense SDK v2.x から v3.x へ更新する場合

SDKv2.x と SDKv3.x のバージョン間で submodule リポジトリの URL が変更されています。 SDKv2.x の環境から SDKv3.0.0 へバージョンを更新する際は、以下の手順で submodule の更新を行ってください。 SDKv2.x の環境でビルド済みのファイルが残っている場合は、事前に make distclean を行ってからバージョンを切り替えてください。

cd spresense/sdk
make distclean
git fetch origin
git checkout v3.0.0
git submodule sync
git submodule update