这个开源硬件项目,把 RFID、红外和 433MHz 做进了一台 DIY 工具
FlopperZiro 是一台基于 STM32 和 Arduino IDE 的多功能硬件实验工具。这里把它能做什么、如何搭建,以及哪些功能只能在授权环境里使用讲清楚。

如果你想做一件比“点亮 LED”更有意思的硬件作品,FlopperZiro 值得看一眼。
它把 STM32-L432KC 、 PN532 、 433MHz 收发模块、红外收发器、 OLED 、 MicroSD 和电池管理电路装进了一台 DIY 手持设备里,代码可以用 Arduino IDE 编译和修改。
它不是专业诊断设备,也不是拿来测试陌生设备的万能钥匙。更准确的定位是:一台用来学习硬件协议、无线通信和嵌入式菜单系统的实验工具。
它到底能做什么

项目当前公开的功能包括:
- 读取和保存部分 RFID/NFC 标签信息
- 红外信号接收、保存和发送
- 433MHz 信号接收、保存和发送
- 通过 USB HID 模拟键盘,执行 SD 卡里的文本脚本
- OLED 菜单、按键导航、电池电量和 SD 卡空间显示
- 用 Arduino IDE 修改固件,用 3D 打印外壳完成装配
仓库的硬件和软件状态并不完全相同。 README 标注了 RFID/NFC 子系统仍有未完成项目,PN7150 替代模块也还在评估;433MHz 重放目前没有保存和恢复完整协议索引。做实验前,要按当前仓库代码和文档核对,不要把功能列表理解成专业设备规格。
先准备这些硬件
仓库给出的主要物料是:
- STM32-L432KC
- PN532 RFID/NFC 模块
- FS1000A 433MHz 发射模块
- RXB12 433MHz 接收模块
- 红外 LED 和红外接收器
- SSD1306 128×64 OLED
- MicroSD 卡模块
- TP4056 充电模块与 3.7V LiPo 电池
- 6 个按键、 2N2222A 三极管、 Micro USB 接口
如果你只是想先编译和看菜单,不必第一天就把电池、 PCB 和外壳全部买齐。先用开发板、屏幕、 SD 卡和一个模块跑通,再逐步补齐其他部分,排错会容易很多。
实操第 1 步:安装 Arduino 环境
- 安装 Arduino IDE 2.x 。
- 打开“文件 → 首选项”,在“附加开发板管理器网址”里加入:
https://github.com/stm32duino/BoardManagerFiles/raw/main/package_stmicroelectronics_index.json
- 打开“工具 → 开发板 → 开发板管理器”,安装 STM32 MCU based boards。
- 选择:
STM32 MCU based boards → Nucleo-32 → Nucleo L432KC
- 在库管理器里安装仓库列出的版本:
SdFat 2.2.3
Adafruit SSD1306 2.5.12
Adafruit GFX Library 1.11.11
Adafruit PN532 1.3.3
IRremote 4.4.1
RCSwitch 2.6.4
Keyboard 1.0.6
版本不要随便全部升级。嵌入式项目经常会因为库 API 变化而出现编译错误,先按仓库记录的版本复现,确认能跑后再升级。
实操第 2 步:下载代码并打开工程
在终端执行:
git clone https://github.com/lraton/FlopperZiro.git
然后用 Arduino IDE 打开仓库里的 main/ 文件夹。这里不是一个单独的 .ino 文件,而是多个 .ino 标签页共同组成的工程:
main.ino:全局变量、初始化和主循环menu.ino:主菜单和 RFID 锁buttonMenu.ino:按键处理graphics.ino:OLED 绘图badusb.ino:USB HID 脚本执行rfid.ino:RFID 读取、保存和模拟ir.ino:红外接收和发送rf.ino:433MHz 接收和发送sdList.ino:SD 文件浏览
这样拆分的好处是,后续加模块时不用把所有逻辑塞进一个超长文件。
实操第 3 步:准备 SD 卡和第一次上传
把 SD 卡格式化为 FAT32,再把仓库里的目录复制到卡根目录:
/
├── badusb/
├── ir/
├── rf/
└── rfid/
第一次上传时记住两个容易弄错的地方:
- 编程使用 STM32 的原生 USB 接口。 PCB 上的 USB 接口用于充电,不是固件上传口。
- 上传后如果 OLED 黑屏,先打开 Arduino IDE 的串口监视器或调试器。仓库把这列为已知的复位时序问题,打开串口会触发一次干净的软件复位。
上传成功后,先只验证开机画面、按键、 OLED 和 SD 卡目录。不要一上电就同时接入所有模块,否则出了问题很难判断是哪条总线或哪个电源轨出了故障。
实操第 4 步:按顺序验收模块

建议按下面顺序做第一轮验收:
1. 显示和按键
确认主菜单能显示,UP 、 DOWN 、 LEFT 、 RIGHT 、 SELECT 五个按键响应正常。
2. SD 卡
确认设备能读取四个目录,并能创建测试文件。 SD 卡出问题时,很多模块都会表现得像“功能坏了”,所以要先排除存储问题。
3. 红外
用你自己的电视、空调或开发板遥控器做接收测试。只在自有设备上验证保存和发送,先观察协议和数据是否能被正确识别。
4. RFID/NFC
使用自己拥有、专门用于实验的测试卡。先做读取和保存,不要把门禁卡、交通卡、办公卡等真实凭证拿来测试,也不要尝试绕过任何访问控制。
5. 433MHz
使用自己的遥控插座、实验发射器或射频开发板做近距离测试。 433MHz 频段的具体使用还受地区法规、设备类型和发射功率约束,不能因为“能发出去”就默认可以使用。
6. USB HID
USB HID 功能会让设备表现得像键盘。第一次测试应使用专门的隔离电脑和无害的本地测试文件,禁止连接同事、家人或公共电脑,也不要把脚本用于安装软件、窃取信息、绕过登录或修改他人设备。
真实项目图:它更像一块开发板集合

从实物图能看出,这个项目的价值不在“外壳多漂亮”,而在于把几个常见模块放进了同一套菜单和存储系统。对学习者来说,你可以沿着一条线观察:
输入信号 → MCU 解析 → OLED 显示 → SD 保存 → 再由对应模块输出。
这比单独买几个模块做零散实验更容易形成完整作品,也更适合练习多文件 Arduino 工程、 I²C/SPI 共存、按键状态机和文件管理。
这几个边界要提前知道
它不是 Flipper Zero 的平替
仓库自己把项目定位为教育和实验用途。它的硬件、兼容性、协议支持和文档完整度都不能和成熟商业设备直接比较。
433MHz 重放不等于通用遥控
仓库文档明确提到,当前发送逻辑没有完整恢复捕获到的协议索引,复杂设备可能无法正常工作。实验结果取决于协议、调制方式、频率、接收器容错和当地法规。
RFID UID 不是万能身份凭证
有些读卡器会校验更完整的数据和安全机制,只模拟 UID 并不能等价于复制一张卡。更重要的是,未经授权模拟门禁、支付或身份凭证可能违法。
电池和射频部分需要单独负责
TP4056 、锂电池、升压模块和射频发射模块不能只按“接上线就能用”处理。电池保护、充电电流、短路、天线、发射功率和散热都需要单独确认。第一次实验可以先用受限电源和有线供电,最后再接入电池。
适合谁
适合这些人:
- 会一点 Arduino 或 C/C++,想补硬件和无线协议基础
- 想学习 STM32 、 OLED 、 SD 卡、 I²C 、 SPI 和 USB HID 的组合
- 愿意自己焊接、排错和修改开源固件
- 能把测试范围限定在自己的设备和隔离实验环境里
不适合把它当成“万能复制器”、商业安防测试设备或未经许可的入侵工具。
项目状态与许可
当前仓库默认分支是 main,最新正式版本为 v1.0.0,代码使用 GPL-3.0 许可证。仓库还列出了一些未完成项目,包括 ISO14443-B 、 NDEF 读写、 433MHz 协议索引恢复和 PN7150 模块评估。
如果你要长期使用,建议先固定一个提交版本,再记录硬件 BOM 、库版本和接线图。不要只保存一份能编译的代码,否则后续换库或换板后很难复现。