STM32 マイコンボードキット 「STBee」
・ST マイクロエレクトロニクスの STM32 マイコンを搭載したマイコンボード『STBee』 エス・ティー・ビーです。
・ARM 社の Cortex-M3 を採用した高性能マイコンですから、趣味のエレクトロニクスからビジネスでの試作・研究開発まで幅広い層にお使いいただける商品です。
・USB インターフェース内蔵でプログラムは USB から書き込み、ユーザプログラムでも USB を利用したアプリケーションが簡単に作成できます。
・STBee 対応のオプションボードも準備中です。

■特徴

・組み込み用 ARM コア Cortex-M3 を採用した世界標準のマイコン

・５１２Ｋバイトとフラッシュメモリと６４Ｋバイトの SRAM を内蔵・内部 72MHz 高速クロック

・最大 18MHz でトグルできる高速 I/O ポート
・USB からプログラムの書き込みができ、別途ライター・JTAG ツールを用意する必要がありません。このボードだけで開発できます。
・最大 5ch の USART, 最大 3ch の SPI, 最大 2ch の I2C のインターフェース

・12 ビット ADC, 12 ビット DAC, I2S, PWM, CAN, SDIO, 外部バスなどの各種周辺回路内蔵

■仕様
CPU
フラッシュ
SRAM
I/O
ADC
DAC
クロック
電源
消費電流
I/O ポート
コネクタ
オンボード入力
オンボード出力

STM32F103VET6
512K バイト
64K バイト
3.3V
12 ビット
12 ビット12MHz
32.768kHz
USB または外部電源
50mA～60mA 程度
主要ピンは 5V トレラント
５０ピン×２箇所
２０ピン
プッシュスイッチ（１）プッシュスイッチ（２）LED（緑）
LED（赤）

ST マイクロエレクトロニクス STM32 マイコン
ブートローダー(DFU)書き込み済のためユーザ領域は 500K バイト
このクラスではかなりのサイズです。
入力は 5V トレラント対応
最大
最大 2ch内部６逓倍で 72MHz 動作
RTC 用クロックも搭載
USB バスパワー5V あるいは外部電源(4.5V~12V)で動作が可能
CPU のクロック設定、周辺機能の設定によって大きく変わります。
サンプルプログラムを動作させた場合の目安
詳細は末尾のピン配置図をご覧ください。
CPU の I/O ポート・リセット・電源等
JTAG 端子リセットスイッチ
DFU とユーザプログラムの実行切り替え
電源 LED あるいはユーザ LED（切り替え可）
ユーザ LED■部品表
このキットの内容品は次の通りです。この商品はハンダ付けが必要な組み立てキットです。

STBee 基板
（マイコン含め抵抗・コンデンサ類ハンダ付け済み）※改良のため写真のものと形状・色が異なる場合があります。

スイッチ・コネクタ類（タクトスイッチ, USB, ピンフレーム, ピンヘッダ, ジャンパピン）※それ以外の部品につきましてはお客様のお使いになられる用途・場所に応じてご用意ください。
1

■組み立てＩＣはハンダ付け済みですので、①USB コネクタ, ②リセッタブル・ヒューズ, ③ジャンパ端子, ⑦⑧タクトスイッチ２個をハンダ付けすれば最低限動作できるボードに完成します。写真は標準の組み立て状態とします。最初はこのように組み立てしてください。極性がある部品はありません。
ピンヘッダ（オス側端子）は必要な長さに切断してお使いください。余った部分は自由にお使いください。

① USB（ＣＮ１）
パソコンと通信するための端子です。プログラムを書き込むため、あョンですので、必要ない場合はオープン（ハンダ付けしない）とします。
⑦ ユーザスイッチ（DFU 切り替えスイッチ） （PA0 に接続）
このスイッチはユーザが入力として自由に使えるよう設けられたスイッ

