AE-TYBLE16をArduinoとしてLチカ

#はじめに

秋月電子のBLEモジュール基板 AE-TYBLE16 が、超小型でArduino化できるという記事がいくつかあった（ハマったところもあった）ので試してみたメモ。ちなみに、Arduino化するのはファームウェアの書き換えになるため技適問題が絡むそう。ただ、下記の記事によると「当該ハードウェアのAPIライブラリのようなものを使う限りにおいては技適は再取得しなくてもいい」ということらしいので、記事内で試されている方法を試してみた。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/164437/f65aaf5b-1126-0fa3-11c4-fd4a73d77200.png)

参考にした記事
・https://qiita.com/nanbuwks/items/33c97adbde990161c098
・https://qiita.com/nanbuwks/items/d26447c0bfa28b1d05df
・https://qiita.com/MypaceEngine/items/cc7ccbd799801735112b

#ハードウェアの準備

##用意するもの
・マイコン：AE-TYBLE16
　http://akizukidenshi.com/catalog/g/gK-12339/

・書き込み装置：J-link EDU mini
　https://www.embitek.co.jp/product/jlink-edu-mini.html

・3.3V電源：ArduinoUnoなど何でも良いです。今回は以下のFTDIシリアル変換器（3.3V版）を使いました。
　https://www.sengoku.co.jp/mod/sgk_cart/detail.php?code=EEHD-04FM）

##配線

まずわかりにくいのが、J-Link EDU Mini のピン配置。
以下の実物写真にあるピンの左上に「１」とあるので、ここが１ピンです。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/164437/5ebf0ae7-2f79-ac65-7c72-ea3616f1095d.png)     ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/164437/3489ab91-8985-9bb7-4c61-f7d33d337ca4.png)

この１ピンから４ピンまでが、書き込みに必要なピン。これらを参考記事の通り、以下のように配線します。
J-link EDU Miniは電源ラインがないので、3.3V電源の配線も忘れずに！

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/164437/e18302ad-0d9b-1ca4-c132-324f58138d13.png)

【ハマりポイント】
ちなみにここがハマリポイントで、J-link EDU Miniに付属しているリボンケーブルのコネクタが、ピンヘッダが入るほどの大きさでもなく、かといって細めの裸配線を入れても接触が悪く、後の設定を施して書き込もうとしても失敗しまくりました。。
結果、ここでは写真のようにリボンケーブルの１−４ピンにあたる端から４本を加工し、ピンヘッダにしてブレッドボードに挿しています。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/164437/145c0ce8-d273-2012-79e4-2e2d4f45da67.png)



#ソフトウェアの準備


##環境構築とファームウェア書き込み

Arduino IDEは既にダウンロード済みという前提で、

１．IDEで「ファイル」メニューから「環境設定」を開き、追加のボードマネージャのURLに下記を追記する。
　　https://sandeepmistry.github.io/arduino-nRF5/package_nRF5_boards_index.json

２．ドキュメントなどの下にあるArduinoのデータフォルダの下に、
　　tools/nRF5FlashSoftDevice/tool/のフォルダを作り、以下にあるjarファイルを置く。
　　https://github.com/sandeepmistry/arduino-nRF5/releases/download/tools/nRF5FlashSoftDevice.jar

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/164437/2e9ce022-7229-d9e4-b45f-2fdf479039ff.png)

３．Arduino IDEを再起動する。

４．IDEで「ツール」メニューから「ボード」→「ボードマネージャ」を選択して、
　　「Nordic Semiconductor nRF5 Boards」のボードをインストール。

５．ボードを以下のように設定。
　　・ボード：Generic nRF51
　　・Chip：16kB RAM, 256kB flash(xxaa)
　　・Softdevice：S130
　　・Low Frequency Clock：RC Oscillator
　　・書き込み装置：J-Link
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/164437/6747ea08-7804-a269-0da4-18a1fc0f2d05.png)

６．IDEで「ツール」メニューから「nRF5 Flash SoftDevice」を選択。
　　このときLicense Agreementが出るので読み、Accceptすればファームの書き込みが完了するはず。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/164437/d4945d63-78f3-ce79-7fac-ece5c418ca84.png)

##プログラム書き込み

LEDをマイコンのP004に接続したら、下記のLチカプログラムを用意。
IDEで上記のボード設定のまま、**通常通り書き込みボタンから**書き込みを実行すると、見事プログラムが書き込まれ、Lチカするはずです。

```
void setup() {
  pinMode(4, OUTPUT);
}

void loop() {
  digitalWrite(4, HIGH);
  delay(1000);
  digitalWrite(4, LOW); 
  delay(1000);
}
```

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/164437/f65aaf5b-1126-0fa3-11c4-fd4a73d77200.png)

今後はBLEプログラムの書き込みにもチャレンジしてみます！