工具箱で眠っていた、4年前に購入したNucleoー103、8ピンマイコン『STM32G031J6』を再利用できないか? そんな好奇心から始まった今回のプロジェクト。Arduino IDEの環境構築から、最新ファームウェアへのアップデート、『Lチカ』成功までの道のりを、備忘録として残します。STM32の奥深さと、純正ツールの信頼性に改めて気づかされた記録です。
米粒サイズの実力者「G031J6」
- 8ピンという最小構成の魅力。以前(120円)秋月電子で購入しましたが、今は販売されていません。
- フラッシュ32KB/RAM 8KBという、Arduino Unoに勝るスペックの紹介。
Arduino IDEにSTM32のボード定義をインストールする
Arduino IDEはデフォルトでは「Arduino Uno」などの標準的なボードしか入っていないので、STM32を認識させるための「追加パッケージ(ボード定義)」のインストールが必須になります。
「追加のボードマネージャのURL」を登録する
Arduino IDEの [ファイル] > [基本設定] を開き、「追加のボードマネージャのURL」という欄に以下のURLをコピー&ペーストします。
https://github.com/stm32duino/BoardManagerFiles/raw/main/package_stmicroelectronics_index.jsonボードマネージャで検索・インストール
「STM32 MCU based boards」 (by STMicroelectronics) という項目が出てくるので、最新版をインストールします。
※データ量が数GBと大きいので、Wi-Fi環境で行うのがおすすめです。
STM32CubeProgrammer のインストール
こちらをインストールしてないと、Aruduino IDEからSTM32のプログラムが書き込めません。
公式サイトの製品ページを開く STM32CubeProgrammer ダウンロードページ (ST公式) ※「ソフトウェアを入手」というボタンまでスクロールしてください。
OSを選択する リストの中から 「STM32CubePrg-W64(Windows 64-bit版)」 を探して、右側の 「Get Software」 をクリックします。
規約に同意する 「License Agreement」が表示されたら、右下の 「Accept」 をクリックします。
メールアドレスの入力(重要) ログインしていない場合、名前とメールアドレスを求めるポップアップが出ます。
- 名前(First Name / Last Name) と メールアドレス を入力して 「Download」 をクリック。
- 入力したアドレスに、STから 「Download link for STM32CubeProgrammer」 というメールが届きます。
- メール内の 「Download now」 ボタンを押すと、ようやくファイルのダウンロードが始まります。
⚠️ インストール時の注意点
ダウンロードしたZIPファイルを解凍し、中にある SetupSTM32CubeProgrammer-x.x.x.exe を実行します。その際、以下の点に気をつけてください。
- インストール場所: 基本的には変更せず、
C:\Program Files\STMicroelectronics\...のままにしてください。Arduino IDEはこの場所を自動で見に行くからです。 - ドライバーのインストール: 途中で「ドライバーをインストールしますか?」という黒い画面やポップアップが出たら、迷わず「はい(インストール)」を選んでください。
IDEの設定
以下の設定にします
1.Board: “Generic STM32G0 series”
2.Board part number: “Generic G031J6Ux” か ”Generic G031J6Mx”
3.Uplaod method: “STM32CubeProgrammer (SWD)”
4年前のNucleoを最新ファームウェアへアップデート
4年前に購入したNucleoのSt-Linkは、ファームウェアのアップデートは「ほぼ必須」と考えました。
アップデートは驚くほど簡単です。
専用のツールを使わなくても、昨日インストールした 「STM32CubeProgrammer」 でそのままアップデートできます。
手順
- NucleoをPCに繋ぐ(8ピンマイコンはまだ繋がなくてOK)、ピン(CN2のジャンパ)は「付けたまま」でも「外した状態」でも、どちらでも大丈夫です!
- STM32CubeProgrammerを起動。
- 右側のメニューにある 「ST-LINK Configuration」(または 「Firmware Upgrade」 ボタン)をクリック。
- ウィンドウが開くので [Open Update Mode] を押し、次に [Upgrade] を押す。
- 「Upgrade Successful」と出れば完了!

STM32G031J6のピンアサインと配線図
ARMマイクロコントローラ – MCUメインストリームArm Cortex-M0+ MCU 32KBフラッシュ 8KB RAM、64MHz CPU、2x US
STM32G03ピンアサイン

St-Linkとは下記のように接続します。
- 2番ピン: 3.3V (VDD)
- 3番ピン: GND (VSS)
- 7番ピン: SWDIO
- 8番ピン: SWCLK
- 4番ピン: NRST (リセット)
- 5番ピン: LED (Lチカ用)

書き込みと成功のログ
動作確認
こちらが今回使用した動作確認用プログラムです
// 8ピン STM32G031J6 用 Lチカプログラム
// LEDの長い足を 5番ピン(PA8) に、短い足を抵抗(480Ω)経由でGNDに繋いでください。
#define LED_PIN PA8 // 5番ピンを使用
void setup() {
// 指定したピンを出力モードに設定
pinMode(LED_PIN, OUTPUT);
}
void loop() {
digitalWrite(LED_PIN, HIGH); // 点灯
delay(500); // 0.5秒待機
digitalWrite(LED_PIN, LOW); // 消灯
delay(500); // 0.5秒待機
}コンパイル後の表示画面です


実際に動作した際のメモリ使用量(余裕たっぷりのスペック)、今回はまだ試していませんがシリアルモニタモニターも使えると思います。
まとめ
各種設定を一つずつクリアし、ArduinoでSTM32CubeProgramm経由でようやくSTM32G031J6の小さなチップを動かすことができました。 St-Linkは安価な互換機St-Link(パチモノ)も魅力的ですが、『純正の安心感』に助けられる場面は多々あります。 もし引き出しに眠っているNucleoがあれば、アップデート一つで最新マイコンの強力な『核』に生まれ変わるかもしれません。あなたもこの小さな8ピンの世界、覗いてみませんか?
次回はi2c通信SSd1306の表示、また秋月電子で販売しているSTM32マSTM32F303K8T6を使ってみたいと思います。


