f32 是一款超紧凑型 ESP32 开发板,设计用于直接安装在 USB-C 插座后面。PCB 尺寸仅为 9.85 mm x 8.45 mm。它由 ESP32-C3FH4 微控制器驱动,主要用于研究和作为对 ESP32 的一种压力测试,因为它有意忽略了诸多标准设计准则。板上仅有一个露出的 GPIO,且连接到板载 LED,因此这里的大部分开发将更偏向于 WiFi/Web。
为了测试 f32,我创建了一个用户可以与之交互的示例应用程序。该应用程序将 f32 变成一个强制门户(captive portal),因此当它通电时,会显示为一个开放接入点,用户可以从可用的 WiFi 网络中选择它。随后,用户会被自动带到 f32 的控制页面,在那里可以与一些基本功能交互,例如打开 LED 或扫描周围的 WiFi 网络。还有一个“关于”页面,提供设备的简要概述。下面是设备交互的一些截图和一个 GIF。
强制门户的主页面。 |
WiFi 搜索以及 LED 已开启。 |
关于页面。 |
最初,f32 似乎无法正常工作。我无法让它连接到任何网络,也无法广播它自己的网络。我 100% 确信这是由于天线电路不佳或缺失所致,但在将一根额外的小天线加到芯片天线上之后,我确实设法让它正常工作了,正如下面的图片所示。这只是一段弯曲的导线,焊接到末端引线上并悬浮在第一个引线上方。
由于我没有高级的信号测试设备,我依靠一些手动测试,例如检查是否还能连接到设备并控制 LED。在一次清晰的视距测试中,f32 放置在地面约 3 英尺高的位置,我能够在大约 120 英尺的距离上连接并执行扫描/控制 LED!这可以在下面我极其必要的示意图中看到。
PCB 使用 DipTrace 设计,并由 PCBWay 制造,板厚 0.6mm,最小孔径 0.2mm,最小线宽/间距 4/4mil。在制作时,5 块板含运费仅需 10.75 美元!这至今仍让我难以置信。PCBWay 也提供贴装服务,但我选择在家自行组装,稍微折腾了一下。由于零件如此之小,这经历了一些试错,但我认为对我来说最好的方法是放弃钢网,让助焊剂成为我最好的朋友。
使用的工具和零件:
制作步骤:
hardware 文件夹中的 gerber 文件 f32_gerber.zip 连同上述规格发送给 PCBWay。f32_bom.pdf 中列出的元件。除天线外,这些零件在 DigiKey 和 Mouser 上都能找到。我不记得最初是从哪里订购的,但我相信它们是 CrossAir CA-C03。
f32_reference.pdf 开始放置顶部元件。
组装完成后,你可以使用 ESP-IDF VSCode 扩展或 Arduino 向板子上传任何你想要的内容,也可以按照以下步骤上传我的示例应用程序。
esptool.py。esptool 版本为 v4 或更高。<PORT> 替换为设备连接的端口,例如在 Windows 上通常是 COM5 之类的,在 Linux 上是 /dev/ttyACM0esptool.py -p <PORT> -b 460800 --before default_reset --after hard_reset --chip esp32c3 write_flash --flash_mode dio --flash_freq 80m --flash_size 2MB 0x0 firmware/bootloader.bin 0x10000 firmware/f32_internal.bin 0x8000 firmware/partition-table.bin
这取决于你自己。我启动这个项目是为了个人研究,也是一次有趣的学习经历。自从几年前不小心订购了一些 01005 元件后,我一直想要一个使用它们的项目。 无论你选择将它用于什么,请注意这个设计有意省略了若干基础元件,例如合适的去耦电容、天线匹配电路、USB 终端电阻,可能还有更多。它能正常工作,但这是有意为之的极简设计。
最后,一个有趣的巧合:ESP32 芯片、天线和 LDO 都是“C3”型号!