るいは仮想 COM ポートとして通信するプログラムを作成することがでチです。リセット直後には DFU とユーザプログラムの切り替えにも利用きます。このボードの重要な要素の１つです。

します。
② リセッタブル・ヒューズ（過電流保護素子） （Ｆ１）
このマイコンボードは USB バスパワーで動作するようになっています。

⑧ リセットスイッチ （nRST)
このスイッチを押すとマイコンがリセットされます。

使い方や不注意により電源をショートさせてしまうとパソコン側に損傷を与える恐れがあることから、この素子を入れています。電源のショー⑨ CN3, CN4（Ｉ／Ｏ端子）
STM32 の各ピンが配線されています。2.54mm ピッチで２列ｘ２５

トがあるとリセッタブル・ヒューズが高温になり電流を遮断します。温度が下がるとまた電流を流すことができる、交換不要なヒューズです。
約１Ａの電流で遮断されます。F1 の場所（赤丸の箇所）にハンダ付ピン（＝５０ピン）の端子で他の回路・基板に接続できます。ピン配けしてください。

置は別表をご覧ください。

③ BOOT0, BOOT1 ジャンパ
STM32 の動作モードを設定するためのものです。写真の左が１，⑩ CN2（ＪＴＡＧ端子）＜オプション＞
JTAG 用の端子です。各社 ARM 用 JTAG ライターや ICE などを接続してお使いいただけます。この商品では JTAG を使用せずにプロ右が０です。詳しくは後ろの解説をご覧ください。本マイコンボードでは原則両方とも 0（右側にジャンパ）にして使います。なお BOOT1 ピグラムを書き換えができるようになっていますので、標準では使いませ

ンは I/O ポート PB2 と共用になっています。

ん。

④ ２色 LED
赤と緑の２色入っている LED です。DFU モードに入ると赤 LED が点滅します。赤 LED は PD4 に繋がっています。0 に引っ張ると点灯⑪ USART1 端子
CN4 にも同じ信号が配線されておりますが、通信モニターのために、します。
⑤ 電源 LED ジャンパ
写真のジャンパをハンダでショートしますと、電源（3.3V）と前記２色います。JTAG 端子にボックス付きコネクタを利用した場合この 3.3V別に３ピン端子で配線できるようパターンを用意しています。
電源も必要な方のために RX ピンの隣に 3.3V の電源も用意してLED の緑が繋がり、電源ランプとして利用できるようになっています。

端子が隠れますのでご了承ください。

トなどに配線してお使いいただくこともできます（0 に引っ張ると点灯）⑫ JREF-JP（基板裏面）＜オプション＞
外部 VREF のためのジャンパです。初期状態では接続されていま⑥ USB-JP
USB の接続検出のためのジャンパです。ここをジャンパすると USB

すので VREF＋=VDD(3.3V)となります。外部電源リファレンスを利用する場合はこのパターンを切断し、横のランドに VREF＋電圧を与えます。VREF－は GND に繋がっているため、このボードでは変電源 LED として使用しない場合は、LED 下のランドからユーザポーバスパワーを検出して、PC4 ポートが 1 になります。この機能はオプシ更できません。詳細はアプリケーションノート参照のこと
2

■外部回路との接続付属のコネクタを使ってユニバーサル基板などと組み合わせてお使いください。オス・メス向きは自由です。

STM32 の I/O ポートのレベルは 0V~3.3V になっています。そのため 5V 用の回路とのインターフェースには電圧不足の関係で問題を生じる可能性があります。動作マージンに支障がある場合はレベル変換ロジック IC を使ってください。なお入力ポートとして使う場合、5V が受けられるピン（5V トレラントピン）と受けられないピンがありますのでピン配置図をご覧ください。

■外部電源動作（注意事項がありますのでよくお読みください）

