一 本章简介
本章是整套 MicroPython 教程的起点,目标是让你在最短的时间内,完成固件烧录、连接 REPL 控制台、并成功运行第一个 MicroPython 程序——让板载 LED 闪烁起来。
IMPORTANT
在开始之前,请确认你手中的硬件:
- 天空星 STM32F407VET6 核心板(必须)
- TYPE-C USB 数据线(必须是支持数据传输的线,纯充电线不行)
- 天空星·筑基学习板(可选,本章不需要)
1.1 学习目标
| 序号 | 学习目标 | 重要程度 |
|---|---|---|
| 1 | 掌握 MicroPython 固件的烧录方法(DFU 模式) | ⭐⭐⭐⭐⭐ |
| 2 | 能够通过 USB 连接 REPL 交互式控制台 | ⭐⭐⭐⭐⭐ |
| 3 | 了解 MicroPython 的文件系统结构(boot.py / main.py) | ⭐⭐⭐⭐ |
| 4 | 能够上传并运行第一个 MicroPython 程序 | ⭐⭐⭐⭐⭐ |
| 5 | 掌握 mpremote 工具的基本使用 | ⭐⭐⭐⭐ |
1.2 重点提示
- 天空星出厂默认烧录的是 STM32 的 HAL 库程序,不是 MicroPython 固件,需要我们自己烧录才能使用 MicroPython。
- 烧录 MicroPython 固件会清除原有的程序,但不会损坏硬件,随时可以重新烧录回去。
- 进入 DFU 烧录模式需要特定的按键操作,操作顺序不能搞错,下文有详细说明。
- MicroPython 固件烧录完成后,天空星开发板通过 USB 连接电脑会出现一个虚拟串口(CDC),这就是 REPL 的入口。
1.3 基础概念与术语
- DFU(Device Firmware Upgrade,设备固件升级):STM32 内置的 USB 烧录协议,无需额外的调试器,只需一根 USB 线即可烧录固件。
- REPL(Read-Eval-Print Loop):MicroPython 的交互式命令行,连接后可以直接输入 Python 代码并立即执行。
- boot.py:MicroPython 启动时第一个执行的用户脚本,通常用于配置 USB 模式、初始化网络等。
- main.py:boot.py 执行完后运行的主程序文件,你的应用代码放在这里。
- mpremote:MicroPython 官方命令行工具,可以连接 REPL、上传下载文件、执行脚本。
- 立创 MicroPython Web IDE:立创开发板提供的在线 MicroPython 开发工具,无需安装,浏览器直接使用,内置代码编辑器、REPL 终端和文件管理功能。
二 获取 MicroPython 固件
我们为天空星 STM32F407VET6 提供了预编译好的 MicroPython 固件,直接下载烧录即可使用,无需自行搭建编译环境。
单击该链接,将该固件下载到本地。
下载后你会得到这个HEX文件: skystar-micropython.hex
三 烧录固件
3.1 进入DFU模式
DFU 模式是最简单的烧录方式,只需要一根 USB 线,不需要任何额外的调试器。
操作步骤(顺序很重要):
- 用 TYPE-C USB 线将天空星连接到电脑
- 按住 BOOT0 按钮不放
- 按一下复位(RST)按钮,然后松开
- 最后再松开 BOOT 按钮

上图由AI辅助生成
TIP
进入 DFU 模式后,天空星上的 LED 不会有任何反应(不亮、不闪),这是正常的。Windows 设备管理器中会出现 "STM32 BOOTLOADER" 设备。 
3.2 安装 STM32F4 的 DFU 驱动
在 Windows 系统上,STM32 进入 DFU 模式后,操作系统默认无法正确识别该设备,需要先安装 ST 官方提供的 DFU 驱动程序。
macOS 和 Linux 无需安装驱动,可跳过本节。
驱动下载:
点击下方链接下载驱动安装包:
如果你没有按照本节安装这个驱动,直接进让天空星进入了DFU模式,电脑也没有安装过驱动的话,就会在设备前面有一个黄色感叹号。此时本工具是无法使用的。
安装步骤:
- 解压下载的
DFU_Driver.zip - 打开设备管理器,右键有黄色感叹号的 STM32 BOOTLOADER 设备,单击更新

- 安装完成后,将开发板设置为 DFU 模式并连接电脑(不知道怎么设置的话请看后面的2.2小节),在 Windows 设备管理器中应能看到没有黄色感叹号的 STM32 BOOTLOADER 设备了

