PlatformIOでQT Py を動かす


Adafruit QT PyはSeeeduino XIAOとピン互換のボードで、
スイッチサイエンスさんなどで手に入ります。

XIAOとピン互換ですが完全互換ではないので、
PlatformIOでXIAO向けにビルドしたプロジェクトをそのまま使えるわけではありません。

platformio.ini
[env:seeed_xiao]
platform = atmelsam
board = seeed_xiao

platformio.ini
[env:adafruit_qt_py_m0]
platform = atmelsam
board = adafruit_qt_py_m0

に変更する必要があります。

また、ボードにビルトインされているLEDもNeoPixelとなっているため、
いわゆるBlinkのサンプルでのLチカはできません。

ピンは#define PIN_NEOPIXEL (11u)で定義されているので、Adafruit_NeoPixelのライブラリを導入後、例えば

blink.cpp
#include <Adafruit_NeoPixel.h>
#define NUMLED (1)
Adafruit_NeoPixel strip = Adafruit_NeoPixel(NUMLED, PIN_NEOPIXEL, NEO_GRB + NEO_KHZ800);

void setup() {
  strip.begin();
  strip.setBrightness(50);
  strip.show(); // Initialize all pixels to 'off'
}

void loop() {
  strip.setPixelColor(0, 0x4f00ff); // RBG
  strip.show();
  delay(100);
  strip.setPixelColor(0, 0x107f10);
  strip.show();
  delay(900);
}

のようにすると紫と緑でLチカすることができます。
FAST LEDのライブラリも試してみたのですが、こちらはビルドが通りませんでした。

また、こちらによると

Onboard Neopixel pins
There is a very tiny NeoPixel that is connected to digital pin 11 for signal. If you would like to turn off the pixel for low power usage, set pin 12 low. By default pin 12 is set high for you by Arduino/CircuitPython

とあるので、LEDを使用する予定がなく、低消費電力で使用したい場合はPIN12をLOWにしておいたほうが良いかもしれません。