このマイコンボードは USB バスパワー以外に外部電源（ＡＣアダプタ、バッテリーなど）で動作させることもできます。外部電源を利用する場合はリセッタブル・ヒューズを取り外し、基板の＋と－端子の部分に電源を供給してください。外部電源電圧範囲は約 DC4.5V～最大 DC12V までで安定化している必要はありません。逆接続の保護回路は入っていませんので、極性を間違えないようご注意ください。

リセッタブル・ヒューズを取り外すのは外部電源端子と USB の電源端子が基板内でつながっているためです。

◆警告：リセッタブル・ヒューズを取り外さないと、USB で接続した際に外部電源がパソコンに加わってしまいパソコンを破損させてしまいます。
逆流防止のダイオードをつけることで両方を併用することもできます。この方法については当社アプリケーションノートをご覧ください。
電源電圧が高い場合や全体の消費電流が大きい場合レギュレータ IC(U2)が発熱します。マイコンを含めた全体の消費電流が 100mA で約12V まで、200mA で約 8V、300mA で約 6V, 500mA で約 5V 動作までを目安にしてください。周辺温度 25℃時
■使い方
（準備）

デバイスドライバを当社ウェブページからダウンロードしておいてください。⇒ um0412.zip
ST 本社サイトからも同じものをダウンロードすることができます。適当なフォルダにファイルを展開しておいてください。

展開すると DfuSe_Demo_V3.0_Setup.exe というファイルが現れますので、これを実行してインストールしてください。
C:¥Program Files¥STMicroelectronics¥Software¥DfuSeにデバイスドライバや各種ツールがインストールされます。

（ボードのセット）
BOOT0, BOOT1 のジャンパピンは両方とも 0 にセットしてください。右写真
パソコンと USB ケーブルで接続します。パソコンがデバイスを認識します。

基板上の赤色 LED が点滅します。（基板上のジャンパをハンダ付けしている場合は緑 LED も点灯します。）
赤色 LED が点滅しない場合はユーザスイッチとリセットスイッチを両方押し、リセットスイッチを離した後に、ユーザスイッチを離してください。一度ユーザプログラムを書き込んだボードはユーザプログラムが動作してしまうため、毎回この手順が必要です。

デバイスドライバをインストールする画面が出ましたら、先ほど展開した
C:¥Program Files¥STMicroelectronics¥Software¥DfuSe¥Driverを指定してください。ドライバのインストールが完了します。
ドライバのインストールが完了するまで、ボードを外したり、リセットしたりしないようにしてください。

（サンプル）
書き込み手順の練習としてＬＥＤピカピカを用意してありますので、当社ウェブサイトからダウンロードしてください。
※CQ 出版社 デザインウェーブ 2008 年 5 月号（既に完売です）に STM32 が付録となりましたが、この付録ボードへの書き込み手順と同じように扱えます。当時の本をお持ちの方は参考になさってください。
3

■STBee のプログラム書き込みについて

通常、出荷時のマイコンにはプログラムが何も書き込まれていないため、市販の JTAG ライターを使ってプログラムを書き込む必要があります。

しかしそれではお金がかかるし、毎回ライターを接続する手間がかかるので不便です。そこで当社の STBee マイコンボードにはデバイス・ファームウェア・アップグレード(以下 DFU)というブートローダーを全製品書き込み済みで出荷しています。この DFU というプログラムが書き込まれていることにより、お客様が USB を通してパソコンに接続すると、自動でマイコンボードを認識し、パソコンと通信することができるようになっています。

DFU によってパソコンと通信し、専用のソフトでユーザプログラムを内蔵フラッシュに書き込むことにより JTAG ライター等を使わずに開発ができます。つまりこのマイコンボード以外のハードウェアがなくてもマイコン開発ができるようになっています。

不利な点として DFU のプログラムの長さ分だけユーザプログラムの領域としては使えなくなってしまいます。STBee では内蔵 512K バイトのう

