XIAO nRF52840とOLEDを接続したセットアップ

1,525文字3分で読めます

ちょっとBLEを使ったちょっとした電子工作がしたくなったので秋月電子で買ってきた。 とりあえずブレッドボードでの動作確認まで。

材料

とりあえず最低限として秋月電子で以下を購入。秋葉原店で買ったけどネットでも買えるはず。

部品秋月コード数量価格目安必要な理由
XIAO nRF5284011734111,780円BLE通信・メインCPU
0.96インチ OLED SSD13061120311580円受信メッセージ表示
ブレッドボード EIC-8011003151450円試作配線
Male-Maleジャンパーワイヤ1300881袋約300円XIAO↔OLED配線
USB-Cデータ通信ケーブル117017 等1約100円給電+ファーム書き込み

今回は試作なのでブレッドボードを使う。ブレッドボードにさすのに2.54mmピンヘッダもいるけどXIAO nRF52840を買ったら中に同梱されてたので別途買わなくていいかも。

ChatGPTと相談したら材料まで完璧に出してくれてすごい。

袋に入ったOLEDモジュールとSeeed XIAO nRF52840

ハンダ付けと配線

XIAO nRF52840は付属の2.54mmピンヘッダをはんだ付け。 はんだ付けしたらこんな感じに配線。

ブレッドボード上で赤いジャンパ線でつないだXIAOとOLED

つなぎ方は以下を参照。OLEDにI2C接続のためにD4とD5を対応するように配線。

XIAO                 OLED
┌─────────┐        ┌─────────┐
│ 3V3  ─────────── VCC       │
│ GND  ─────────── GND       │
│ D4   ─────────── SDA       │
│ D5   ─────────── SCL       │
└─────────┘        └─────────┘

Seeed XIAO nRF52840のピン配置図

Getting Started with Seeed Studio XIAO nRF52840 Series | Seeed Studio Wikiwiki.seeedstudio.com

Arduino IDEのセットアップと動作確認

Arduino IDEのインストール

Arduino IDEが未インストールであればインストールして起動。

https://docs.arduino.cc/software/ide/

Pythonが実は依存としてあるので未インストールであればMicrosoft Store経由とかでいいので3系の最新をインストール。

パッケージの追加

先にXIAO nRF52840向けのパッケージURLを追加。

Navigate to File > Preferences, and fill “Additional Boards Manager URLs” with the url below: https://files.seeedstudio.com/arduino/package_seeeduino_boards_index.json

Getting Started with Seeed Studio XIAO nRF52840 Series | Seeed Studio Wikiwiki.seeedstudio.com

追加したらXIAO nRF52840のボードマネージャーに対象のパッケージがでるようになるのでインストール。

Navigate to Tools > Board > Boards Manager…, type the keyword “seeed nrf52” in the search box, select the latest version of the board you want, and install it. You can install both.

2つでてくるけどとりあえず両方インストール。

Boards Managerでnrfを検索し、Seeed nRF52のボードパッケージを入れた画面

接続確認

XIAO nRF52840をUSBケーブルでPCと接続。

Tools > Board > Seedd nRF52840 Board > Seeed XIAO nRF52840 を選択

ToolsのBoardからSeeed XIAO nRF52840を選んでいる画面

Tools > Port からXIAOが接続されているCOMポートを選ぶと接続が確立するはず。

ToolsのPortからSeeed XIAO nRF52840のCOM5を選んでいる画面

OLEDライブラリのインストールと動作確認

Sketch > Include Library > Manage Libraries から Adafruit SSD1306 をインストール。依存関係の表示がでるのでそちらもまとめてインストールする。

Adafruit SSD1306の依存ライブラリをまとめて入れる確認画面

適当にHello World的なコードを書き込んでみる。 IDEの左上のVerifyをしてから→で書き込み。

#include <Wire.h>
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>

#define SCREEN_WIDTH 128
#define SCREEN_HEIGHT 64
#define OLED_RESET -1

Adafruit_SSD1306 display(
  SCREEN_WIDTH,
  SCREEN_HEIGHT,
  &Wire,
  OLED_RESET
);

void setup() {
  Wire.begin();

  // SSD1306で一般的なI2Cアドレス
  if (!display.begin(SSD1306_SWITCHCAPVCC, 0x3C)) {
    while (true) {
      // OLED初期化失敗
    }
  }

  display.clearDisplay();

  display.setTextSize(2);
  display.setTextColor(SSD1306_WHITE);
  display.setCursor(20, 24);

  display.println("Hello");

  display.display();
}

void loop() {
}

→で無事書き込みができたらこのような表示になるはず。

OLEDにHelloと表示されたブレッドボード

これでとりあえずの動作確認は完了。

更新