




由于CircuitPython新版本修改了分区布局,因此需要CircuitPython 10之上的版本需要更新开发板的TinyUF2引导程序。
UF2引导程序下载链接:
最新版本: 0.35.0
0.33.0 WebSerial_ESPTool烧录
在线烧录工具:https://adafruit.github.io/Adafruit_WebSerial_ESPTool/


注意开发板的COM端口号,可以在设备管理器中查看,但是我不知道为何他会变化端口号!




选取最新引导固件
tinyuf2-adafruit_feather_esp32s3_reverse_tft-0.35.0-combined.bin
当然,0.33.0以上都可以!

不难看出,实际上使用乐鑫的flash_download_tool工具也是可以完成烧录的。
flash_download_tool烧录


在线一键烧录

我这里尝试使用在线安装







选择Continue继续擦除


按一次开发板上的Reset按钮,开发板进入如下引导界面,可以看到显示0.35.0版本,可见我们刚刚已经更新成功!


与此同时电脑出现一个名为FTHRS3BOOT的驱动器



选择后会自动处理下载固件
adafruit-circuitpython-adafruit_feather_esp32s3_reverse_tft-en_US-10.0.3.uf2
当然我们可以下载其他语言的,比如:

adafruit-circuitpython-adafruit_feather_esp32s3_reverse_tft-zh_Latn_pinyin-10.0.3.uf2
bin固件可以烧录乐鑫的烧录工具进行烧录,而uf2固件只需要下载后拖动到FTHRS3BOOT驱动器即可完成固件更新。



这里给大家安利下豆包这个插件,选取文字后即可进行翻译和解释,简直不要太方便,有啥看不懂的点一下就明白了!


说明:
这是一个 CircuitPython 设备的网络配置界面,用于设置设备连接 WiFi 网络。settings.toml 是 CircuitPython 中用于存储配置参数的文件,包括网络凭据、API 设置等。填写完成后,设备将能够连接到指定的 WiFi 网络,并启用 Web 工作流功能。




刚刚网页端的设置,实际上是给settings.toml中写入配置信息。
Mu编辑器(该项目目前已停更)



Thonny编辑器


Mu和Thonny都是支持CircuitPython的。


使用CircuitPython时需要安装对应版本的库文件CircuitPython Libraries:https://circuitpython.org/libraries


由于我们使用的CircuitPython 10.0.3,因此需要下载10.x版本的库,上方有官方库和社区库,这点类似于Arduino。
adafruit-circuitpython-bundle-10.x-mpy-20251114.zip
circuitpython-community-bundle-10.x-mpy-20251107.zip
# CircuitPython库使用要点概述
1. **基本运行机制**:CircuitPython库的工作模式与常规Python模块并无二致,Python相关文档是极为重要的参考资料。通常情况下,库文件可放置于 `lib` 目录中,此目录属于Python路径的组成部分。
2. **使用的必要条件**:该库并非开发板内置,在使用之前,需将其复制至CIRCUITPY驱动器方可调用。借助库捆绑包(library bundle)可有效简化这一操作流程。
3. **优化版本说明**:GitHub上提供的库捆绑包以及库发布版本中,包含以 `.mpy` 格式呈现的优化库。此类优化库不仅占用的存储空间相对较少,而且在加载过程中,内存占用也更为低廉。
4. **预装情况阐述**:鉴于开发板频繁更新以及存储空间的限制,Adafruit出品的开发板并不会预装完整的库捆绑包。用户在使用时,需自行加载所需的库文件。同时,开发板对应指南中的示例代码,可能会依赖外部库。
5. **核心要点强调**:在探索CircuitPython的过程中,熟练掌握“如何将库加载到开发板”这一技能,是至关重要的核心需求。









彩虹呼吸灯
# SPDX-FileCopyrightText: 2021 Kattni Rembor for Adafruit Industries # SPDX-License-Identifier: MIT """CircuitPython status NeoPixel rainbow example.""" import time import board from rainbowio import colorwheel import neopixel pixel = neopixel.NeoPixel(board.NEOPIXEL, 1) pixel.brightness = 0.3 def rainbow(delay): for color_value in range(255): pixel[0] = colorwheel(color_value) time.sleep(delay) while True: rainbow(0.02)
引脚说明


原理图

我要赚赏金