注意: 若安装驱动后仍无法识别,可尝试重新插拔 USB 线,或在设备管理器中手动更新驱动。
3.3 使用 立创·天空星 STM32F407 WebUSB DFU 在线刷写工具 烧录固件
3.3.1 第一步:打开工具页面
访问下面的链接:
3.3.2 第二步:连接设备
- 确认开发板已进入 DFU 模式并通过 TYPE-C 线连接电脑
- 点击左侧边栏顶部的「连接设备」按钮
- 浏览器弹出设备选择对话框,选择「STM32 BOOTLOADER」并点击「连接」

连接成功后:
- 按钮变为「断开连接」,状态指示灯变绿
- 侧边栏显示设备名称和 VID/PID
- 若检测到读保护,会弹出提示询问是否解除
3.3.3 第三步:烧录固件
先找到我们在前面获取到的 micropython 固件:skystar-micropython.hex
点击页面中间的【选择固件】,选择我们要烧录的这个 MicroPython 固件,然后点击【开始烧录】,等待烧录完成,如下面的动图所示:

四 连接 REPL 控制台
固件烧录完成后,用 TYPE-C USB 线将天空星连接到电脑,稍等片刻,电脑会识别出一个虚拟串口(CDC)设备。
4.1 使用立创 MicroPython Web IDE
推荐方式:使用立创 MicroPython Web IDE(在线工具,无需安装)
- 用浏览器打开该链接 立创 MicroPython Web IDE
- 用 TYPE-C USB 线将烧录好 MicroPython 固件的天空星连接到电脑
- 点击工具页面中的连接按钮,选择天空星对应的串口
- 连接成功后,页面底部的终端区域就是 REPL

TIP
如果浏览器中找不到串口设备,可能需要安装 USB 驱动。天空星使用的是 STM32 内置的 USB CDC,通常 Windows 10/11 会自动安装驱动,无需手动操作。如果没有自动安装,可以通过 STM32CubeProgrammer 安装驱动。
Web IDE 需要浏览器支持 Web Serial API,推荐使用 Chrome 或 Edge(版本 89 及以上)。Firefox 暂不支持。
详细使用说明请参考:立创 MicroPython Web IDE 使用文档
4.2 使用其他工具
也可以使用 PuTTY 或 MobaXterm 连接对应的 COM 口,因为这个是USB模拟的CDC串口,所以波特率可以随意设置。 也可以使用thonny或者其他micropython IDE工具,这里暂不介绍。
4.3 确认连接成功
连接成功后,你会看到 MicroPython 的 REPL 提示符:
>>> print("Hello, SkyStar!")
Hello, SkyStar!
>>> 1 + 1
2
>>> import sys
>>> sys.version
'3.4.0'2
3
4
5
6
7
8
9

五 第一个程序:让 LED 闪烁
5.1 在 REPL 中直接运行
天空星板载一颗 LED 连接在 PB2,高电平点亮。我们先在 REPL 中直接控制它:
>>> import pyb
>>> led = pyb.LED(1) # LED1 对应 PB2
>>> led.on() # 点亮
>>> led.off() # 熄灭
>>> led.toggle() # 翻转状态2
3
4
5

看到 LED 亮起来了吗?这就是 MicroPython 的魅力——几行代码,立竿见影。
5.2 编写 main.py 让 LED 持续闪烁
在 REPL 中运行的代码是临时的,断电就消失了。要让程序在每次上电后自动运行,需要把代码写入 main.py 文件。
使用立创 MicroPython Web IDE(推荐)
- 打开 立创 MicroPython Web IDE 并连接天空星
- 在编辑区输入以下代码【也可以不用输入,毕竟我们的在线IDE里面的默认程序就是这个】:
# MicroPython Web IDE — by LCKFB-YZH
# 适用于 天空星STM32F4xx + MicroPython
# 点击 "连接" 选择串口,开始开发!
import pyb
import time
# 点亮板载LED示例
led = pyb.LED(1)
while True:
led.toggle()
time.sleep(0.5)
print("LED toggled! LED已切换!")2
3
4
5
6
7
8
9
10
11
12
13
14
15
- 我们先点击运行在线运行看看,然后再保存到天空星开发板上面
- 点击【上传】按钮,将文件保存为
main.py并上传到开发板 - 按下天空星的复位按钮,程序就会自动运行,LED 开始每秒闪烁一次,程序此时掉电就不丢失了,当然此时天空星开发板会断开与IDE的链接。

