总结了 12 个嵌入式项目

前两天有一个读者问我,如果要做嵌入式项目,哪些项目会比较合适,这里总结了 12 个比较有代表性的项目,使用的cpu 也是主流的,推荐给大家,希望对大家学习有所帮助。

1. Avem:轻量级无人机飞控项目

  • 项目链接:https://github.com/avem-labs/Avem

  • 核心定位:专为无人机打造的轻量级飞控解决方案,基于 STM32F103 微控制器(Cortex-M3 内核)开发。

  • 关键特性:集成 MPU6050 六轴传感器,支持四元数与欧拉角计算、PID 控制算法,适配 BLDC 无刷电机。硬件层面涵盖电子罗盘、气压传感器、GPS、射频电路等模块,软件支持 I2C、SPI、UART 等多种通信协议,可实现无人机稳定飞行与数据传输。

  • 适用场景:无人机爱好者二次开发、嵌入式飞控技术学习、小型无人机项目快速搭建。

2. Awesome-Embedded:嵌入式资源大全

  • 项目链接:https://github.com/nhivp/Awesome-Embedded

  • 核心定位:一站式嵌入式开发资源汇总库,堪称嵌入式开发者的 “百科全书”。

  • 核心资源:涵盖 MCU 编程(STM32、Raspberry Pi、ESP8266 等)、Linux 内核与驱动开发、汇编语言、RTOS、嵌入式 GUI、机器学习与 AI 在 MCU 上的应用等多个领域。收录了大量教程、示例项目、工具链、技术博客和书籍推荐,从基础入门到高级进阶资源全覆盖。

  • 适用场景:嵌入式开发新手入门导航、资深开发者技术栈补充、项目开发时的资源快速检索。

3. soft-and-hard:物联网全栈开发教程

  • 项目链接:https://github.com/alwxkxk/soft-and-hard

  • 核心定位:以 “软硬结合” 为核心,从零讲解物联网系统搭建的实战教程。

  • 核心内容:硬件选用性价比极高的 NodeMCU 开发板,基于 Arduino 框架开发;网络层面涵盖 TCP/IP、HTTP、MQTT 等核心协议;软件采用 JavaScript 全栈开发,覆盖网页、小程序、桌面应用、服务器后端。教程遵循 “先用后学” 理念,提供两个实战 Demo,Demo1 实现软硬件基础数据交互,Demo2 新增 MongoDB 数据库、WebSocket 实时数据传输和 Echart 数据可视化功能。

  • 适用场景:硬件工程师拓展 Web 开发技能、物联网初学者入门实战、全栈物联网项目快速落地。

4. FreeModbus:支持主机模式的 Modbus 协议栈

  • 项目链接:https://github.com/armink/FreeModbus_Slave-Master-RTT-STM32

  • 核心定位:解决原生 FreeModbus 仅开源从机代码的痛点,新增开源主机模式的增强版协议栈(版本 V1.6)。

  • 核心特性:主机与从机代码风格、接口保持一致,支持两者在同一协议栈共存;兼容实时操作系统(RT-Thread、UCOS 等)与裸机平台;提供阻塞 / 非阻塞两种请求模式,支持自定义超时时间;兼容所有常用 Modbus 方法,应用层调用灵活。

  • 适用场景:工业物联网设备通信、多设备组网项目、需要 Modbus 主机功能的嵌入式系统开发。

5. waveClock:经典风格智能数字时钟

  • 项目链接:https://github.com/VolosR/waveClock

  • 核心定位:将传统模拟时钟改造为现代智能数字时钟的创意项目,兼顾美观与实用性。

  • 核心配置:基于 ESP32-S3 微控制器(集成 2.4GHz Wi-Fi 和 Bluetooth 5 LE),搭载 1.46 英寸圆形 LCD 显示屏(分辨率 412x412,支持触摸交互)。支持 NTP 网络同步计时,保留模拟时钟的经典外观,同时集成智能交互功能。

  • 适用场景:智能硬件 DIY 爱好者、嵌入式 GUI 开发练习、家居智能设备改造项目。

