Summary of Great Embedded Projects on GitHub (Updated to 50)

Welcome to seek career planning with me, a great self-investment ->One-on-one guidance for embedded software engineers

Introduction

For GitHub, students doing internet development may be more familiar, especially with technologies like frontend, backend, and Android development, GitHub is almost an essential tool for coding.
However, for embedded systems, due to its characteristics of hardware and software integration, the total number of projects and the level of attention are quite different. Yet, for individuals, there are still a plethora of reference materials available.
I have been working in the embedded field for nearly ten years since university, and I have collected many good resources on GitHub. I summarize them to keep a record and share them with those in need.

Continuously updated for reference! To prevent losing track later, please like and bookmark.

Main Content

Summaries are limited; here are only a few. After knowing the direction, you can search on GitHub. I recommend an article; learning the method is key.
Examples of precise search techniques on GitHub
Here are some embedded websites I have collected, which are actually more useful than just individual projects.
What websites do embedded systems experts usually browse?

Embedded projects worth bookmarking:

1. Awesome-IoT-Resources
A wonderful collection of selected IoT resources (books, tutorials, blogs, podcasts), with a vast amount of resources and many well-known embedded project URLs for direct access, highly recommended.
https://github.com/theepiccode/Awesome-IoT-Resources
2. Sharing of classic embedded books, maintained by Zhihu user @Ke Yan, includes mainly the book resources needed for learning in the embedded direction, highly recommended for those in need.
https://github.com/imKeYan/EmbedBooks
3. RT-Thread RT-Thread was born in 2006 as an open-source, neutral, community-developed IoT operating system. The operating system is actually the core of embedded development, so it’s worth studying more.
https://github.com/RT-Thread/rt-thread
4. CMSIS DAP upgrade version (DAPLink)Those who have used the Wildfire Electronics development board should know that previously everyone mostly used ST-link, while DAPLink is open-source in both hardware and software. There are also open-source projects on Lichuang EDA, and some students have even modified it into a wireless downloader, which is still a very practical open-source project.
https://github.com/ARMmbed/DAPLink
5. DreamSourceLab (Dream Source Technology) Logic Analyzer,I first encountered Dream Source Technology in my first year after graduation (2017), where I had a logic analyzer from them, very compact and exquisite, connecting it to 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 analyzer is open-source from FPGA source code, MCU firmware to Qt upper computer, and now they have many more products than I know.
https://github.com/DreamSourceLab
6. Arduino,This needs no further explanation; Arduino’s influence has transcended embedded systems. I have always believed Arduino is a very successful open-source hardware, allowing many who know nothing about technology to enjoy the joy of creativity. The rich open-source software and projects, along with stable hardware, make it an excellent learning platform.
https://github.com/arduino
7. Lua,Lua is something I used during projects in school; many students may be unfamiliar. You might wonder about the connection between Lua and embedded systems; Lua is a script language developed entirely in C, making it very compatible with C language projects. This compatibility makes it very useful in embedded development. For example, for parameters that need frequent changes, using C requires frequent compilation and downloading of firmware, which is clearly not suitable. Instead, Lua can be used for this part; just keep the interface for users to input changes and run directly.
For example, in a supermarket cash register that often needs to apply discounts, have you ever thought about how it is implemented?
https://github.com/lua/lua
8. ardupilot,Finally, we arrive at my old field; there are many open-source projects regarding drones on GitHub. Of course, this does not only apply to drones (from traditional aircraft, quadcopters, multicopters, 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 really worth referencing for students learning control or automation; these are all great resources.
https://github.com/ArduPilot/ardupilot
9. Avem,Since we are talking about drones, let me introduce another lightweight drone flight control project.
When I was in school, I worked on many quadcopters, but the materials were scattered. This Avem project is quite comprehensive, with the main control being STM32F103, very general and easy to understand, highly recommended for learning.
https://github.com/avem-labs/Avem
10. FreeModbus_Slave-Master-RTT-STM32,For students designing industrial control, Modbus should be quite familiar. During my first year at work, there was a branch project in the company that involved a meteorological monitoring platform using sensors that were all Modbus protocol, so I started using and learning it.
The project overview shared:
FreeModbus is an open-source Modbus protocol stack, but only the slave is open-source; the master source code requires payment. At the same time, I couldn’t find a good open-source Modbus master protocol stack online, so I developed 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 broad, Linux definitely has its place in it. Of course, Linux is not just an application for embedded systems; embedded developers can learn the essence of the Linux kernel for development.
Just like many books on Linux, you don’t need to start with the latest kernel; you can revert to older versions for easier learning.
https://github.com/torvalds/linuxgithub.com/torvalds/linux
12. MultiTimer is an extension module for software timers, allowing unlimited expansion of required timer tasks, replacing traditional flag checking methods, and managing program timing triggers in a more elegant and convenient way.
https://github.com/0x1abin/MultiTimer/blob/development/examples/test_linux.c
13. iobroker is an IoT integration platform focused on building automation, smart metering, environmental assistance, 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/ioBroker
14. sagemaker-defect-detection detects product defects through an end-to-end deep learning workflow for quality control in the manufacturing process. This solution accepts product images as input and identifies defect areas using bounding boxes. The application of machine vision detection in manufacturing product quality control is becoming increasingly widespread. With the rapid advancement of artificial intelligence technology and image processing technology, machine vision detection technology has gradually become an important quality control means in the manufacturing industry.
https://github.com/yuanzhongqiao/sagemaker-defect-detection
15. 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, fresh products.
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: Repository containing ROS drivers and utilities for Piksi RTK receiver devices.
  • xsens_mti_ros_node: ROS drivers for third-generation 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 common, flexible platform for robot research and development, allowing different types of robots to achieve autonomous actions 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 size motors. This driver provides advanced features such as silent and smooth motion, high-precision position control, and energy-saving functions, making it an ideal choice for various applications, including robotics, CNC machines, and 3D printers.
https://github.com/creapunk/CLN17
18. Daytripper is a fish-catching tool, divided into receiver and transmitter parts. The transmitter uses laser detection to check if an object passes by and notifies the receiver via wireless protocol, while the receiver can 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 displaying real-time location, and supports zooming
  • 3. Supports step counting
  • 4. Supports displaying latitude, longitude, and altitude
  • 5. Supports RTC automatic calibration based on GPS
  • 6. Supports recording tracks and exporting GPX format files
  • 7. Supports automatic data saving during power loss (JSON format)
  • 8. Four hours of battery life (continuous operation, always on display)
  • 9. Supports simulation on PC emulator for debugging without hardware (configured as Release x86)
  • 10. Supports displaying real-time tracks
https://github.com/FASTSHIFT/X-TRACK

20. FindMyCat

is a soft and hardware open-source pet tracker that works outdoors and indoors. The battery lasts for months (in Near Home mode, standby power consumption is 18uA, with a 350mA battery lasting 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 FarmBot web APP

https://github.com/FarmBot

22. Astrobee Robot

is a new type of zero-gravity robotic system designed to support space exploration missions. The Astrobee robot is developed through a collaboration between NASA and the École Polytechnique Fédérale de Lausanne (EPFL) and is mainly used for performing various tasks in microgravity environments.

The source code for the Astrobee robot software, including flight software running on the Astrobee robot, software simulators, and supporting tools, is mainly written in C++.

The project consists of three modules: 1. Propulsion module: Located on the sides of the robot, these teal modules are primarily responsible for moving and positioning the robot in space. They contain hydraulic-driven thrusters that generate thrust by expelling gas, enabling the robot to move autonomously in a microgravity environment. 2. Core module: Located in the middle of the robot, this yellow module is the heart of the robot, responsible for controlling and managing all functions. It contains processors, sensors, batteries, and other critical components for processing data from various sensors, making decisions, and controlling other modules to execute corresponding actions. 3. Sensor module: Besides the core module, the Astrobee robot is equipped with multiple sensors such as cameras, laser radars, 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 6-wheeled rover design, used by JPL to explore the surface of Mars. The open-source rover is entirely designed using consumer off-the-shelf (COTS) components. This project aims to provide educational and learning experiences for those interested in mechanical engineering, software, electronics, and robotics, and serves as an excellent research platform for rugged terrain. 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 efficiency.

Smart BMS is an open-source battery management system suitable for lithium batteries (Lifepo4, Li-ion, NCM, etc.).

Smart battery management systems need to have real-time monitoring, charge and discharge management, battery state estimation, fault diagnosis and warning, battery balancing management, temperature management, data collection and analysis, remote monitoring and control, battery performance prediction, and user interaction interface, among other functionalities. These functions work together to ensure the safe, stable, and efficient operation of batteries, extending battery lifespan and improving energy efficiency.

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

25. Smart Plant

Smart Plant aims to help gardeners monitor the health of plants. With an advanced sensor kit, Smart Plant can measure soil moisture, environmental light, air temperature, and air relative humidity. In addition to IoT functions, Smart Plant is also equipped with a 2.9-inch electronic paper display, making plant data clear at a glance.

Smart Plant is designed for high energy efficiency, with its ESP32 microcontroller featuring deep sleep functionality, allowing the battery to be used continuously for weeks. When charging is needed, 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 environmental 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) 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. A series of example application scenarios demonstrate the versatility of the prototype platform. Thus, OpenEarable provides a general, 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, which is also a well-known project in the open-source smart home field, suitable for personal DIY smart home device matching upper computer services. This is often the most troublesome part for many enthusiasts.

https://github.com/home-assistant

Independent official website address:

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, vans, trucks/trailers, agricultural equipment, fleets, containers, vessels, all-terrain vehicles, and personal vehicle tracking. Traccar has rich features including switchable satellite and street view maps, tracking motion trajectories, tracking trips, stop points, etc.

The backend service of Traccar is based on Java and can be used with any major SQL database system (such as MySQL). Setting up the Traccar server requires some basic Linux knowledge. The installation process is relatively simple, just follow the official tutorial. Once the server-side is running, users can monitor vehicle data in real-time and query historical data through the web interface.

Tests have shown that Traccar’s positioning accuracy is around 10 meters, which is quite good. In addition, Traccar also supports corresponding models of mobile phones or GPS locators, making it easy for users to choose according to their needs.

https://github.com/traccar/traccar

29. ZSWatch

ZSWatch is an open-source smart watch that includes 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 developed into a fully functional embedded OS. The platform now supports ARM, RISC-V, X86, Xtensa, and many other processor platforms, with native BLE protocol stack and complete Net protocol stack, including TCP/IP and application layer protocols, providing strong support for embedded application development.

https://github.com/jakkra/ZSWatch

30. iCupBox smart coaster

This smart coaster product is designed based on the GTD (Getting Things Done) time management concept, aiming to remind users to focus on work and timely drink water and take breaks, thereby improving work efficiency.

The project consists of a client APP and coaster firmware system:
  • Client APP, developed using QML, integrates GTD time management methods and communicates with the coaster firmware system to control its display content;
  • Coaster firmware system, using ESP8266 as the main control, integrates WIFI, Bluetooth, infrared transceiver, 0.96-inch OLED, DHT11 temperature and humidity module, lithium battery, and lithium battery charging module.

https://gitee.com/jiangtao008/iCupBox

31. Electronic ink screen IoT badge – badgy

This is an open-source DIY project based on ESP8266, developed in the Arduino IDE, suitable for beginners to learn. This project can display images, serve as a gaming screen, and can later be made into an electronic price tag or even DIY a weather assistant, depending on your creativity.
The project includes hardware schematics and software source code, highly recommended for learning.
https://github.com/sqfmi/badgy/tree/master

32. Open-source embedded operating system NuttX

NuttX is a real-time embedded operating system (RTOS) designed for microcontroller environments.
  • NuttX is designed to be very compact, suitable for microcontroller environments. At the same time, it has high scalability, ranging from 8-bit to 32-bit embedded systems, and even supports 64-bit environments.
  • As a real-time operating system, NuttX fully complies with POSIX standards, ensuring real-time performance, and it is fully open source.
  • After years of development and multiple version iterations, NuttX has gained market recognition for its rich features, stable performance, and high commercialization maturity.

Since 2017, Xiaomi has developed IoT products based on NuttX. With Xiaomi’s promotion, NuttX officially entered the Apache Foundation in 2019, renamed Apache NuttX. Xiaomi’s IoT embedded software platform – Xiaomi Vela, is built on the open-source embedded operating system NuttX. This means that learning this system will greatly help students who wish to pursue embedded development at Xiaomi in the future.

Official website: https://nuttx.apache.org/
GitHub: https://github.com/apache/nuttx

33. Microsoft’s open-source project: Devicescript

DeviceScript is an open-source project launched by Microsoft Research, aimed at extending the TypeScript language to micro IoT devices.

DeviceScript brings the developer experience of TypeScript to low-resource, microcontroller-based devices (like ESP32 and RP2040 hardware platforms). It is a subset of TypeScript that is compiled into custom VM bytecode that can run in very limited environments, allowing developers to leverage TypeScript’s strong typing and object-oriented features to develop IoT devices.

https://github.com/microsoft/devicescript

34. Ultra-mini robot Dimebots

As the title suggests, Dimebots are a series of autonomous and independent micro-robots that are small enough to fit on a coin and weigh less than a cent, making Dimebots one of the smallest robots in the world.

Thus, the project’s focus is on how to achieve the necessary functionality within such a small size, which is very relevant for many projects with size constraints, from material selection to programming implementation.

https://github.com/dimebots/dimebots

35. Open-source video surveillance software – zoneminder

ZoneMinder is an integrated and comprehensive video surveillance solution designed for Linux systems. It can capture, analyze, record, and monitor any CCTV or security camera signals connected to Linux machines. The software is compatible with Linux distributions that support the Video For Linux (V4L) interface and has been successfully tested with cameras connected to BTTV cards, various USB cameras, and most IP network cameras.

As a free and open-source video surveillance software, ZoneMinder is developed specifically for Linux systems, supporting IP cameras, USB cameras, and analog cameras, and provides a convenient web interface for users to monitor in real-time. The software was inspired by an unfortunate incident where the author’s garage was robbed, prompting him to design a monitoring security system.

ZoneMinder utilizes Linux servers, PHP, MySQL databases, and multiple cameras to provide users with a powerful monitoring platform. Users can easily monitor important places through the web interface and receive timely email or SMS notifications in case of abnormal events.

PS: The birth of ZoneMinder stems from an unfortunate event – the author’s garage was robbed. This experience inspired him to design a monitoring security system aimed at protecting important places through technology. Thus, ZoneMinder was born, becoming a powerful and easy-to-use video surveillance software.

GitHub: https://github.com/ZoneMinder/zoneminder

Documentation: https://zoneminder.readthedocs.org

36. Open-source IoT platform – thingsboard

ThingsBoard is an open-source IoT platform based on Java, designed for rapid development, management, and scaling of IoT projects.

Application scenarios:

Smart home: Manage and monitor home sensors and devices through ThingsBoard.

Industrial IoT: Monitor and optimize industrial equipment and processes.

Smart city: Monitor and manage urban infrastructure, such as traffic, lighting, and environmental sensors.

GitHub: https://github.com/thingsboard/thingsboard

37. Build your own STM32G4 oscilloscope – black_scope

This is an open-source oscilloscope project based on STM32 that I saw at Jialichuang, which is an idea I have always wanted to do but haven’t had time for. I will try to replicate it when I find time; it’s a very good learning project for STM32.

Introduction: https://www.eetree.cn/project/2612

Official website: https://hackaday.io/project/192234-stm32g4-scope

GitHub: https://github.com/jgpeiro/black_scope

38. Open-source smart health wearable – healthypi move

HealthyPi Move is an open-source hardware device that allows you to track all vital signs with high accuracy. However, it is not just a smart watch equipped with a heart rate monitor. It is a comprehensive wrist-worn vital sign monitoring and recording device that can measure ECG, photoplethysmography (PPG), blood oxygen saturation (SpO₂), finger-measured blood pressure, skin electrical activity/skin conductance response (EDA/GSR), heart rate variability (HRV), respiratory rate, and even temperature.

GitHub:

https://github.com/Protocentral/healthypi-move-hw

https://github.com/Protocentral/healthypi-move-fw

https://github.com/Protocentral/protocentral_openview2

39. AI car based on ESP32-CAM

ESP32-CAM is a microcontroller module integrated with Wi-Fi and Bluetooth functions, also specifically equipped with a camera interface, making it an ideal choice for building smart robots. In this project, I will demonstrate how to use the ESP32-CAM module to build a simple AI robot. This robot can transmit video streams in real-time to Android devices and perform AI task processing on Android devices.

The highlight of this project is the integration of AI recognition in the smart car, making it very friendly for students looking to innovate for entrepreneurship competitions. It has innovative points and combines skills related to traditional smart car control, highly recommended for learning.

Open-source address:

https://github.com/longpth/ESP32CamAI

40. An ultra-cool geek watch based on ESP32

Let’s start with a picture, a very geeky and hardcore DIY watch. I personally love this kind of hardware product, which can achieve as many functions as possible within limited space, testing overall skills.

However, I would not recommend replicating this project; the cost will be high and the difficulty quite significant. Instead, everyone can learn about the project process and refer to the design ideas.

Original address:

https://www.roboticworx.io/p/build-the-ultimate-smartwatch-lidar

Source code address:

https://github.com/RoboticWorx/Gateway-Smartwatch/tree/main

41. Build an IoT demo from scratch – soft-and-hard

This project addresses issues the author encountered while working on their graduation project. Students in electrical or electronic majors often focus only on or are familiar with one part of the entire IoT development process. The author provides a vivid example.
An IoT project is illustrated as follows, from left to right, which includes hardware sensors for data collection, hardware main control chip (corresponding to STM32), communication module for data transmission (corresponding to WIFI chip ESP8266), cloud server for data storage and access requests, and a visualization interface (i.e., a webpage display) for presenting the data.

Thus, the tutorial’s focus is on linking the entire chain from hardware to server. The author recorded a video and tutorial, published on Bilibili and GitHub, which is very practical and creative for those wanting to enter the IoT field.

Official introduction:
https://www.scaugreen.cn/posts/44755/
Bilibili video address:
https://www.bilibili.com/video/BV16L411n7Pi?share_source=copy_web
GitHub project address:
https://github.com/alwxkxk/soft-and-hard?tab=readme-ov-file

42. QuarkTS – Small Embedded Operating System

QuarkTS is written specifically for embedded developers, targeting scenarios where required features exceed those provided by existing RTOS task schedulers, but want to avoid the space and complexity of a full RTOS while retaining the powerful and safe applications of RTOS.

I have always advocated for operating systems, as they can be said to be the most meaningful projects in software learning, allowing for a deep understanding of project operation mechanisms. I have learned a lot about FreeRTOS and Linux, which is very helpful for learning or understanding new operating systems.

Main application directions:

The design goal of QuarkTS is to achieve its described functionality using a small, simple, and (most importantly) powerful implementation, making it suitable for resource-constrained microcontrollers, where fully preemptive RTOS is excessive, and their inclusion adds unnecessary complexity to firmware development. Additionally, with support for state machines, cooperative routines, time control, and inter-task communication primitives, QuarkTS provides a modern environment for building stable and predictable event-driven multitasking embedded software. Their modularity and reliability make this operating system an excellent choice for efficiently developing various applications in low-cost devices, including automotive control, monitoring, and IoT.

Official documentation:

https://kmilo17pet.github.io/QuarkTS/

GitHub address:

https://github.com/kmilo17pet/QuarkTS?tab=readme-ov-file

43. FabGL – Graphics Library for ESP32

This project is a graphics library implemented by the author for ESP32, specifically designed for ESP32 development. It provides various display drivers, input controllers, and other useful features, making it easier and more convenient to develop graphical applications on ESP32, allowing ESP32 development boards to support image output to VGA displays and support mouse and keyboard, transforming ESP32 development boards into mini-computers.

FabGL also supports PS/2 keyboards and mice as input devices. This allows users to interact with the ESP32 through keyboards and mice, enabling more application scenarios.

The entire project is quite complex; everyone can focus on learning the author’s software ideas and design patterns.

GitHub address:

https://github.com/fdivitto/FabGL?tab=readme-ov-file

44. ExpressLRS – Open-source radio for radio control applications

ExpressLRS is an open-source radio communication technology specifically designed for radio control applications, such as for drones (FPV racing) and others. It combines Semtech’s SX127x or SX1280 LoRa hardware with Espressif or STM32 processors, utilizing LoRa modulation technology and reducing packet sizes to achieve excellent communication range and ultra-low latency. It employs a specially optimized wireless packet structure to achieve this, ensuring both communication range and reduced latency. ExpressLRS supports 900 MHz and 2.4 GHz communication links, each with its advantages. Among them, the 900 MHz link can achieve a maximum packet sending rate of 200 Hz and has stronger signal penetration, making it more suitable for use in certain environments.

Highly recommended for students preparing for graduation projects or those doing their own projects, as it highlights a technical point.

Open-source address:

https://github.com/ExpressLRS/ExpressLRS

A usage case link:

https://blog.csdn.net/lida2003/article/details/126260136

45. escrcpy – Display and control Android devices via GUI

This project serves the same purpose as the title suggests, allowing the use of a webpage to control Android devices. Escrcpy utilizes open-source technologies such as Scrcpy, adbkit, Electron, Vue, and Gnirehtet. It employs synchronization technology to connect to devices quickly and efficiently. Escrcpy also provides customizable configurations, multi-device support, and automatic connection features.

I think of an application point where this can be used to remotely control industrial control devices or other Android devices. This can be referenced for many graduation projects or those with such needs.

Moreover, Electron is a great tool for quickly building platforms, which can replace QT in some fields; highly recommended for learning.

Open-source address:

https://github.com/viarotel-org/escrcpy

Documentation address:

https://github.com/viarotel-org/escrcpy/blob/main/README-CN.md

46. Raspberry Pi Pico 200Khz Digital Oscilloscope – An oscilloscope project based on Raspberry Pi pico

When I was in university, I did a similar project based on STM32, using external hardware for measurement, leveraging the display and computational power of the phone to create a simple oscilloscope, and I remember winning an award at the Huawei Cup.

This project is based on pico, more innovative, highly recommended for learning.

Learning link:

https://www.instructables.com/Raspberry-Pi-Pico-200Khz-Digital-Oscilloscope/

Firmware and code address:

https://drive.google.com/file/d/1MyzIdmDzdpmcEGTyDlmEuSUjGVFN33P0/view?pli=1

App download link:

https://play.google.com/store/apps/details?id=xyz.fhdm.scoppy&pli=1

47. TinnySTL

TinnySTL is a lightweight C++ STL implementation consisting of a series of header files that can be easily embedded into your projects. This project covers many basic STL components, such as vector, list, map, etc., which are re-implemented based on the STL standard, helping you better understand the implementation principles of STL.

https://github.com/zouxiaohang/TinySTL

48. Snake

Snake is an implementation of the snake game, written in C++. This project can help you learn basic C++ syntax and object-oriented programming concepts. The code structure is clear and simple, easy to understand and modify.

https://github.com/heyuhhh/Snake

49. BilibiliLiveRecorder

BilibiliLiveRecorder is a tool for recording B station live broadcasts, written in C++. This project can help you learn how to use C++ for network programming, multithreading, and streaming media technology. The code is simple and easy to understand, suitable for beginners to practice.

https://github.com/floatinghotpot/BilibiliLiveRecorder

50. Tetris

Tetris is an implementation of the Russian puzzle game, written in C++. This project can help you learn basic C++ syntax, graphical interface programming, and game programming concepts. The code is simple and easy to understand, suitable for beginners to practice.

https://github.com/maburix/Tetris

To be continued, continuously updated!

To prevent losing track later, please like and bookmark!

Welcome to seek career planning with me, a great self-investment ->One-on-one guidance for embedded software engineers

My other account, specifically updating embedded directionCareer planning/Employment information/Job information/Internal recommendation information, highly recommended for students or friends with employment needs in the embedded direction to follow!

Leave a Comment

×