「乾電池で動くSPRESENSE」は本当に乾電池(ボタン電池)で動くのか？

# SPRESENSEの「乾電池で動く」は本当か？
ソニーのSPRESENSEの売り文句の一つは「乾電池でも動く」ということです。
https://developer.sony.com/ja/spresense/
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/169018/569b14ff-4060-4b65-7aaf-2e2bdd7e98f8.png)

## Spresense への給電方法（公式な方法）
しかーし。

オンラインマニュアルの [Spresense ボードへの電源供給方法](https://developer.sony.com/ja/spresense/development-guides/introduction_ja.html#_spresense_%E3%83%9C%E3%83%BC%E3%83%89%E3%81%B8%E3%81%AE%E9%9B%BB%E6%BA%90%E4%BE%9B%E7%B5%A6%E6%96%B9%E6%B3%95) に書いてある給電方法は以下3点です。

- メインボードの microUSB から給電する
- 拡張ボードの VOUTピンに 5V±0.25V の電源を接続する
- 拡張ボードの microUSB から給電する

また、ハードウェア仕様の [メインボードに対する外部電源の供給方法](https://developer.sony.com/ja/spresense/development-guides/hw_docs_ja.html#_%E3%83%A1%E3%82%A4%E3%83%B3%E3%83%9C%E3%83%BC%E3%83%89%E3%81%AB%E5%AF%BE%E3%81%99%E3%82%8B%E5%A4%96%E9%83%A8%E9%9B%BB%E6%BA%90%E3%81%AE%E4%BE%9B%E7%B5%A6%E6%96%B9%E6%B3%95) には以下のような給電方法も書かれています。

- メインボードの CN1 にPHコネクタをはんだ付けし、3.6V～4.4V(推奨電圧、最大絶対定格電圧は ~~7V~~ 5.5V) を接続する （ **2024/07追記**：この記事を書いた当時は「最大絶対定格電圧は7V」と書かれていたのですが、現在は「5.5V」になっているようです）

前者3点はUSB等から5Vを供給する方法、後者はリチウムイオンバッテリーから給電する方法、と考えるのが妥当でしょう。
「乾電池で動く」という売り文句なのに、実は**どこにも乾電池から給電する方法が書かれていません**。
「SPRESENSE 乾電池」をキーワードにしてググっても、実際に乾電池で動かした事例は皆無です。

## Spresense へ乾電池（ボタン電池）から給電してみる（非公式な方法）
ということで、自己責任で電池から給電してみます。
前述の通り、[メインボードに対する外部電源の供給方法](https://developer.sony.com/ja/spresense/development-guides/hw_docs_ja.html#_%E3%83%A1%E3%82%A4%E3%83%B3%E3%83%9C%E3%83%BC%E3%83%89%E3%81%AB%E5%AF%BE%E3%81%99%E3%82%8B%E5%A4%96%E9%83%A8%E9%9B%BB%E6%BA%90%E3%81%AE%E4%BE%9B%E7%B5%A6%E6%96%B9%E6%B3%95) には、メインボードの CN1 から 3.6V～4.4V(推奨電圧、最大絶対定格電圧は ~~7V~~ 5.5V) を供給すれば動く、と書かれています。
ということで、ここを利用して電池から供給してみます。

### 使用するもの

今回は [スイッチサイエンス](https://www.switch-science.com/) で売っている [2032型コインx2個直列電池ホルダ](https://www.switch-science.com/catalog/964/) を利用します。
![p.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/169018/48bc569b-956a-d156-b4d0-8bebaec268f2.jpeg)
合わせて、メインボード用のコネクタとして [JST製2ピンPHコネクタ用ソケット](https://www.switch-science.com/catalog/2090/) も買っておきます。

リチウムイオンバッテリーを接続する口は「最大絶対定格電圧は~~7V~~ 5.5V」とのことなので、ここからボタン電池2個を使って6Vを供給させてみる魂胆です。（**2024/07追記**：最大絶対定格電圧は5.5Vですので、6Vを給電することは激しくおすすめしません。）

### 動作確認方法

[Spresense Arduino IDE チュートリアルのページに書かれている Lチカ](https://developer.sony.com/spresense/development-guides/arduino_set_up_ja.html#_led_%E3%81%AE%E3%82%B9%E3%82%B1%E3%83%83%E3%83%81%E3%82%92%E5%8B%95%E3%81%8B%E3%81%97%E3%81%A6%E3%81%BF%E3%82%8B) を試してみます。
ソースコードは以下の通り。非常にシンプルです。

```cpp:blink.ino
void setup() {
    pinMode(LED0, OUTPUT);
    pinMode(LED1, OUTPUT);
    pinMode(LED2, OUTPUT);
    pinMode(LED3, OUTPUT);
}

void loop() {
    digitalWrite(LED0, HIGH);
    delay(100);
    digitalWrite(LED1, HIGH);
    delay(100);
    digitalWrite(LED2, HIGH);
    delay(100);
    digitalWrite(LED3, HIGH);
    delay(1000);

    digitalWrite(LED0, LOW);
    delay(100);
    digitalWrite(LED1, LOW);
    delay(100);
    digitalWrite(LED2, LOW);
    delay(100);
    digitalWrite(LED3, LOW);
    delay(1000);
}
```

PCのUSBから接続しての動作は以下のような感じです。
![a.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/169018/6f591223-4fb6-3734-b6f7-f0ea06b9c499.png)

### ボタン電池2個(6V)で動かしてみる
さくっと接続してみました。
さくっと動作しました :-)
![p.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/169018/b6d7cf97-ee2a-0f28-df21-a4a8cd9682aa.jpeg)


# 結論
メインボードの CN1 からボタン電池を使って給電すれば普通に動作しました。
推奨電圧は3.6V～4.4V とのことなのですが、今回はテスト目的で6Vで動かしました。ただ、推奨電圧をオーバーさせる使い方は当然推奨されませんので、（推奨からは少しオーバーしてしまいますが）アルカリ乾電池3本(4.5V)かニッケル水素充電池4本(4.8V)あたりで動かすのが無難なのではないかと思います。
**ただし、非公式な方法なので、あくまで自己責任で！**

乾電池でどれくらいの期間使えるのかはまだわからないので、そこはこれからの調査ですかね。

# ソニーさんにお願いしたいこと
「乾電池で動く」という売り文句なのに、乾電池で動かす方法がどこにも書かれていないのは少し残念です。というか、乾電池で動かす想定をしていないような気がしてならないです。
さくっと電池で動かす方法を **公式に** 提示して欲しいところです。

例えば、同様(?)の低消費電力マイコンである[TWELITE](https://mono-wireless.com/jp/products/TWE-LITE/index.html)は、動作電力が 2.0V～3.6Vであり、3Vの電池（ボタン電池1個もしくは乾電池2本）をVINの口に接続するだけで動きます。
SPRESENSEでも同様の簡単接続方法があると非常にありがたいです。

### 2024/07追記：当時は上記のように書いたけど実際は。。。

実際のところ、答えとしては「売られているSpresenseは『開発ボード』である」ということだと思います。あくまで開発用のボードですので、この開発ボードをそのまま本番利用する使い方は推奨されておらず、Spresenseのチップを使った基板を自前で作ることが正規の方法だと思われます。  
つまり、開発ボードを乾電池で動かす方法は（公式には）無いけど、自前で起こしたボードを乾電池で動かす方法を考えれば良い、というのが答えになるのではないかと思います。