6. Watchy:开源电子纸手表开发平台

  • 项目链接:https://github.com/sqfmi/Watchy

  • 核心定位:全开源的电子纸(E-Paper)手表,既是可直接佩戴的设备,也是灵活的可穿戴开发平台。

  • 核心特性:硬件采用准系统设计,PCB 直接作为表身,支持 3D 打印表壳定制;配备 1.54 英寸超低功耗电子纸显示屏(200x200 分辨率),支持 Wi-Fi、BLE 连接,内置 3 轴加速度计(手势检测)、实时时钟、振动马达。软件层面提供丰富的开源库,支持表盘定制、天气查询等功能,可扩展性极强。

  • 适用场景:可穿戴设备开发学习、电子纸应用实战、个性化手表 DIY。

7. OpenSimpleLidar:低成本激光测距仪

  • 项目链接:https://github.com/iliasam/OpenSimpleLidar

  • 核心定位:基于三角测量原理的开源激光雷达项目,成本低、实用性强。

  • 核心参数:每秒可完成 5 次扫描,每次旋转实现 180 次测量(2 度角分辨率),最大测量距离 4 米,2 米内测量精度达 5 厘米。软硬件完全开源(当前硬件版本 V1.2),核心组件包括激光发射器、图像传感器(TSL1401)和 STM32 微控制器。

  • 适用场景:机器人 SLAM 导航、近距离距离检测、物联网环境感知模块开发。

8. EasyLogger:超轻量级日志库

  • 项目链接:https://github.com/armink/EasyLogger

  • 核心定位:专为资源敏感型嵌入式项目设计的超轻量级 C/C++ 日志库。

  • 核心特性:ROM 占用小于 1.6K,RAM 占用小于 0.3K,适配 IoT 设备、可穿戴设备等资源受限场景。支持自定义日志输出方式(终端、文件、串口、Flash 等),日志内容可包含级别、时间戳、线程 / 进程信息;支持异步输出、缓冲输出,支持按标签、级别、关键词动态过滤,各级日志颜色区分。

  • 适用场景:单片机项目调试、嵌入式系统日志管理、资源受限设备的故障排查。

9. the-little-bili-tv:ESP32 开源哔哩哔哩小电视

  • 项目链接:https://gitee.com/wangpeng25/the-little-bili-tv

  • 核心定位:基于 ESP32 和 LVGL8.0 开发的创意智能设备,还原哔哩哔哩经典小电视形象。

  • 已实现功能:微信配网、时间显示、三日天气查询、温湿度监测、B 站粉丝数实时显示、Web 配置界面。待完善功能包括基金走势显示、电脑性能监测、微信小程序支持等,提供完整的固件、PCB 原理图和开发工具配置教程。

  • 适用场景:B 站 UP 主周边 DIY、ESP32+LVGL 开发练习、智能家居桌面摆件制作。

10. ElectronBot:桌面级迷你机器人

  • 项目链接:https://gitee.com/peng_zhihui/ElectronBot

  • 核心定位:由 B 站百万 UP 主稚晖君开源的桌面机器人项目,灵感源自电影《机器人总动员》中的 EVE。

  • 核心特性:硬件采用 GPL-3.0 开源协议,具备 6 个自由度(手部 roll/pitch、颈部、腰部各 1 个),使用定制舵机支持关节角度回传;支持 USB 通信与画面显示,主控采用 STM32F405 微控制器。提供全套开发资料(原理图、PCB、固件、SDK),支持二次开发。

  • 适用场景:机器人爱好者 DIY、嵌入式运动控制学习、桌面智能设备开发。

11. smartknob:触觉反馈输入旋钮

  • 项目链接:https://github.com/scottbez1/smartknob

  • 核心定位:带 Wi-Fi 和蓝牙功能的 DIY 智能输入设备,主打软件可配置的触觉反馈体验。

  • 核心配置:搭载 ESP32-PICO-V3-02 无线模块,配备 1.28 英寸 240x240 圆形 LCD 显示屏、BLDC 万向节电机(带空心轴)、VEML7700 环境光传感器。通过磁性编码器实现闭环扭矩反馈控制,支持按压检测与触觉反馈,旋钮周围配有 8 个 RGB LED。

  • 适用场景:工业控制旋钮改造、多媒体设备控制、嵌入式人机交互设计练习。


12. Daytripper:激光触发桌面保护工具

  • 项目链接:https://github.com/dekuNukem/daytripper

  • 核心定位:俗称 “上班摸鱼神器”,通过激光检测实现桌面内容快速保护的趣味嵌入式设备。

  • 核心功能:由发射器(TX)和接收器(RX)组成,发射器部署在需要监测的路径上,接收器连接电脑。当激光被遮挡时,接收器可自动执行隐藏所有窗口(Win+M)、锁定电脑(Win+L)或自定义脚本,反应迅速。

  • 核心参数:激光检测距离可达 1.2 米,无线通信距离最大 100 米,发射器内置 120mAh 锂电池,续航约 50 小时,支持 USB-C 充电。

  • 适用场景:趣味嵌入式项目实践、短距离人体感应应用开发、个性化桌面工具制作。

