Replies: 5 comments
|
棒棒哒,期哥可否送一个玩玩 |
0 replies
|
仓库在哪里? |
0 replies
|
想要 |
0 replies
|
伸手要一个 |
0 replies
|
想要一个 |
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
我把一枚"吊坠"塞进了圆圆的屏幕里 🪐
1. 起因:为什么手搓一枚电子吊坠 🔮
做这个项目的初衷很简单:我想要一块可以自定义内容的圆形小屏,既能佩戴胸前,也能挂在背包上。
市面上的智能手表功能很全,但重量、成本都不太合适,现成的装饰电子吊坠颜值过得去,却没什么实用功能。我想做一款颜值和实用性兼顾的 DIY 硬件:
🖼️轻巧便携,可以当作圆形电子相框,图片、动画随时自定义更换;
🎵支持蓝牙连接手机播放音乐,屏幕实时同步播放状态并可操控,可玩性拉满;
⌨️支持蓝牙键鼠模拟,可作为无线飞鼠控制手机刷视频、拍照等;
🖥️搭配底座,还能变身桌面多媒体副屏;
做项目很容易不停堆砌新需求,导致整体方案过度膨胀。我的思路是先把最核心的基础链路跑通,附加功能后续迭代补上,不在初期给自己堆过重的开发负担。
- 屏幕分辨率底线 240×240,保证画面观感清晰;
- 同时搭载 WiFi、蓝牙,实现手机、电脑双向数据互通;
- 交互做极简设计,依靠触摸屏 + 触摸按键完成全部操作,砍掉多余机械按键;
📱小程序|手机端快捷控制入口
💻电脑上位机|完整播放与调试控制台
功能图:
实物展示:
2. 物料选型:方寸之间,件件小而能打 🧰
物料的选型只有一个原则:极致小巧 整机能保留的每一颗器件,都是反复取舍后的最优结果。
🪐 主控|安信可 M61 模组
采用安信可 M61 模组,核心为博流 BL618 RISC‑V 芯片,主频性能充裕,可流畅运行 LVGL 圆形 UI 界面。模组原生搭载 WiFi6 + BLE 双模蓝牙,全权负责设备图像传输、音视频接收、多端联动等核心无线功能。选用成品模组最大优势是射频电路无需自主调试,极大降低 DIY 难度,整机基于博流官方 SDK 二次开发,在极小机身体积下,完美平衡性能、功耗与开发成本。
🖥️ 屏幕|240×240 并行触摸圆屏
整机搭载 240×240 圆形显示屏,采用 8 位并口驱动,带宽充足,动画、视频帧刷新流畅不卡顿。屏幕集成 CST816 触摸芯片,整机页面切换、功能操控、小游戏交互等全部操作均依托触屏实现,是设备唯一核心交互载体。
🕹️ 交互|单触摸按键极简设计
整机零冗余实体机械按键,仅保留一枚高灵敏触摸按键,实现开机关机、双击亮息屏核心操作。复杂交互全部交由触摸屏承接,最大程度精简机身结构,保证吊坠外观极简统一、无突兀开孔。
🔌 USB 扩展电路|CH334 + CH340 双路拓展设计
集成 CH334 USB HUB 芯片,实现单 USB 入口双路分流拓展:一路接 CH340 串口芯片,提供稳定串口通信,用来固件烧录与设备调试;另一路直接对接 M61 模组原生 USB 接口,用于数据传输、音频视频下发,适配电脑上位机数据交互,解决单 USB 口功能冲突问题,同时保证吊坠机身无任何 USB 开孔,极致精简外观。
🔋 供电与磁吸充电
内置 501024 超薄锂电池(150mAh),极致薄型尺寸完美适配屏幕下方狭小堆叠空间。整机摒弃传统外露插线充电方案,采用 5P 磁吸触点对接设计,放置底座即可自动精准对位,完成充电与上电调试,兼顾实用性与一体机身颜值
📦 板载外设与工艺
按需搭载 IMU、磁力计、RTC 等传感器,分别实现姿态识别、方位定位、精准系统计时功能。整机阻容元器件统一采用 0402 小封装,最大程度压缩 PCB 板面积,底部磁吸结构同时实现电气信号对接与机械定位固定,结构与电路一体化设计。
🧊 磁吸底座|USB 通信 + 充电扩展
为极致精简吊坠机身,USB接口集成于磁吸底座,底座可同时完成设备供电充电、上位机高速数据传输、串口调试功能。底座自带氛围灯,设备吸附瞬间氛围感拉满,多种灯效可调,同时预留单总线扩展接口,保留充足拓展空间,支持后续功能迭代升级(持续挖坑中 🕳️)。
本次选型始终坚持「够用、精简、极致」的设计思路,拒绝盲目堆叠硬件。通过择优取舍、精简冗余电路,在器件数量、整机功耗、结构体积上三重优化,最终在方寸狭小空间内,实现性能、功能与颜值的完美平衡。
3. PCB 绘制|嘉立创 EDA 🖊️
这也是整个项目最硬核的硬件环节,本项目板框尺寸紧凑,板上集成射频模块、磁吸充电电路以及多路传感器。电源与地的铺地规划至关重要。四层板可以提供完整的参考地平面,能够显著提升信号完整性、增强抗干扰能力,同时可以把器件排布做得更加紧凑;受限于空间约束,四层板更好完成布线🤣。
核心目标:板子尺寸尽可能小巧,外形做成圆形。
全程使用嘉立创 EDA 完成原理图设计与 PCB 布局布线。
原理图和 PCB 上的每一根走线,都直接决定硬件能否一次点亮。绘制过程务必仔细严谨,完成后一定要完整跑一遍 DRC 检查。
4. 焊接:风枪 + 锡膏,民间手工焊接方案 🔥
拿到样板,就到了纯手工焊接环节,因为手动拼了下板所以需要裁开。
在焊接组装前,需要对 M61 模组进行小幅改造,目前安信可在售模组搭载8MFlash,本项目使用 LVGL 图形界面,资源体量较大、占用空间较高,因此需要更换更大容量 Flash 以满足固件存储需求。同时由于整机 IO 资源较为紧张,需将模组预留闲置引脚充分利用,适配更多外设功能。为进一步精简 PCB 面积、优化整机结构布局,裁掉板载 PCB 天线换成贴片天线,最大化压缩机身体积。
焊接完成后优先使用万用表测量电源对地阻值,排查连锡、虚焊隐患,确认无短路再上电。
可以烧录一个简单的程序看是否能正常跑起来
5. 3D 建模与打印:给圆屏配一身"壳" 🖨️
电路调试完成、硬件功能跑通后,设备还差一个可以随身携带、完整成型的结构外壳。本次外壳全程使用 Fusion 360 完成建模,依托立创EDA的3D导出能力,直接将完整PCB模型导入建模软件。板子外形轮廓、元器件高度分布、定位孔与开窗位置全部精准复用,无需手动测量,最大程度避免装配干涉与尺寸偏差。
吊坠

