black pill をarduinoとして使えるようにする準備
1 AliExpress でBlack Pill 購入
2 arduino ide1.8.5をダウンロード
ちなみに元々使ってた1.6.X系だとコンパイルができなかった。
ツール → ボード → Board Manager を選択して、
Arduino SAM Boards (32-bits ARM Coretex-M3) by Arduino を選択してインストールします。
3 ブートローダーの書き込み
↓を参考に
ARM ボード STM32F103C8T6 (Black Pill) で L チカ - JH1LHVの雑記帳
ジャンパ設定をブートローダ書き込み用にする

rs232のシリアルモジュールとblack pillを接続
| black pill | USB シリアル |
|---|---|
| RX | PA9 |
| TX | PA10 |
| GND | G |
| 3.3V | V3 |
stのflash loader demonstratorインストール
ダウンロードにはstのアカウントが必要。
flash loader demonstratorからの書き込み

シリアルをつないで一度リセットボタンを押さないと
flash loader demonstratorが認識してくれなかったので気を付ける。
次に進む
page0 0x8000000を選ぶ
black pill用としてgeneric_boot20_pb12.binをつかった。
gitbubのファイルの中にある。
4 githubから環境ダウンロード
https://github.com/rogerclarkmelbourne/Arduino_STM32
↓のinstall のwindowsの項目に従ってやればよい。
Installation · rogerclarkmelbourne/Arduino_STM32 Wiki · GitHub
コンパイル環境
コンパイル環境はフォルダ丸ごと
*\arduino-1.8.5\hardware 以下にコピーする。
たとえば、C:\arduino-1.8.5\hardware\Arduino_STM32-master
デバイスドライバ
デバイスドライバはarduino ideから書き込み前にインストールしてないといけない。
navigate to the folder: /drivers/win/ and run: install_drivers.bat.を実行する。
インストールしてないと、以下のエラーメッセージがでて書き込みが失敗する。
Couldn't find the DFU device: [1EAF:0003]
5 arduino IDEからプログラム書き込み
ジャンパ設定をarduino動作用にする

PCとmicro USB接続する
ブートローダ書き込み時はuart接続しないといけないが、 arduinoとして使うときはUSBから接続できる。
ArduinoIDEのボード設定をする。
↑のとおりボード設定をする。
プログラムを用意する。
void setup() {
// put your setup code here, to run once:
pinMode(PB12, OUTPUT);
}
void loop() {
// put your main code here, to run repeatedly:
digitalWrite(PB12, HIGH); // turn the LED on (HIGH is the voltage level)
delay(1000); // wait for a second
digitalWrite(PB12, LOW); // turn the LED off by making the voltage LOW
delay(1000); // wait for a second
}
LEDのポートはPB12にする。
書き込み完了!!
参考リンク
ARM ボード STM32F103C8T6 (Black Pill) で L チカ - JH1LHVの雑記帳 SMT32F103を使ってみる STM32F103 Black Pill - STM32duino wiki

