Comprehensive Summary of Great Embedded Projects on GitHub (Updated to 29)

All-platform with the same name @CodeAllen Embedded
For one-on-one consulting services, please reply “Consultation” in the background
Comprehensive Summary of Great Embedded Projects on GitHub (Updated to 29)

Introduction

For GitHub, those engaged in internet development may be more familiar, especially in front-end, back-end, Android development, etc. GitHub is even considered an essential tool for coding.
However, for embedded systems, due to its integrated software and hardware characteristics, the total number of projects and attention is significantly less. Nevertheless, for individuals, there is still a wealth of reference material available.
I have been engaged in the embedded field for nearly ten years since college, and I have collected many great resources on GitHub. I summarize and record them to share with those who need them.

Continuously updated for reference! Save this in case you can’t find it later and give it a thumbs up!

Main Content

Summaries are inevitably limited, and here I only present part of it. After knowing the direction, you can search on GitHub. Here’s an article I recommend; learning the method is key.
73 GitHub Advanced Search Techniques_github search techniques_Blog of Zhizhang Senior-CSDN Blog
https://blog.csdn.net/PaperJack/article/details/118543980
There are also some embedded websites I have collected, which are actually more useful than just projects.
What websites do embedded system experts browse regularly?
https://zhuanlan.zhihu.com/p/571176468

Embedded Projects Worth Collecting:

1. Awesome-IoT-Resources
A fantastic collection of selected IoT resources (books, tutorials, blogs, podcasts), with a wealth of resources and many well-known embedded project URLs, highly recommended.
https://github.com/theepiccode/Awesome-IoT-Resources
2. Embedded Classic Books Sharing, maintained by Zhihu user @Keyan, contains mainly the book resources needed for learning embedded systems. Highly recommended for those who need them.
https://github.com/imKeYan/EmbedBooks
3. RT-Thread, born in 2006, is an open-source, neutral, community-developed IoT operating system. Operating systems are the core of embedded development, so it’s worth researching.
https://github.com/RT-Thread/rt-thread
4. CMSIS DAP Upgrade Version (DAPLink), those who have used Wildfire Electronics development boards should know this. Previously, most people used ST-link, while DAPLink is open-source in both hardware and software. There are also open-source projects on Lichuang EDA, and some have even modified it into a wireless downloader, which is very practical.
https://github.com/ARMmbed/DAPLink
5. DreamSourceLab Logic Analyzer, I first encountered DreamSource Technology in my first year after graduation (2017). The unit had their logic analyzer, which was compact and exquisite. Plugging in the transmission line turned the computer into a screen, which was quite impactful for me at that time, and I have been following them ever since.
Their logic analyzer, from FPGA source code, MCU firmware to Qt upper computer, is all open-source, and they now have many more products than I was aware of.
https://github.com/DreamSourceLab
6. Arduino, this needs no elaboration. The influence of Arduino has transcended embedded systems. I have always believed that Arduino is a very successful open-source hardware platform, allowing many who know little about technology to enjoy the joy of creativity. The rich open-source software and projects, along with stable hardware, provide an excellent learning platform.
https://github.com/arduino
7. Lua, I used Lua in my school projects, and many may be unfamiliar with it. You might wonder about the connection between Lua and embedded systems. Lua is a scripting language developed entirely in C, making it highly compatible with C projects. This is significant in embedded development, especially for parameters that need frequent changes. Using C requires frequent firmware recompilation and downloading, which is clearly impractical. For these parts, Lua can be used, allowing users to input changes directly and run them.
For example, consider a supermarket cash register that frequently needs to apply discounts. Have you thought about how this is implemented?
https://github.com/lua/lua
8. ardupilot, finally, we arrive at my area of expertise. There are many open-source projects about drones on GitHub, which do not only apply to drones (from traditional aircraft, quadcopters, multirotors, and helicopters to rovers, boats, balancing robots, and even submarines). Ardupilot is an open-source autopilot software project developed by a diverse team of professional engineers, computer scientists, and community contributors.
It is highly recommended for those interested in control or automation to refer to; these are all great resources.
https://github.com/ArduPilot/ardupilot
9. Avem, continuing from above, since we are discussing drones, let me introduce a lightweight drone flight control project.
I worked on many quadcopters during school, but the materials were quite scattered. The Avem project is quite comprehensive, using the stm32f103 as the main control, which is very common and easy to understand. I highly recommend it for learning.
https://github.com/avem-labs/Avem
10. FreeModbus_Slave-Master-RTT-STM32, for those designing industrial control systems, you should be familiar with Modbus. In my first year of work, the company had a branch project for a weather monitoring platform, using sensors that operated on the Modbus protocol, which led me to learn about it.
The project overview shared is as follows:
FreeModbus is an open-source Modbus protocol stack, but only the slave code is open-source; the master source code requires a fee. Additionally, I couldn’t find a good open-source Modbus master protocol stack online, which led to the development of this FreeModbus protocol stack that supports master mode.
https://github.com/armink/FreeModbus_Slave-Master-RTT-STM32github.com/armink/FreeModbus_Slave-Master-RTT-STM32
11. linux, this is a project maintained by Linus. Although embedded systems are very diverse, Linux undoubtedly holds a place in this field. Of course, Linux has applications beyond just embedded systems. For embedded developers, learning the essence of the Linux kernel can be beneficial in development.
Just like many books on Linux, it’s not necessary to start with the latest kernel; reverting to older versions can be easier for learning.
https://github.com/torvalds/linuxgithub.com/torvalds/linux
12. MultiTimer is a software timer extension module that can infinitely expand the timer tasks you need, replacing the traditional flag-checking method, allowing for a more elegant and convenient management of program timing triggers.
https://github.com/0x1abin/MultiTimer/blob/development/examples/test_linux.c
13. iobroker is an IoT integration platform focused on building automation, smart metering, assistive living, process automation, data visualization, and data logging applications. By connecting various devices and systems to a unified platform, iobroker aims to simplify building management and automation processes, improve quality of life, reduce energy consumption, and provide more efficient production processes for enterprises.
https://github.com/ioBroker/ioBroker
14. sagemaker-defect-detection detects product defects through an end-to-end deep learning workflow for quality control during the manufacturing process. This solution takes product images as input and identifies defect areas through bounding boxes. The application of machine vision detection in manufacturing product quality control is becoming increasingly widespread. With the rapid development of AI technology and image processing technology, machine vision detection technology is gradually becoming an important quality control method in manufacturing.
https://github.com/yuanzhongqiao/sagemaker-defect-detection
15. earth rover focuses on agricultural technology, attempting to revolutionize one of the oldest industries. They utilize deep learning, AI, and innovative robotics technology to produce affordable, chemical-free, fresh produce.
Open-source smart agricultural robots.
  • Earth_rover_localization: ROS package for configuring the robots_localization package’s EKF. Using GPS Piksy Multi and IMU MTi-3 AHRS for sensor fusion.
  • piksi_multi_rtk: A repository containing ROS drivers and utilities for the Piksi RTK receiver device.
  • xsens_mti_ros_node: ROS drivers for third and fourth generation Xsens IMU devices.