ち DFU に 12K バイト使いますので、実際ユーザが使える領域は 500K バイトとなります。DFU が利用する領域は全体の 2.5%程度とわずかです。内蔵フラッシュの書き換え能力は１万回以上ですので、何度もプログラムを作って書き換えしても大丈夫です。

■DFU の仕組み

DFU はフラッシュの先頭アドレス 0x0800 0000～0x0800 2FFF までの位置にあります。

ユーザが利用できる領域はそれ以降の 0x0800 3000～0x0807 FFFF までになります。なお 0x0000 0000 のアドレスは 0x0800 0000 にマップされているため、0x0000 0000 へのメモリアクセスは 0x0800 0000 にアクセスしたのと同じです。

・マイコンの電源が入る（リセットされる）と DFU の先頭アドレスからスタックポインタとプログラムカウンタを拾ってマイコンが動作を開始します。

最初、プログラムカウンタは DFU 内を指し、DFU が実行されます。次にユーザＳＷの状態を読み取ります。

・ユーザＳＷが 1（押下されている）なら USB の初期化ルーチンを実行し、これからパソコンと USB で通信する準備をします。これが USBを経由してフラッシュメモリの書き換えをするモードです。

・ユーザＳＷが 0（押されていない）なら 0x0800 3000 以降のアドレスにユーザプログラムが書き込まれているかチェックします。ユーザプログラ
ムが書き込まれていないなら、前記と同じ USB の初期化ルーチンを実行してパソコンと通信する準備をします。
・ユーザプログラムが書き込まれていたら、0x0800 3000 からスタックポインタとプログラムカウンタをロードして、プログラムを実行します。これがユーザプログラムの実行です。後はユーザプログラムの通りに動作をします。
ここで注意が必要なのは割り込みベクタについてです。本来は割り込みベクタアドレスを 0x0800 0000(0x0000 0000)として開発しなければならないのですが、STBee では既に DFU が書き込んであるため、0x0800 0000 にすることができません。ですからユーザは DFU のサイズ分シフトした 0x0800 3000 に割り込みベクタが来るように開発しなければなりません。GNU gcc ではずらして開発することができますが、他の評価版コンパイラではこの設定ができないベンダーもありますのご注意ください。

ユーザプログラムが実行されても割り込みベクタが DFU 内を指していてはユーザプログラム内の割り込み処理が呼び出されなくなってしまいます。そのため Cortex-M3 では割り込みベクタの先頭アドレスを変更することができるようになっています。これにより DFU が邪魔をせずユーザプログラムが実行できるようになっています。

間違ってプログラムの先頭アドレスを 0x0800 0000 にしたプログラムを書き込んでもエラーが出るだけで DFU は壊れません。
DFU が消えてしまいますと USB からの再書き込みが不可になってしまいますから、通常の取り扱いでは消えないようになっています。
ユーザプログラムでフラッシュメモリを書き換えるソフトを作られる場合は消してしまう可能性があります。該当領域を消去しないようご注意く

ださい。

■モードの切り替え

