Cross-Platform Named @CodeAllen EmbeddedFor one-on-one consulting services, please reply with “Consultation” in the background.
Introduction
For GitHub, those involved in internet development, especially in front-end, back-end, and Android development, are likely more familiar with it. GitHub is almost an essential tool for coding.However, for embedded systems, due to the integration of hardware and software, the total number of projects and their visibility are significantly lower. Nevertheless, there is still a wealth of reference materials available for individuals.Having worked in the embedded field for nearly ten years since college, I have collected many valuable resources on GitHub. I summarize and document them here to share with those who may need them.
Continuously updated for reference! Save this for future access!
Main Content
Summaries are inherently limited, and I have only included a portion here. After understanding the direction, you can search on GitHub yourself. I recommend an article that teaches you the methods, which is the key to learning.73 Advanced GitHub Search Techniques – GitHub Search Techniques – Blog by Zhi Zhang on CSDNhttps://blog.csdn.net/PaperJack/article/details/118543980Additionally, here are some embedded websites I have bookmarked, which are often more useful than just individual projects.What websites do embedded systems experts usually browse?https://zhuanlan.zhihu.com/p/571176468
Notable Embedded Projects Worth Bookmarking:
1. Awesome-IoT-Resources is a curated collection of outstanding IoT resources (books, tutorials, blogs, podcasts), featuring a vast array of materials and links to many well-known embedded projects. Highly recommended. https://github.com/theepiccode/Awesome-IoT-Resources2. Classic Embedded Books Sharing, maintained by Zhihu user @Ke Yan, includes essential books for learning in the embedded field. Highly recommended for those in need. https://github.com/imKeYan/EmbedBooks3. RT-Thread is an IoT operating system that was born in 2006, developed in an open-source, neutral, and community-driven manner. The operating system is the core of embedded development, so it is worth studying further. https://github.com/RT-Thread/rt-thread4. CMSIS DAP Upgrade (DAPLink)Those who have used Wildfire Electronics development boards should be familiar with this. Previously, most people used ST-link, but 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, making it a very practical open-source project. https://github.com/ARMmbed/DAPLink5. DreamSourceLab Logic Analyzer,I first encountered DreamSource Technology in my first year after graduation (2017). The company had one of their logic analyzers, which was compact and exquisite. Plugging it into a computer turned it into a screen, which was quite impactful for me at the time, and I have been following them ever since.Their logic analyzers, from FPGA source code, MCU firmware to Qt upper computer, are all open-source, and they now have many more products than I was aware of. https://github.com/DreamSourceLab6. Arduino,needs no introduction. 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. Its rich open-source software and projects, along with stable hardware, provide an excellent learning platform. https://github.com/arduino7. Lua,is a scripting language developed entirely in C, which many may find unfamiliar. You might wonder about the relationship between Lua and embedded systems. Lua’s compatibility with C projects is excellent, making it very useful in embedded development. For example, for parameters that need frequent changes, using C requires constant recompilation and downloading of firmware, which is clearly impractical. Instead, Lua can be used, allowing users to input changes directly and run them. For instance, consider a supermarket cash register that frequently needs to apply discounts; have you ever wondered how that is implemented? https://github.com/lua/lua8. ArduPilot,now we arrive at my area of expertise. There are many open-source projects related to drones on GitHub, which are not limited 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 students interested in control or automation. https://github.com/ArduPilot/ardupilot9. Avem,continuing from the previous point, since we are discussing drones, I will introduce a lightweight drone flight control project. I worked on many quadcopters during my school years, but the materials were scattered. The Avem project is quite comprehensive, with the main control being STM32F103, which is very common and easy to understand, making it highly recommended for learning. https://github.com/avem-labs/Avem10. FreeModbus_Slave-Master-RTT-STM32,for those designing industrial control systems, you should be familiar with Modbus. In my first year of work, my company had a side project for a weather monitoring platform that used sensors based on the Modbus protocol, so I started learning it. The shared project overview: FreeModbus is an open-source Modbus protocol stack, but only the slave source code is open-source; the master source code requires a fee. There are no good open-source Modbus master protocol stacks available online, which led to the development of this FreeModbus protocol stack that supports master mode. https://github.com/armink/FreeModbus_Slave-Master-RTT-STM3211. Linux,maintained by Linus Torvalds, is a project that, while embedded systems cover a wide range, Linux undoubtedly holds a significant place within it. Of course, Linux is not limited to embedded applications; embedded developers can learn the essence of the Linux kernel for their development. Just like many books on Linux suggest, you don’t have to start with the latest kernel; going back to older versions can make learning easier. https://github.com/torvalds/linux12. MultiTimer is a software timer extension module that can infinitely expand the timer tasks you need, replacing the traditional flag-checking method, allowing for more elegant and convenient management of time-triggered sequences in programs. https://github.com/0x1abin/MultiTimer/blob/development/examples/test_linux.c13. iobroker is an IoT integration platform focused on applications in building automation, smart metering, environmental assisted living, process automation, data visualization, and data logging. 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 businesses. https://github.com/ioBroker/ioBroker14. sagemaker-defect-detection detects product defects through an end-to-end deep learning workflow for quality control in manufacturing processes. 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 techniques, machine vision detection technology is gradually becoming an important quality control method in manufacturing. https://github.com/yuanzhongqiao/sagemaker-defect-detection15. earth rover is a company focused on agricultural technology, attempting to revolutionize one of the oldest industries. They utilize deep learning, artificial intelligence, and innovative robotics technology to produce affordable, chemical-free, and fresh products. Open-source smart agricultural robots.
- Earth_rover_localization: ROS package for configuring the robots_localization package’s EKF. Using GPS Piksi Multi and IMU MTi-3 AHRS for sensor fusion.
- piksi_multi_rtk: 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/earthrover16. ROS (Robot Operating System) is a free, open-source software framework for robot development. It aims to provide a common, flexible platform for robot research and development, enabling different types of robots to operate autonomously in various environments. ROS is developed and maintained by multiple universities and organizations worldwide. https://github.com/ros17. CLN17 motor driver is an open-source, compact, high-performance closed-loop stepper motor driver designed for NEMA17 size motors. This driver offers advanced features such as silent and smooth motion, high-precision position control, and energy-saving capabilities, making it ideal for various applications, including robotics, CNC machines, and 3D printers. https://github.com/creapunk/CLN1718. Daytripper is a productivity tool that consists of a receiver and transmitter. The transmitter uses laser detection to check for passing objects and notifies the receiver via wireless protocol, while the receiver can switch to the desktop based on settings! https://github.com/dekuNukem/daytripper
- 1. Supports speed, distance, time, calories, and heading display.
- 2. Features offline maps, supports real-time location display, and zooming.
- 3. Supports step counting.
- 4. Displays latitude, longitude, and altitude.
- 5. Supports RTC auto-calibration based on GPS.
- 6. Supports trajectory recording and can export GPX format files.
- 7. Supports automatic data saving on power loss (JSON format files).
- 8. Four hours of battery life (continuous operation, always on screen).
- 9. Supports simulation on PC emulator for debugging without hardware (configured as Release x86).
- 10. Supports real-time trajectory display.
https://github.com/FASTSHIFT/X-TRACK
END
Recommended Reading:One-on-One Guidance for Embedded Software EngineersJob Application Plan for Fresh Graduates / Summary of Application Channels / Recruitment ProcessARM + Embedded Linux Learning PathFrom Beginner to Expert in Embedded MicrocontrollersWhat websites do embedded systems experts usually browse?What are some good companies in the embedded industry?
For private WeChat, please be sure to note “Public Account Fan“

Long pressto recognize the QR codeto add friends