这12 个嵌入式开源项目各具特色,覆盖了从基础工具库、学习教程到创意智能硬件的多个维度。无论是想要入门嵌入式开发的新手,还是寻求特定功能模块的资深开发者,都能从中找到合适的资源。GitHub、Gitee 等平台上还有更多优质嵌入式开源项目等待探索,合理利用这些开源资源,既能节省开发时间,也能快速提升技术能力。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/1131996.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

使用aop切面springmvc后抛出异常一直捕捉不到异常(抛出异常UndeclaredThrowableException类)

WebLogControllerAop这是一个切面处理类,使用的Around处理切面,有异常必须抛出,不然全局异常捕捉不到的 package cn.geg.lifecycle.config;import cn.geg.lifecycle.util.WebLogUtils; import cn.hutool.core.collection.CollUtil; import cn…

在Azure中实现跨订阅的AMPLS自动链接策略

在Azure环境中,管理和自动化资源链接是提升运维效率和确保安全性的关键。特别是在处理不同订阅的资源时,如何高效地实现跨订阅的自动链接是一个常见的挑战。本文将通过一个实际的案例,详细介绍如何利用Azure Policy实现Application Insights与AMPLS(Azure Monitor Private …

Java Web Web足球青训俱乐部管理后台系统系统源码-SpringBoot2+Vue3+MyBatis-Plus+MySQL8.0【含文档】

摘要 足球青训俱乐部管理后台系统的开发旨在解决传统足球青训俱乐部在管理学员信息、课程安排、教练分配等方面效率低下的问题。随着足球运动的普及和青训体系的完善,俱乐部需要一套高效、智能化的管理系统来优化运营流程。传统的人工记录和Excel表格管理方式容易导…

Flask应用中的实例路径问题探讨

引言 在Flask应用程序开发中,实例路径(instance path)是一个经常被忽视但又非常关键的概念。特别是在部署和管理数据库时,如果不正确处理实例路径,可能会导致一系列难以诊断的问题。本文将通过一个真实的案例,详细探讨Flask实例路径的设置和其在生产环境中的影响。 实例…

上班是一场冷静的交易

将上班视作一场冷静的交易,这并非 cynicism,而是一种珍贵的清醒。它像一副坚固的甲胄,保护我们在职业的疆场上不被无谓的情绪流矢所伤,不被暧昧的期望绑架。我们付出标定好的时间、技能与专注,换取等值的报酬、经验与履…

【2025最新】基于SpringBoot+Vue的师生健康信息管理系统管理系统源码+MyBatis+MySQL

摘要 在当今信息化时代,校园健康管理已成为教育机构重点关注的方向之一。传统的师生健康信息管理多依赖纸质记录或分散的电子表格,存在数据冗余、更新滞后、查询效率低下等问题。随着互联网技术的快速发展,构建一个高效、安全、便捷的师生健康…

实时语音识别回声消除技巧

💓 博客主页:借口的CSDN主页 ⏩ 文章专栏:《热点资讯》 实时语音识别回声消除的实战技巧:突破传统局限目录实时语音识别回声消除的实战技巧:突破传统局限 引言:回声消除——语音识别的隐形守护者 现在时&am…

《斯图尔特微积分(下册)》什么时候出?带答案吗???

《斯图尔特微积分》上册中文版9月出版后,读者评价“讲解语言生动,带入生活实际,能够了解数学公式或定理在其他学科的应用。”“良好的阅读体验,美观的版面和由浅入深的内容。”评论和后台常有人私信下册什么时候出?答案…

解决Unity中按钮点击索引问题

在使用Unity开发游戏或应用时,经常会遇到需要为多个按钮动态添加点击事件并传递索引参数的情况。然而,这种操作在C#中可能会导致一些意想不到的问题。本文将通过一个实际例子,解释这些问题及其解决方案。 问题描述 假设我们有一个ScrollView组件,其内容包含多个Button对象…

python开发中虚拟环境配置

在Python开发中,虚拟环境是项目隔离的最佳实践。以下是详细的使用指南: 1. 为什么需要虚拟环境? 依赖隔离:不同项目可以使用不同版本的包避免冲突:防止系统Python环境被污染便于部署:可以精确导出项目依赖团…

【毕业设计】SpringBoot+Vue+MySQL 社区医院信息平台平台源码+数据库+论文+部署文档

摘要 随着信息技术的快速发展,传统社区医院管理模式逐渐暴露出效率低下、信息孤岛等问题。社区医院作为基层医疗服务的重要载体,亟需通过信息化手段优化业务流程,提升服务质量。当前,社区医院在患者档案管理、药品库存监控、预约挂…

Day32 >> 56、合并区间 + 738、单调递增的数字

代码随想录-贪心算法Part5 56、合并区间 class Solution {public int[][] merge(int[][] intervals) {List<int[]> result new LinkedList<>();Arrays.sort(intervals, (x, y) -> Integer.compare(x[0], y[0]));int start intervals[0][0];int end interva…

驾驶认知的本质:人类模式 vs 端到端自动驾驶

在讨论自动驾驶系统时&#xff0c;一个常见的误解是把“开车能力”等同于“驾驶智能”。事实上&#xff0c;人类驾驶与端到端自动驾驶之间的核心差异&#xff0c;并不在于动作精度或感知能力&#xff0c;而在于认知结构与任务管理模式。一、人类驾驶&#xff1a;动态任务管理的…

操作mysql常用python脚本,强到爆炸

1.导出数据库指定表的所有字段(含有字段注释)和数据导出结果如下#!/usr/bin/env python3 # -*- coding: utf-8 -*- """ MySQL数据导出工具 - 修复元组索引问题 """import pandas as pd import pymysql import openpyxl from openpyxl.utils impo…

Python倒计时:优雅的控制台输出

在编程的世界里,倒计时是一个常见的需求,尤其是在游戏、自动化脚本或展示程序中。然而,如何在控制台中优雅地实现一个倒计时效果却是一个有趣的挑战。本文将通过一个实际的例子,展示如何在Python中实现一个在同一行更新的倒计时效果。 问题描述 假设我们有一个简单的倒计…

Java SpringBoot+Vue3+MyBatis IT交流和分享平台系统源码|前后端分离+MySQL数据库

摘要 在信息化时代&#xff0c;IT技术交流与知识分享的需求日益增长&#xff0c;传统的线下交流模式已无法满足开发者和技术爱好者的需求。互联网技术的快速发展为在线交流平台的构建提供了技术基础&#xff0c;使得跨地域、实时互动的技术讨论成为可能。IT交流和分享平台旨在提…

SpringBoot+Vue 海滨体育馆管理系统管理平台源码【适合毕设/课设/学习】Java+MySQL

摘要 随着信息技术的快速发展&#xff0c;体育场馆管理逐渐向数字化、智能化转型。海滨体育馆作为区域性体育设施&#xff0c;面临场馆资源调度复杂、会员管理效率低、数据统计滞后等问题。传统的人工管理模式已无法满足现代体育场馆的高效运营需求&#xff0c;亟需一套集预约管…

数据读取瓶颈:设置PyTorch DataLoader这三个参数:num_workers / pin_memory / persistent_workers;以及如何正确它们保证程序正常运行

目录 一、num_workers&#xff1a;DataLoader 的“装配线工人数量” 它到底在干什么&#xff1f; 有 / 没有 num_workers&#xff0c;训练流程差在哪&#xff1f; 1️⃣ num_workers0&#xff08;最稳&#xff0c;但可能慢&#xff09; 2️⃣ num_workers > 0&#xff…

精通plotnine:仅为特定数据组添加误差条

在数据可视化过程中,误差条(error bars)是用来表示数据分布或测量误差的重要工具。使用Python的plotnine库,我们可以很容易地创建复杂的图表。然而,当我们只想对特定组的数据添加误差条时,可能会遇到一些挑战。本文将通过实例详细解释如何在plotnine中仅为特定数据组添加…

python 中 try / except 详解和各类异常介绍

目录 1&#xff09;最基本形态&#xff1a;try except 运行会输出什么&#xff1f; 2&#xff09;捕获“特定异常”&#xff1a;更推荐 3&#xff09;拿到异常对象&#xff1a;看错误信息 4&#xff09;多个 except&#xff1a;按顺序匹配 5&#xff09;except 可以一次…