nRF52840 MDBT50Q 開発用USBドングル(ブートローダ書き込み済)の紹介

投稿者:
nRF52840 MDBT50Q 開発用USBドングル(ブートローダ書き込み済)

みなさんこんにちは佐々木です。

今回はnRF52840 MDBT50Q 開発用USBドングル(ブートローダ書き込み済)についてご紹介します。

この商品はRaytac社のBLEドングル「MDBT50Q-RX」にオープンソースのブートローダ「Adafruit nRF52 Bootloader」を書き込んだ商品でArduino IDEでプログラムできます。

本来MDBT50Q-RXにプログラムするにはプラスティックケースを開けて、基板上の書き込み用端子にJ-Linkを接続する必要がありますがこの商品ではそういった作業は不要です。パソコンに接続しArduino IDEから「書き込む」ボタンを押すだけでプログラムできます。

UARTサービスに接続するプログラム(サンプルコードあります)を書き込めばBLE-UART変換基板SPRESENSE用 BLEベースボードとの通信が可能です。さまざまな周辺デバイスからのデータを集約するセントラル機器としてお使いいただけます。

ここからはArduino IDEを使ったプログラムの手順を合わせてご紹介します。

まずはこちらのウェブサイトからArduino IDEをダウンロードしてインストールしてください。

次にArduino IDEを起動しメニューから環境設定→追加のボードマネージャのURLを開いて次のURLを追加します。

https://www.adafruit.com/package_adafruit_index.json
環境設定→追加のボードマネージャのURL

メニューからツール→ボード→ボードマネージャを開いてnRF52を検索しAdafruit nRF52をインストールします。

ツール→ボード→ボードマネージャ

メニューからツール→ボード→Adafruit nRF52 BoardsRaytac MDBT50Q-RX Dongleを選択します。

ボードの選択

以上で準備完了です。

試しにサンプルスケッチを書き込んで見ましょう。次のスケッチをコピーし、新しいスケッチにペーストしてください。ウィンドウ左上のマイコンボードに書き込むボタンを押すと書き込まれます。ドングルのボタンを押すとLEDが点灯することが確認できると思います。

int ledPin = 0;
int buttonPin = 2;

void setup() {
  pinMode(ledPin, OUTPUT);
  pinMode(buttonPin, INPUT_PULLUP);
}

void loop() {
  digitalWrite(ledPin, digitalRead(buttonPin));
  delay(1);
}

BLE-UART変換基板SPRESENSE用 BLEベースボードと通信するためのスケッチも書き込んでみましょう。このスケッチはブログに掲載するには長すぎるので商品ページからサンプルコード(central_bleuart)をダウンロードして書き込んでください。

書き込み完了後、シリアルモニタを開くと自動的に周辺デバイスを探し始めます。デバイスが見つかるとUARTサービスの有無を確認しUARTサービスがあれば接続します。以下のようなメッセージが表示されたらOKです。デバイスから受信したデータがシリアルモニタに出力されること確認できると思います。

Bluefruit52 Central BLEUART Example
-----------------------------------

BLE UART service detected. Connecting ... Connected
Dicovering Device Information ... Found NONE
Dicovering Battery ... Found NONE
Discovering BLE Uart Service ... Found it
Enable TXD's notify
Ready to receive from peripheral

以上です。ぜひご活用ください。

商品ページ:nRF52840 MDBT50Q 開発用USBドングル(ブートローダ書き込み済)