嵌入式开源项目推荐
一、入门友好型(适合练手)
这些项目代码量不大,硬件要求低,很适合用来拆解、改动、理解嵌入式开发的流程。
- Arduino 官方示例合集地址:https://github.com/arduino/Arduino内容:LED、按键、传感器、显示器等基础例程优点:配套资料多,社区活跃适用硬件:Arduino UNO、Nano、ESP32
- PlatformIO Examples地址:https://github.com/platformio/platformio-examples内容:跨平台嵌入式示例工程(STM32、ESP32、Nordic 芯片等)优点:带编译配置,直接跑适用硬件:多种 MCU
- u8g2 / u8glib地址:https://github.com/olikraus/u8g2内容:驱动 OLED、LCD、VFD 等屏幕优点:学会它能轻松做 UI适用硬件:几乎所有 MCU
全网最全面的嵌入式八股文:https://www.nowcoder.com/creation/manager/columnDetail/mPZ4kk
二、进阶项目(外设+通信)
适合已经掌握基础 IO、通信协议的同学,通过项目学网络、数据处理等。
- ESPHome地址:https://github.com/esphome/esphome内容:ESP8266/ESP32 智能家居固件,支持 WiFi、传感器、MQTT优点:真实可用,代码结构清晰适用硬件:ESP8266 / ESP32
- OpenHAB ESP32地址:https://github.com/openhab/openhab-addons内容:物联网网关,与智能家居平台对接技能点:MQTT、HTTP、JSON、传感器驱动
- STM32 FreeRTOS Demo地址:https://github.com/FreeRTOS/FreeRTOS内容:多任务调度、消息队列、定时器等优点:适合学 RTOS 任务结构适用硬件:STM32、NXP、Nordic
三、高级项目(多外设+网络+应用逻辑)
适合想挑战复杂系统、提升工程能力的开发者。
- PX4 飞控地址:https://github.com/PX4/PX4-Autopilot内容:无人机飞控固件技能点:传感器融合、姿态解算、控制算法适用硬件:Pixhawk、STM32 系列
- Marlin 3D 打印机固件地址:https://github.com/MarlinFirmware/Marlin内容:步进电机控制、温控、G-code 解析技能点:运动控制、PID、文件系统
- Zephyr RTOS地址:https://github.com/zephyrproject-rtos/zephyr内容:支持多平台的实时操作系统技能点:RTOS 内核、驱动框架、网络协议栈适用硬件:ARM Cortex-M / RISC-V
四、创意小玩具(轻松+好玩)
适合周末做着玩,增加成就感。
- ESP32 GameBoy 模拟器地址:https://github.com/gnemoug/esp32-gameboy内容:在 ESP32 上跑 GameBoy 游戏技能点:图像刷新、按键扫描、存储管理
- LED Cube(3D 灯立方)地址:https://github.com/zhouxiaoyang/ledcube内容:3D LED 灯阵列技能点:多路复用、PWM、动画设计
- ESP32 WebRadio地址:https://github.com/Edzelf/ESP32-Radio内容:WiFi 网络收音机技能点:音频解码、网络流播放