https://github.com/earthrover
16. ROS (Robot Operating System) is a free, open-source software framework for robot development. It aims to provide a universal and flexible platform for robot research and development, enabling different types of robots to act autonomously in various environments. ROS is developed and maintained by multiple universities and organizations worldwide.
https://github.com/ros
17. CLN17 motor driver is an open-source, compact, high-performance closed-loop stepper motor driver designed for NEMA17 form factor motors. This driver offers advanced features such as silent and smooth motion, high-precision position control, and energy-saving capabilities, making it an ideal choice for various applications, including robotics, CNC machines, and 3D printers.
https://github.com/creapunk/CLN17
18. Daytripper is a work sneaking tool divided into a receiver and transmitter. The transmitter uses lasers to detect the passage of objects and notifies the receiver via wireless protocol, allowing the receiver to switch to the desktop based on settings!
https://github.com/dekuNukem/daytripper
19. X-TRACK is an open-source cycling odometer.
  • 1. Supports speed, distance, time, calories, and heading display.
  • 2. Has offline maps, supports real-time location display, and zooming.
  • 3. Supports step counting.
  • 4. Supports latitude, longitude, and altitude display.
  • 5. Supports RTC auto-calibration based on GPS.
  • 6. Supports trajectory recording and can export GPX format files.
  • 7. Supports automatic data saving when powered off (JSON format file).
  • 8. Four hours of battery life (continuous operation, always on).
  • 9. Supports simulation in PC emulator, allowing debugging without hardware (configured as Release x86).
  • 10. Supports real-time trajectory display.
https://github.com/FASTSHIFT/X-TRACK

20. FindMyCat

is an open-source hardware and software pet tracker that works indoors and outdoors. The battery lasts for months (in Near Home mode, standby power consumption is 18uA, with a 350mAh battery that can last for 2 years).

https://github.com/FindMyCat/

21. FarmBot

The FarmBot project is a large open-source project that includes hardware (Arduino and RPi), FarmBot OS, and a FarmBot web app.

https://github.com/FarmBot

22. Astrobee Robot

is a new zero-gravity robot system designed to support space exploration missions. The Astrobee robot was developed in collaboration between NASA and the Swiss Federal Institute of Technology (EPFL) and is mainly used to perform various tasks in microgravity environments.

The source code for the Astrobee robot software, including the flight software running on the Astrobee robot, software simulator, and support tools, is primarily written in C++.

The robot consists of three main modules: 1. Propulsion Module: Located on the sides of the robot, these teal modules are responsible for the robot’s movement and positioning in space. They contain hydraulically driven thrusters that generate thrust by expelling gas, allowing the robot to move autonomously in a microgravity environment. 2. Core Module: The yellow module in the center of the robot is the heart of the robot, responsible for controlling and managing all of its functions. It contains processors, sensors, batteries, and other key components to process data from various sensors, make decisions, and control other modules to perform corresponding actions. 3. Sensor Module: Besides the core module, the Astrobee robot is equipped with multiple sensors, such as cameras, LiDAR, ultrasonic sensors, etc. These sensors are distributed around the robot to perceive the surrounding environment, assisting the robot in autonomous navigation and obstacle avoidance.

