##概要
技適取得済みのこういうモジュールを自作ボードに乗せてArduinoでゆるふわに開発するためのアレです。
Arduino化についてはなんパターンかありますが今回はAdafruit Feather nRF52のファームウェアを利用します。
このボードはBLEライブラリを1からちゃんと作ってる(Mbedの流用とかじゃない)、中身が実はFreeRTOSで動いているという特徴があります。
ボードをそのまま使えれば楽なのですが自分で設計したボードを使いたいときもまぁあるかと思います、サイズ的な問題だったり、リチウムイオン電池じゃなくエネループ使いたいとか、色々余計なものが付いていて消費電流高いとか……
でも特に理由がない場合は製品を買うのが良いです、圧倒的に楽です。
##ブートローダー
Feather nRF52はブートローダーがリセット後数秒間はシリアルピンからスケッチが送られて来ないか監視して有ればスケッチを書き込み、無ければ普通にプログラムを起動します、Arduinoですね。要するにブートローダーを1回書き込んでしまえば後はusbシリアル変換モジュール+Arduino IDEで開発できるというわけです。
ブートローダーはここからダウンロードできます。
https://github.com/adafruit/Adafruit_nRF52_Arduino
2018/1/13日現在では2つありますが
bin/bootloader/feather52/5.1.0/dual/feather52_bootloader_5.1.0_s132_dual.hex
の方で良いと思います、ダウンロードしときましょう。
##書き込み
###BLE Nanoの書き込み器
入手性の高いBLE Nanoの下の書き込み器が利用できます、BLEに興味がある、あった人はすでに持ってるかもしれません、書き込み器のファームウェアを下記リンクの奴にアップグレードします、持っているのがnano2用の物ならアップグレードの必要は無いはずです。
配線は
書き込み器 | <=> | BLE Module |
---|---|---|
VDD | <=> | VDD |
GND | <=> | GND |
SCLK | <=> | SWDCLK |
SDIO | <=> | SWDIO |
のように繋ぎます注意点としてはVINではなくVDDです。
これでさっきダウンロードしたfeather52_bootloader_5.1.0_s132_dual.hexファイルをドライブにドラッグアンドドロップすれば書き込んでくれます。
###11U35マイコンボード+DAPLink
BLE Nanoを持ってない人向けにもう1つのやり方としてそこそこ安価に書き込み器を作るやり方を書いておきます。
書き込み器に秋月電子のLPC11U35マイコンボードキットを利用します。
このボードに書き込み器側が11U35でターゲット側がnRF52832なDAPLinkのファームウェアを書き込みます、純正Mbedには無さそうですがオープンソースのボードでファームウェアまで公開してくれている人がいるのでこれを利用させてもらいます。
https://github.com/makerdiary/nrf52832-mdk
bin/lpc11u35_nrf52832mdk_if_crc_latest.bin
が書き込み器側のファームウェアです、このファイルをマイコンボードキットに書き込みます。11U35はPC側からはドライブに見えてそこにドラッグアンドドロップするだけプログラムを書き込めるので説明書を見ながら書き込みましょう。書き込んだ後にリセットするとドライブ名がDAPLINKになるはずです。
配線は
書き込み器 | <=> | BLE Module |
---|---|---|
3.3V | <=> | VDD |
GND | <=> | GND |
0_7 | <=> | SWDCLK |
0_8 | <=> | SWDIO |
のようにつなぎます、つないだらfeather52_bootloader_5.1.0_s132_dual.hexをドライブにドラッグアンドドロップで書き込みができます。
##まとめ
というわけでブートローダーの書き込み方でした、みなさんもオレオレBLE基板を作ってみてはいかがでしょうか?
ちなみにイメージ画像に登場した基板のソースはここに置いてあります。
以上です。