STM32 は起動時に３つのモードを選べます。このモードの設定を BOOT0, BOOT1 ピンで行います。
このマイコンボードでは「メインフラッシュメモリ」からの起動以外はあまり使いません。
BOOT1 ピン BOOT0 ピン
ブートモード詳細
フラッシュメモリから起動します。
メインフラッシュメモリ
X0
DFU が最初に実行され、その後ユーザプログラムが走ります。
STM32 内蔵のシステムメモリから起動します。
0
1
システムメモリ
システムメモリには USART 経由でプログラムを書き込むインターフェースが備わっています。(JTAG なしでもプログラムの書き込みができる）
1
1
SRAM
SRAM 領域から起動します。
・BOOT0 ピンは専用ピンでコネクタには引き出されていません。
・BOOT1 ピンは PB2 ピンと共用になっています。

4

■ピン配置図
各 I/O ポートは 16 本順番通りにコネクタに並んでいます の で 、 扱 い や す く な っ て い ま す 。 PB ポ ー ト の み
PB0~7 と PB8~15 に分断されます。
NC は未接続を表します。

◆CN3 ※ポート名の後の * は 5V トレラント入力を示します。* がないものは 5V 受けられません。VDD(=3.3V)までです。
135791113151719212325272931333537394143454749

GND
5V
3.3V
PD0*
PD2*
PD4*
PD6*
PD8*
PD10*
PD12*
PD14*
PB0
PB2*
PB4*
PB6*
GND
PC0
PC2PC4
PC6*
PC8*
PC10*
PC12*
VBAT
GND

13GND
PA0

FSMC_D2
TIM3_ETR, UART5_RX, SDIO_CMD
FSMC_NOE <赤 LED>
FSMC_NWAIT
FSMC_D13
FSMC_D15
FSMC_A17
FSMC_D0
ADC12_IN8, TIM3_CH3, TIM8_CH2N
BOOT1
SPI3_MISO, NJTRST
I2C1_SCL, TIM4_CH1
ADC123_IN10
ADC123_IN12
ADC123_IN14 <USB DETECT>I2S2_MCK, TIM8_CH1, SDIO_D6
TIM8_CH3, SDIO_D0
UART4_TX, SDIO_D2
UART5_TX, SDIO_CK

2468101214161820222426283032343638404244464850

GND
5V
3.3V
PD1*
FSMC_D3PD3*
FSMC_CLKPD5*
FSMC_NWE
PD7*
FSMC_NE1, FSMC_NCE2
PD9*
FSMC_D14PD11*
FSMC_A16PD13* FSMC_A18
PD15* FSMC_D1PB1
ADC12_IN9, TIM3_CH4, TIM8_CH3N
PB3*
SPI3_SCK, I2S3CK, JTDOPB5I2C1_SMBA, SPI3_MOSI, I2S3_SD
PB7*
I2C1_SDA, FSMC_NADV, TIM4_CH2
GND
PC1
ADC123_IN11
PC3
ADC123_IN13
PC5
ADC123_IN15
PC7*
I2S3_MCK, TIM8_CH2, SDIO_D7
PC9*
TIM8_CH4, SDIO_D1
PC11*
UART4_RX, SDIO_D3
PC13
TAMPER_RTC
NRST(~RESET)
GND

24

GND
PA16PA38

PA510

PA7◆CN4 ※ポート名の後の * は 5V トレラント入力を示します。* がないものは 5V 受けられません。VDD(=3.3V)までです。

5791113151719212325272931333537394143454749

WKUP, USART2_CTS, ADC123_IN0, ＜ユーザ SW＞
TIM2_CH1_ETR, TIM5_CH1, TIM8_ETR
PA2
USART2_TX, TIM5_CH3, ADC123_IN2,TIM2_CH3
PA4
SPI1_NSS, USART2_CK, DAC_OUT1,
ADC12_IN4
PA6
SPI1_MISO, TIM8_BKIN, ADC12_IN6,
TIM3_CH1PA8*
USART1_CK, TIM1_CH1, MCO
PA10*
USART1_RX, TIM1_CH3
NC ※基板中央付近に PA12 端子を設けてあります
PA14*
JTCK SWCLK
GND
PE0*
TIM4_ETR, FSMC_NBL0
PE2*
TRACKCK, FSMC_A23
PE4*
TRACKD1, FSMC_A20
PE6*
TRACKD3, FSMC_A22PE8*
FSMC_D5PE10*
FSMC_D7PE12*
FSMC_D9PE14*
FSMC_D11PB8*
TIM4_CH3, SDIO_D4
PB10*
I2C2_SCL, USART3_TX
PB12*
SPI2_NSS, I2S2_WS, I2C2_SMBA,USART3_CK, TIM1_BKIN
PB14*
SPI2_MISO, TIM1_CH2N, USART3_RTS
3.3V
5V
GND

1214161820222426283032343638404244464850

USART2_RTS, ADC123_IN1,
TIM5_CH2, TIM2_CH2
USART2_RX, TIM5_CH4, ADC123_IN3,
TIM2_CH4
SPI1_SCK, DAC_OUT2, ADC12_IN5

SPI1_MOSI, TIM8_CH1N, ADC12_IN7,
TIM3_CH2PA9*USART1_TX, TIM1_CH2
NC ※基板中央付近に PA11 端子を設けてあります
PA13*
JTMS SWDIO
PA15*
SPI3_NSS, I2S3_WS, JTDI
GND
PE1*
FSMC_NBL1PE3*
TRACKD0, FSMC_A19
PE5*
TRACKD2, FSMC_A21
PE7*
FSMC_D4PE9*
FSMC_D6PE11*
FSMC_D8PE13*
FSMC_D10PE15*
FSMC_D12PB9*
TIM4_CH4, SDIO_D5
PB11*
I2C2_SDA, USART3_RX
PB13*
SPI2_SCK, I2S2_CK, USART3_CTS,
TIM1_CH1N
PB15*
SPI2_MOSI, I2S2_SD, TIM1_CH3N
3.3V
5V
GND

※PA11, PA12 は USB の D－,D＋に配線されているため、コネクタには引き出されていません。

※１つのピンに多数の機能が割り当てられています。同時に利用できないケースがありますので詳しくはデータシートをご覧ください。
5■CN2（JTAG コネクタ）
12
VDD
34NTRST
56TDI
78TMS
910TCK
11 RTCK
1213 TDO
1415 RST
1617 DBGRQ※
1819 DBGACK※20※本ボードでは未使用

VDD
GND
GND
GND
GND
GND
GND
GND
GND
GND

■USART1VDD

TXD

GND

RXD

■USER スイッチ（ユーザスイッチ）■リセットスイッチ■BOOT1■LED■メモリマップ

Cortex-M3 は 32 ビット（4G バイト）のメモリ空間となっております。
0xFFFF FFFF
0xE000 0000
0xDFFF FFFF

内部レジスタ

0xC000 0000
0xBFFF FFFF（未使用）

0xA000 0000
0x9FFF FFFF

外部バスコントロール

0x8000 0000
0x7FFF FFFF

外部バス

外部バスとして利用できます。

0x6000 0000
0x5FFF FFFF

外部バス

外部バスとして利用できます。

0x4000 0000
0x3FFF FFFF

周辺機能

I/O, タイマ, USART, USB など全ての周辺機能コントロール
レジスタがある。
内蔵の SRAM が先頭部分に置かれる

0x2000 0000
0x1FFF FFFF
0x0000 0000

SRAM
Code（プログラム）

フラッシュメモリが置かれます。

■トラブルシューティング⇒USB が認識されないときは下記項目を調べてみてください。

■使用上の注意・免責事項など
・本キットは主にエンジニアの方を対象にした製品です。
・本キットを使用したことによる、損害・損失については一切補償できません。
・製造上の不良がございましたら、良品とお取替えいたします。それ以外の責についてはご容赦ください。
・鉛フリー・RoHS 指令適合品です。

・USB コネクタの端子がしっかり基板にハンダ付けされているか？
・リセッタブル・ヒューズが正しい位置にハンダ付けされているか？ 異常に熱くなっていないか？

・LED ジャンパ（④参照）をハンダ付けして緑 LED は点灯しますか？

・BOOT0, BOOT1 ジャンパが 0 になっているか？
・他の回路などを接続している場合は全て取り外す

Copyright © 2010-2016,2023 Strawberry Linux Co., Ltd.
株式会社ストロベリー・リナックス ２０１０年４月 第１版
２０２３年７月５日 第２版
無断転載を禁止します

・USER スイッチを押しながら RESET スイッチを押し、RESET スイッ
チを離した後に USER スイッチを離します。
・赤 LED が点滅しますか？

6