底座

打印
结构定稿的过程,基本就是反复迭代的改版循环。屏幕配合、壳体公差、装配间隙总是差上细微一点,前前后后调整了无数版本,报废了一大堆打印件,耗时又磨心态 😫。但 FDM 打印的优势就在于低成本、快速出样,非常适合用来反复试错。
待整体结构、装配公差、屏幕贴合全部调试稳定后,如果需要可以选用嘉立创 SLA 光固化或尼龙打印工艺,壳体表面细腻光滑、细节锐利,整机质感直接拉满,完全可以作为成品随身佩戴、外出展示 😎。
6. 组装:方寸之间,整机合拢 🛠️
结构与硬件全部调试完毕后,进入最后的整机装配环节,装配过程遵循由内到外的顺序,先将 PCB 主板嵌入壳体内部,对齐螺丝孔位,通过定位柱锁紧固定,保证主板居中稳固、不晃动,随后依次装入震动马达、锂电池、喇叭等外设,然后插接屏幕排线、固定显示屏做密封贴合,保证屏幕平整居中、外观干净规整。
整机拼装完成后放置磁吸充电底座,依靠磁吸结构自动对位贴合,接入USB设备能够正常识别、供电正常,顺便跑了个LVGL。
至此,一台能点亮、能运行、可随身佩戴的星环吊坠硬件部分正式完工,但硬件落地仅仅只是整个项目的 60%,真正让设备拥有交互逻辑、实现完整功能、彻底 “活起来” 的核心,全部在于后续的软件固件开发!
7. 写代码:同一块屏,三种玩法 💻
这是整个项目耗时最多,同时也是成就感最强的部分。同一块圆形屏幕,我为它实现了三套完全独立的交互入口。
7.1 🔌 单片机固件(设备端系统)
设备固件基于 Bouffalo SDK 开发,图形界面采用 LVGL 渲染 240×240 圆形屏幕。
当吊坠放置到底座,底座接入电脑,设备会枚举为 USB‑CDC 虚拟串口。上位机下发图像帧、音频流以及各类控制指令,设备内部通过帧状态机完成数据解析,借助双缓冲将画面渲染至
lv_canvas,再输出到圆形显示屏。整机没有实体按键,全部交互依靠 CST816 触摸芯片的点击与滑动完成。IMU、磁力计、RTC 共同提供姿态、方位与系统时间,数据全部接入 LVGL 界面做展示;温湿度传感器实用性有限,最终没有用上🥵。
BLE 广播名称为
stellar_box,与微信小程序建立蓝牙连接之后,既可以接收图片、视频数据并持久存储在设备内部,也能够完成设备配置、飞鼠功能相关参数的下发与设置。传输层自定义了一套统一帧协议:帧头 + 帧类型(RGB565 / JPG / 音频 / 命令)+ 数据长度 + 载荷数据 + 帧尾。RGB565 裸像素用于高质量静态画面,JPEG 用来节省传输带宽,图像、音频、控制命令全部复用同一套协议容器。
工程目录结构:
ui功能页面总览(共27个页面)
7.2 📱 微信小程序(手机随手控)
配套开发微信小程序,实现移动端传输数据给设备的能力。
小程序自动扫描蓝牙设备,筛选并连接广播名为
stellar_box的蓝牙。本地选择图片后,裁剪为 240×240 分辨率,图片可二次编辑,压缩为 JPEG后分包向设备发送,传输过程带有 ACK 应答、实时进度与传输速率展示。
支持处理手机本地短视频,按自定义时间间隔抽取帧画面,转为 JPEG 下发设备,手机端可预览轮播效果。
亮度、休眠时长、WiFi 参数、飞鼠灵敏度等配置项,可在小程序直接修改并持久化保存到设备。
7.3 💻 电脑上位机(全功能控制台)
可玩性最高的是使用 PySide6 开发的电脑上位机,通过 USB‑CDC 和吊坠直连(目前仍在迭代优化中)
🖼️ 图像与视频:支持批量选择文件、播放队列管理,内置淡入、放大淡入、横向翻页、3D 翻书等多种转场动画,让画面切换更富有表现力。
🎵 音频功能:导入音频文件直接下发设备播放,实时调节输出音量;屏幕可以展示频谱、波形可视化效果;歌词模块暂未完成,歌单以及跑马灯滚动歌名可以直接上屏,实现音画同步。
🎛️ 设备控制和电脑状态:暂停、继续、音量等操作全部通过命令帧下发,拖动右上角系统状态栏中各种电脑状态标签到屏幕,在设备端可实时查看电脑运行状态。
💾 本地持久化:播放列表、背景、音量等配置保存在本地,软件重启自动恢复上次状态。
设备端预览:
7.4 🧫关于底座
目前底座支持入位检测与灯效控制,内置十余种灯效,长按切换开关灯,短按循环切换灯效,同时预留单线通信引脚,便于后续外接传感器拓展更多玩法。
至此这个吊坠拥有三种使用形态:放置底座充当多媒体副屏;手机蓝牙连接随时更换画面;摘下佩戴在胸前,展示时间与各类状态信息。
8. 效果演示:一块小屏的无限可能 ✨
点击图片观看视频 ↓
9. DIY 总结:折腾的尽头,是 “值了” 🏁
这枚星环吊坠目前还在持续迭代优化。它只是一枚小小的圆形挂屏,却跳出普通装饰配饰的定位,把显示、交互、多媒体、多端联动全部塞进小巧机身,兼顾实用性和可玩性。
⌚ 它可以给到接近智能手表的使用体验:查看时间天气、USB / 蓝牙键鼠模拟、小游戏、电子相框、音视频频谱可视化样样都有;
🪐 但本体又是一枚类似电子吧唧的装饰吊坠,没有突兀的实体按键,外观简洁干净。平时可以佩戴胸前、挂在背包充当配饰,需要的时候点亮,就能解锁全部功能。
这个项目最有价值的地方,不在于硬件物料本身,而是亲手打通硬件‑固件‑小程序‑电脑上位机完整链路带来的成就感。
开发过程也沉淀下几条实操心得:
项目整体成本可控,PCB 可免费打样,3D 打印开销也较低,大部分精力消耗在软件开发上,通信协议调试、传感器适配、UI 界面迭代都比较耗费时间,且每次改动都需要数分钟的编译烧录,开发周期被进一步拉长。
当这块圆形屏幕挂在背包上缓缓亮起的瞬间,之前所有踩坑、反复折腾的时光,都变得格外值得 🪐💙
All reactions