https://github.com/nasa/astrobee

23. open-source-rover

The JPL open-source rover is a scaled-down version of a six-wheeled rover design used by JPL to explore the surface of Mars. The open-source rover is entirely designed using commercial off-the-shelf (COTS) components. This project aims to provide educational and learning experiences for those interested in mechanical engineering, software, electronics, and robotics, while also serving as an excellent research platform for rugged terrains. No prior skills or knowledge are required.

https://github.com/nasa-jpl/open-source-rover

24. SmartBMS

The Smart Battery Management System (BMS) is crucial for ensuring battery safety, extending lifespan, and improving energy utilization. Smart BMS is an open-source battery management system suitable for lithium batteries (Lifepo4, Li-ion, NCM, etc.).

Smart BMS needs to have multifunctional capabilities such as real-time monitoring, charge and discharge management, battery status estimation, fault diagnosis and early warning, battery balancing management, temperature management, data collection and analysis, remote monitoring and control, battery performance prediction, and user interface. These functions collectively ensure the safe, stable, and efficient operation of the battery, extending its lifespan and improving energy utilization.

https://github.com/Green-bms/SmartBMS

25. Smart Plant

Smart Plant aims to help gardeners monitor the health of their plants. With an advanced sensor suite, Smart Plant can measure soil moisture, ambient light, air temperature, and relative humidity. In addition to IoT features, Smart Plant is equipped with a 2.9-inch e-paper display, providing clear visibility of plant data.

Smart Plant is designed for high energy efficiency, with its ESP32 microcontroller featuring deep sleep functionality, allowing the battery to last for weeks. When charging is necessary, Smart Plant can be charged using a USB-C cable or a small solar panel, making it an environmentally friendly choice for gardeners looking to minimize their impact.

https://github.com/JGAguado/Smart_Plant/

26. OpenEarable

OpenEarable is a brand new open-source Arduino platform (Arduino Nano 33 BLE Sense Nordic nRF52840) designed for ear-sensing applications.

It supports a range of sensors and actuators: 9-axis inertial measurement unit, ear canal pressure and temperature sensors, inward-facing ultrasonic microphones, as well as speakers, buttons, and controllable LEDs. Various example application scenarios showcase the versatility of this prototype platform. Therefore, OpenEarable provides a universal, open sensing platform for headphone development.

https://github.com/OpenEarable/open-earable

27. Home Assistant

Home Assistant is a feature-rich and flexible smart home automation platform, also known for its open-source smart home projects. It is suitable for personal DIY smart home device pairing with upper computer services, which is often the most challenging part for many enthusiasts.

https://github.com/home-assistant

Independent official website:

https://www.home-assistant.io/

28. traccar

Traccar is a free, open-source modern GPS tracking system that supports over 170 GPS protocols and more than 1500 models of GPS tracking devices. It is suitable for various scenarios, such as taxis, trucks, agricultural equipment, fleets, containers, ships, ATVs, and personal vehicle tracking. Traccar’s features are rich, including switchable satellite and street view maps, tracking motion trajectories, tracking trips, and stop points.

Traccar’s backend service is based on Java and can be used with any major SQL database system (like MySQL). Building the Traccar server requires some basic Linux knowledge. The installation process is relatively simple, just follow the official tutorial. Once the server is running, vehicle data can be monitored in real-time and historical data can be queried through the web interface.

Tests have shown that Traccar’s positioning accuracy is about 10 meters, which is quite good. Additionally, Traccar supports various models of mobile phones or GPS trackers, making it easy for users to choose based on their needs.

https://github.com/traccar/traccar

29. ZSWatch

ZSWatch is a fully open-source smart watch, including both hardware and software. Since ZSWatch is built on top of Zephyr RTOS, it is named ZSWatch-Zephyr Smartwatch.

Zephyr was originally developed by Wind River as a microkernel and became a project maintained by the Linux Foundation in 2016. It has since developed into a fully functional embedded OS. The platform now supports ARM, RISC-V, X86, Xtensa, etc., with a native BLE protocol stack, a complete Net protocol stack, including TCP/IP and application layer protocols, providing strong support for embedded application development.

https://github.com/jakkra/ZSWatch

To be continued, continuously updated! Save this in case you can’t find it later and give it a thumbs up!

END

Recommended Reading:
One-on-one guidance for embedded software engineers
Job application plan/Delivery channels/Recruitment process summary for fresh graduates
ARM + Embedded Linux learning roadmap
From beginner to expert: Learning about embedded microcontrollers
What websites do embedded system experts browse regularly?
What are some good companies in the embedded industry?

Private WeChat, please be sure to note “Official Account Fan

Comprehensive Summary of Great Embedded Projects on GitHub (Updated to 29)

Long pressto recognize the QR codeto add friends

Leave a Comment