STM32F103C8T6搭載ボード。
開発元がいまいち特定できないのだが中国のMCUDEVとうブランドのものっぽい。通称Black407Vとかいわれているボードと同じベンダーと思われます。だからつくりはそこそこ良いです。


主な仕様

  • 4KBのEEPROM(AT24C04)が搭載している。便利なようだけどI2Cアドレスが0x40で固定化されているので注意。
  • ユーザーLEDのピンはPC13。PullupされているのでLOWで点灯。
  • ユーザースイッチのピンはPA0。押すとGNDに落ちる。
  • OLED用のポートが用意されている。(TFTでもOK)ピンの配置は、(USBポートを手前側として)右から
    3V3、GND、SDI(PB15)、SCL(PB13)、CS(PB12)、NRST、A0(PB1)、NC(接続なし)
    という並び順(SPI2?)。ディスプレイ側が奇跡的にこの並び順なら良いけどそうじゃないとあまり意味がないかも。
  • SWD端子付き。ST-LINKが接続しやすい。人によってはデバッグし易いかも。

Arduino化

当然のごとくArduino化可能で、Arduino_STM32用のBootloaderが利用できる。ユーザーLEDがPC13用のものはBluePillと同じだが、これはユーザースイッチがPC14用になっている。せっかくなのでPA0用に変えて自前でビルドするのが良い。bootloaderのビルドについてはこちらを参考に。 config.hを以下のように変えれば良い。

#elif defined TARGET_GENERIC_F103_PC13

    #define LED_BANK            GPIOC
    #define LED_PIN             13
    #define LED_ON_STATE        0

    // Button (if you have one)
    #define BUTTON_BANK GPIOA  // ユーザーボタン(PA0)はバンクA
    #define BUTTON_PIN 0       // (Aバンクの)0ピンに指定。
    #define BUTTON_PRESSED_STATE 0  // ボタンを押したらGND(LOW)になる

こんな感じ。
こうするとユーザーボタンを押しながら電源を入れるとDFUモードのまま起動するし、起動中でもリセットボタンを押しながらユーザーボタンを押して、次にリセット、ユーザーの順に離せば強制的にDFUモードに入るので、書き込みがうまくいかない場合などで有効。通常起動時はユーザーボタンとして利用いできる。ちなみにDFUモードを抜けるときはResetボタンを押して再起動をかければOK。bootloaderのビルドは特別な環境構築が必要ないので、是非自分でビルドしたいところ。

回路図

さいごに

BluePillより大きく高いですが、AliExpressで買えばそれなりに安いのと、つくりもしっかりしているので良いと思います。

 

Share