六 文件系统与启动流程
6.1 MicroPython 的文件系统
MicroPython 使用内部 Flash 作为文件系统,挂载在 /flash。如果插入了 TF 卡,会自动挂载到 /sd。
import os
# 查看根目录
print(os.listdir('/'))
# 输出类似: ['flash'] 或 ['flash', 'sd']
# 查看 flash 内容
print(os.listdir('/flash'))
# 输出类似: ['boot.py', 'main.py']
# 查看 flash 可用空间(单位:字节)
stat = os.statvfs('/flash')
free_bytes = stat[0] * stat[3]
print("Flash 可用空间: {} 字节".format(free_bytes))2
3
4
5
6
7
8
9
10
11
12
13
14

IMPORTANT
天空星的内部 Flash 在烧录了 MicroPython 固件后,留给文件系统的空间约为 九十多KB。如果需要存储大量数据或较大的 MicroPython 库,请使用 TF 卡(挂载在 /sd)。
6.2 启动顺序
天空星上电后,MicroPython 按以下顺序执行:
上电 → _boot.py(系统内部,不可修改)→ boot.py → main.py → REPLboot.py:系统启动时首先执行,通常用于配置 USB 模式、初始化网络等系统级设置main.py:boot.py 执行完后运行,放置你的主程序逻辑- 如果 main.py 执行完毕或出错,会进入 REPL 交互模式

6.3 配置 USB 模式(boot.py)
默认情况下,天空星以 VCP+MSC(虚拟串口+U盘)模式连接电脑,用于 REPL 交互。你可以在 boot.py 中修改 USB 模式:
# boot.py — 天空星启动配置
import pyb
# 模式选项:
# 'VCP' — 仅虚拟串口(默认,用于 REPL)
# 'VCP+MSC' — 虚拟串口 + U 盘(可在电脑上直接编辑 flash 中的文件,推荐开发时使用)
# 'VCP+HID' — 虚拟串口 + HID 设备(模拟键盘/鼠标)
pyb.usb_mode('VCP+MSC')2
3
4
5
6
7
8
TIP
开发阶段推荐使用 VCP+MSC 模式。这样天空星连接电脑后,既有 REPL 串口,又会出现一个 U 盘,你可以直接在 U 盘里编辑 main.py,就像编辑普通文本文件一样方便。
七 常见问题
Q: 烧录后设备管理器中没有出现串口,只有 "STM32 BOOTLOADER"?
说明固件烧录后没有正常启动。请按一下复位按钮,或重新插拔 USB 线。
Q: 上传 main.py 后复位,程序没有自动运行?
确认文件保存在 /flash/main.py(不是 /main.py)。在 REPL 中执行 import os; print(os.listdir('/flash')) 确认文件存在。
Q: 提示 MemoryError 内存不足?
import gc
gc.collect() # 手动触发垃圾回收
print(gc.mem_free()) # 查看剩余内存2
3
内部 Flash 文件系统很小,大型库文件请放在 TF 卡(/sd)中。
Q: 如何查看开发板的系统信息?
import os, sys, machine
print(os.uname()) # 系统信息(固件版本、编译日期等)
print(sys.platform) # 平台名称
print(machine.freq()) # CPU 频率(Hz)
print(machine.unique_id().hex()) # 芯片唯一 ID2
3
4
5
6
九 本节参考文档
- MicroPython 官方文档:https://docs.micropython.org/
- MicroPython pyb 模块文档:https://docs.micropython.org/en/latest/library/pyb.html
- STM32CubeProgrammer 下载:https://www.st.com/stm32cubeprog
- 立创 MicroPython Web IDE(在线工具):https://wiki.lckfb.com/storage/html/micropython-web-IDE/index.html
- 立创 MicroPython Web IDE 使用文档:https://wiki.lckfb.com/zh-hans/web-tool/micropython-web-IDE/introduce.html
- 天空星硬件资料:https://wiki.lckfb.com/zh-hans/tkx/
NOTE
完成本章后,你已经掌握了 MicroPython 开发的基本工作流程。接下来可以进入 GPIO 基础 章节,学习如何控制更多的数字输入输出功能。