はじめに
Serial2で受信した容量の大きいデータを継続してSDカードに保存する際、SD.flush中に受信バッファ以上のデータを受信するとはみ出た分が欠損します。Spresenseの送受信バッファはデフォルトで256byte(Arduino環境)となっていますが、これを拡張することで解決することもあります。
大まかな流れとしては、公式ページのSpresense Arduino board package ローカルパッケージの作成に示された通りではありますが、すぐ忘れそうなので手順をメモしておきます。
環境
OS:Windows 11 Home
Arduino 2.3.6
Spresense SDK 3.4.4
作業手順
まずはターミナル(管理者)を開きます。windowsボタンを右クリックでターミナル(管理者)が選択できます。
何も考えずに以下の通りUbuntu-20.04をインストールします。インストール最後にユーザ名とパスの設定を要求されるので設定します。
wsl --install -d Ubuntu-20.04
インストール終わったら以下の通り起動して、パッケージのアップグレードをします。
wsl -d Ubuntu-20.04
終わったら、installツールをダウンロードして展開します。
sudo apt update
sudo apt upgrade
wget https://raw.githubusercontent.com/sonydevworld/spresense/master/install-tools.sh
bash install-tools.sh
source ~/spresenseenv/setup
適当なエディタで.bashrcファイルの末尾に「source ~/spresenseenv/setup」を追記すると次使うときに助かることがあるかもしれないです。
sudo nano .bashrc
末尾に
source ~/spresenseenv/setup
追記
そのあとSpresense SDK リポジトリからソースコードをダウンロードします。結構時間かかります。
git clone --recursive https://github.com/sonydevworld/spresense.git
git clone https://github.com/sonydevworld/spresense-arduino-compatible.git
終わったら、カレントディレクトリをspresense-arduino-compatibleに移動してメインコアのmenuconfigを開きます。
cd spresense-arduino-compatible
./tools/prepare_arduino.sh -S ~/spresense -c spresense -d disable -M SDK -p
開くと以下のようなの画面が出てきて、
Device Drivers→Serial Drivers Support→UART2 Configuration→(256)Receive buffer size
の流れで選択すると、256byteから任意の容量に変更できます。
その後、saveして、menuconfigからExitします。
サブコアも開いて同様に変更します。
./tools/prepare_arduino.sh -S ~/spresense -c spresense_sub -d disable -M SDK -p
終わったら、以下の通りmakeします。
make
すると以下の4ファイルがspresense-arduino-compatibleディレクトリの中にできます。
./out/package_spresense_local_index.json
./out/staging/packages/spresense-v*.._local.tar.gz
./out/staging/packages/spresense-tools-v*.._local.tar.gz
./out/staging/packages/spresense-sdk-v*.._local.tar.gz
さて、これをwindowsのエクスプローラーから触りたいです。
以下の通りのアドレスをエクスプローラーに打ち込みます。
\\wsl.localhost\Ubuntu-20.04\home\[自分が設定したユーザ名]\spresense-arduino-compatible
すると、上記4ファイルが確認できるので、まずは.jsonファイルのみコピーして、以下の領域に貼り付けます。Arduino15直下にoutフォルダがなければ作ってください。
C:\Users\[windows環境のユーザ名]\AppData\Local\Arduino15\out
残り3つの.tar.gzファイルは以下のフォルダにコピペします。
C:\Users\[windows環境のユーザ名]\AppData\Local\Arduino15\staging\packages
Arduino IDEを起動して、ファイル→基本設定→追加のボードマネージャーのURLに以下を追加します。
file:///C:/Users/[windows環境のユーザ名]/AppData/Local/Arduino15/out/package_spresense_local_index.json
OKした後、いったんArduino IDEを終了してまた開き直して、ボードマネージャーの検索窓に「Spresense」と入力すると「Spresense local Board」が一覧に表示されインストールできるようになってます。
これをいつも通りインストールすると、ツール→ボードの選択画面から「Spresense local」が選択でき、受信バッファマシマシの設定で開発ができるような気がします。
投稿者の人気記事

-
dsj541kgh
さんが
2025/09/23
に
編集
をしました。
(メッセージ: 初版)
-
dsj541kgh
さんが
2025/09/23
に
編集
をしました。
ログインしてコメントを投稿する