Skip to content

Latest commit

 

History

18 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

嵌入式自制项目合集

一个存放 Arduino / ESP32 / STM32 等自制嵌入式小项目的仓库。

status platform license

这里会陆续收录我折腾的嵌入式项目。每个项目放在独立目录中,包含源码、文档、接线说明和踩坑记录。一方面方便自己回顾,另一方面也希望能给同好一些参考。

目录

仓库定位

这是一个个人嵌入式项目合集,不是某个单一产品的代码库。它同时承担三个作用:

  1. 存档:把自己做过的板子、玩过的模块、写过的固件集中放好,避免散落各处最后找不到;
  2. 复盘:记录每个项目当时的设计思路、踩过的坑、以及为什么最终这样实现;
  3. 分享:如果某个项目刚好能帮到别人,那就更好了。

内容以小而完整为主——单个项目通常在一周内能做完,元件成本不高,适合周末动手。不做大而全的框架,也不追求工业级可靠性,重点是把一个想法从零跑通,并把过程写清楚。

项目列表

1. VibePet —— AI 编程助手物理状态显示与审批终端

把 AI 编程助手的工作状态搬到桌面上。通过蓝牙连接电脑,在 1.77 英寸屏幕上实时显示 Claude Code 的运行状态;当 AI 需要批准敏感操作时,设备响一声、弹出审批卡,按一下物理按钮就能批准或拒绝——不用切窗口,不用敲键盘。

项目 说明
平台 ESP32-C3 SuperMini
外设 1.77" ST7735S TFT(128×160)、双微动按钮、无源蜂鸣器、状态 LED
通信 BLE(Nordic UART Service)+ JSON Lines
电脑端 Python 3.9+,仅依赖 bleak
目录 vibepet/
状态 电脑端已实现并通过 27 项测试;固件编译通过(Flash 占用 48%),尚未在真实硬件上验证
详细说明 vibepet/README.md

屏幕上的六种状态:IDLE(空闲)、WORKING(工作中)、APPROVE?(等待审批)、DONE(完成)、ERROR(出错)、LOST(连接断开,设备自行判定)。

更多项目正在路上……

仓库结构

myproject/

├── vibepet/ # 项目一:AI 编程助手物理终端

│ ├── firmware/ # ESP32 固件

│ │ ├── VibePet/

│ │ │ └── VibePet.ino

│ │ └── TFT_eSPI_User_Setup.h

│ ├── pc/ # 电脑端 Python 程序

│ │ ├── hook_client.py

│ │ ├── bridge_daemon.py

│ │ └── _smoke_test*.py

│ ├── .claude/ # Claude Code Hook 配置

│ └── README.md # 项目详细说明 │ ├── [下一个项目]/ # 每个项目一个独立目录

│ ├── firmware/ 或 src/

│ ├── docs/

│ └── README.md

└── README.md # 本文件

开发环境

不同项目用的工具链不一样,常见的有:

平台 工具链 备注
Arduino Arduino IDE / arduino-cli 简单项目首选,库生态丰富
ESP32 Arduino IDE(ESP32 板支持)/ PlatformIO 涉及 BLE、WiFi、FreeRTOS 时用 PlatformIO 更顺手
STM32 STM32CubeIDE / Keil / PlatformIO 需要 HAL 库或寄存器操作

每个项目的 README 会写明它自己需要哪些工具链、哪些库、以及具体的版本要求。不要假设所有项目环境一致

使用方式

每个项目相互独立,进入对应目录查看它自己的 README。一般流程是:

  1. 阅读该项目的 README,确认硬件清单和依赖;
  2. 按说明接线、配置工具链、烧录固件;
  3. 如有电脑端/上位机程序,安装对应依赖并运行;
  4. 遇到问题先看该项目的「常见问题」一节。

项目组织约定

为了让仓库保持整洁,新增项目时建议遵循以下约定:

目录命名

  • 避免空格和中文,避免与已有项目重名;
  • 每个项目一个顶层目录,不嵌套在其他项目里。

每个项目目录至少包含 项目名/ ├── README.md # 必需:硬件清单、接线、依赖、烧录、用法、常见问题 ├── firmware/ 或 src/ # 固件 / 源码 ├── docs/ # 可选:原理图、接线图、设计文档、照片 └── LICENSE # 可选:如与仓库整体许可不同,单独声明

README 建议包含

  • 一句话说明这个项目是做什么的;
  • 硬件清单(型号 + 大致价格);
  • 接线说明或接线图;
  • 依赖的第三方库及版本;
  • 烧录 / 编译 / 运行的步骤;
  • 当前状态(是否经过真实硬件验证);
  • 已知问题和踩坑记录。

代码风格

  • 固件代码尽量保持可读,关键逻辑写注释;
  • 涉及引脚定义、常量、可调参数时,集中放在文件顶部或单独的配置区;
  • 不提交编译产物(build/.pio/*.bin*.hex 等),用 .gitignore 排除。

贡献

这个仓库主要是个人项目存档,但非常欢迎交流:

  • 提 Issue:如果你发现某个项目的代码有问题、文档有误,或者接线说明不清楚,欢迎指出;
  • 提 PR:修复 bug、改进文档都很欢迎。如果是较大的功能改动,建议先开 Issue 讨论一下;
  • 自己加项目:如果你想把自己的项目也放进来(虽然更推荐 fork 后自己维护),请遵循上面的项目组织约定

许可证

除非项目内另有说明,本仓库所有项目均采用 MIT License。你可以自由使用、修改、分发,保留版权声明即可。

各项目如引用了第三方库,其许可归属原作者,使用时请遵守对应库的许可条款。

联系


如果这里某个项目对你有帮助,欢迎点个 Star ⭐

About

Arduino / ESP32 / STM32 等自制嵌入式小项目合集。每个项目独立目录,包含源码、文档、接线说明。

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages