110 Hands-On Embedded Linux Projects: From Beginner to High-Paying Driver Development

A 110-project embedded Linux checklist providing a complete path from basics to high-paying driver development.
This article introduces a curated list of 110 embedded Linux projects spanning foundational applications, advanced comprehensive systems, resume-worthy projects, audio/video development, domestic chip platforms (Rockchip/HiSilicon), and driver development. It emphasizes building engineering capability through independent project completion after mastering fundamentals, and recommends learners choose focused directions combined with domestic platform experience to boost employment competitiveness.
Overview: Why You Need an Embedded Linux Project Checklist
For embedded Linux learners, the biggest challenge often isn't a lack of foundational knowledge — it's not knowing what projects to build after completing the basics. Many students finish Linux fundamentals courses by educators like Wei Dongshan or Zhengdian Atom, yet still feel lost when facing real-world development.
Embedded Linux refers to the technology of trimming and porting the Linux operating system to run on embedded hardware platforms. Unlike desktop Linux, embedded Linux requires kernel customization, cross-compilation, and Board Support Package (BSP) development tailored to specific hardware. Wei Dongshan and Zhengdian Atom are two pillars of embedded Linux education in China — the former known for accessible driver development teaching, the latter for comprehensive development board tutorials. However, tutorial-based learning has its limitations: knowledge remains fragmented, and learners often master individual concepts without being able to connect them into complete engineering capabilities.
Recently, a Bilibili content creator shared a continuously updated list of embedded Linux projects, now totaling 110 entries. This checklist covers the full path from basic applications to advanced driver development, including foundational projects, intermediate projects, resume-worthy projects, audio/video projects, Raspberry Pi projects, Rockchip projects, driver projects, and more — providing clear practical guidance for learners at every stage.

Learning Path: Bridging Fundamentals to Projects
Defining the "Fundamentals" Stage
"Completing the basics" means you've systematically studied Linux application development, including C/C++ programming and Linux system programming. For example, if you can fully complete a comprehensive Linux application development course on Bilibili, you've demonstrated foundational application development capability.
Linux system programming is the bedrock of embedded development, covering process management (fork/exec/wait), thread programming (pthread library), inter-process communication (pipes, message queues, shared memory, semaphores), network programming (Socket TCP/UDP), file I/O (system calls and standard libraries), signal handling, and more. C is the primary language for embedded development, while C++ is increasingly used at the middleware and application framework level — especially in Qt GUI development and modern embedded applications. Only after mastering these fundamentals can developers independently build complete applications.
However, completing application development courses alone isn't enough. Database knowledge is essential, as most real-world projects involve data storage and management. Common embedded databases include SQLite (a lightweight relational database requiring no separate server process) and LevelDB (key-value storage). Mastering basic SQL operations and database design thinking is a prerequisite for project development.
Recommended Foundational Projects
Foundational projects include a Linux video player, an online dictionary, and similar applications. Many people might think these are "too simple," but in reality, most learners still can't complete them independently. The content creator particularly emphasized one point: don't let your ambitions exceed your abilities. An online dictionary may seem simple, but if you can develop it from scratch entirely on your own, that's when you've truly mastered basic development skills.
Take the online dictionary as an example — a complete implementation involves: client/server architecture design, Socket network communication, multi-threaded concurrent processing (supporting multiple simultaneous client queries), database query optimization, protocol design (custom application-layer protocol or HTTP), error handling, and logging systems. These seemingly basic technical elements, when combined, form an engineering project that truly tests comprehensive ability.
The key word is "independently" — not copying code along with a tutorial, but designing the architecture yourself, solving problems yourself, and completing debugging yourself.
Advanced Directions: Multiple Paths to High-Paying Positions
Advanced Comprehensive Projects
The flagship advanced project is a "Linux-based Smart Home System." These projects are important because they simultaneously involve application-layer and driver-layer development, making them truly comprehensive hands-on projects. The creator mentioned that many students have successfully secured internships based on experience with this type of project.
A Linux-based smart home system is a typical full-stack embedded project, typically comprising the following layers: hardware layer (temperature/humidity sensors, relays, ZigBee/WiFi communication modules), driver layer (GPIO drivers, I2C/SPI bus drivers, UART drivers), middleware layer (MQTT message broker, SQLite database, JSON parsing library), and application layer (business logic, lightweight web server, mobile app communication interface). The comprehensive nature of such projects is reflected in: writing low-level drivers to control hardware devices, implementing network communication protocols to interact with cloud services or mobile phones, and designing reasonable software architectures to ensure stable system operation. It serves as a litmus test for whether a developer possesses engineering-oriented thinking.
Additionally, network-related projects like RTSP servers also fall into the advanced category, involving network protocols, streaming media transmission, and other specialized technology stacks. RTSP (Real Time Streaming Protocol) is a network control protocol used to manage data transmission from streaming media servers. In the embedded domain, RTSP is widely used in IP cameras, video surveillance systems, and smart security devices. A complete RTSP server project involves RTP (Real-time Transport Protocol) packaging, RTCP (Real-time Transport Control Protocol) feedback, SDP (Session Description Protocol) negotiation, H.264/H.265 video encoding encapsulation, and more. Developers need to understand the layered architecture of network protocol stacks and how to achieve low-latency audio/video transmission on resource-constrained embedded platforms.
Resume Projects: Professional Directions for Employment
Resume projects are more closely aligned with actual enterprise needs, such as:
- 4K camera development on Rockchip platforms
- Camera client development
- Professional-grade audio/video processing
These projects feature higher technical complexity, are closer to productization, and can form clear technical highlights on a resume. Taking 4K camera development as an example, it involves MIPI CSI-2 interface protocol, V4L2 (Video4Linux2) video capture framework, hardware encoder invocation (H.265 encoding can compress 4K video to reasonable bitrates), image quality tuning, and other professional technologies — all of which are real technical requirements in enterprise product development.
Audio/Video Development Direction
Audio/video is a hot direction in the embedded field. The project list includes:
- Server-side audio/video processing
- RV1126 platform audio/video projects
- ISP tuning
- Audio/video streaming
- Codec development
ISP (Image Signal Processor) is the core module in camera systems, responsible for converting raw Bayer format data from CMOS sensors into human-viewable RGB/YUV images. ISP tuning (also called IQ Tuning) includes parameter optimization across dozens of modules: black level correction, lens shading compensation, demosaicing, white balance, Color Correction Matrix (CCM), Gamma correction, noise reduction (2D/3D NR), sharpening, HDR synthesis, and more. This is a high-barrier direction requiring both image processing theory and engineering practice experience. Demand is strong in security, automotive, and mobile phone sectors, with salary levels typically higher than regular embedded development positions.
Audio/video codec development involves hardware-accelerated calls to video encoding standards like H.264/H.265/AV1 and audio encoding standards like AAC/Opus. On embedded platforms, encoding/decoding is typically handled by the chip's built-in VPU (Video Processing Unit) hardware units. Developers need to master the multimedia middleware APIs provided by chip vendors to implement efficient codec pipelines.
This direction has significant technical depth, but the corresponding salary levels are quite impressive.
Domestic Chip Ecosystem: Rockchip and HiSilicon Platform Practice
China's embedded industry extensively adopts domestic solutions from HiSilicon, Rockchip, and others, particularly in the following areas:
- Humanoid robots
- Smart security
- Industrial vision
Rockchip is a leading domestic SoC chip design company. Its RK3568 and RK3588 chips are widely used in AIoT, smart displays, and edge computing. The RK3588 uses an 8nm process, integrates a big.LITTLE architecture with four A76 cores and four A55 cores, features a built-in 6 TOPS NPU, and supports 8K video decoding — representing the current pinnacle of domestic high-performance embedded chips. The RV1126 is Rockchip's chip specifically designed for intelligent vision, with a built-in 2 TOPS NPU (Neural Processing Unit) supporting AI inference acceleration, widely used in smart door locks, smart cameras, and similar products.
HiSilicon is Huawei's semiconductor subsidiary. Its Hi3516/Hi3519 series dominates the security surveillance field, providing a mature MPP (Media Process Platform) multimedia processing framework. Both platforms offer complete SDKs and development toolchains, including cross-compilers, flashing tools, and multimedia middleware.
Learners can purchase Rockchip development boards and complete projects such as internet applications, face recognition, and AI model deployment on these platforms. AI model deployment involves model conversion (converting PyTorch/TensorFlow models to NPU-supported RKNN/NNIE formats), quantization optimization (INT8 quantization to reduce model size and inference time), inference framework invocation, and more. This experience provides strong competitive advantages in job hunting, as enterprises are adopting these platforms at scale.
Driver Development: The High-Salary Track in Embedded Systems
Why Driver Development Commands Higher Salaries
Driver development is currently one of the most in-demand and highest-paying directions in the embedded industry. The reason is that driver development requires deep understanding of hardware principles, kernel mechanisms, and system architecture — the technical barrier is significantly higher than application-layer development.
Linux driver development follows the kernel's device model framework, primarily consisting of three categories: character device drivers, block device drivers, and network device drivers. Modern Linux kernels use Device Trees to describe hardware information and employ the Platform bus model to separate drivers from devices, allowing the same driver to adapt to different hardware platforms. Driver developers need to master kernel module programming (module_init/module_exit), interrupt handling (top-half fast response / bottom-half deferred processing mechanisms like tasklet and workqueue), DMA transfers (efficient data movement with minimal CPU involvement), memory mapping (ioremap to map physical addresses to kernel virtual address space), concurrency control (spinlocks for interrupt context / mutexes for process context), and other core technologies. The fundamental reason driver development pays well is that it requires developers to simultaneously understand hardware timing, kernel mechanisms, and user-space interfaces — it's the development field where software and hardware are most tightly coupled.
Recommended Driver Project Path
- Entry Level: Start with basic Linux driver projects such as LED drivers and button drivers — simple character device drivers that help you understand file_operations structures, device number registration, and user-space/kernel-space data exchange (copy_to_user/copy_from_user)
- Intermediate: Smart car infotainment system development, involving CAN bus drivers, display drivers (DRM/KMS framework), touchscreen drivers (Input subsystem), audio drivers (ALSA framework), and the coordination of multiple peripheral drivers
- Deep Dive: Complete Linux kernel porting tutorials, including U-Boot bootloader porting, kernel configuration and compilation, root filesystem construction (Buildroot/Yocto), and understanding the entire system boot process
- Specialized: Touchscreen drivers, display drivers, smart home driver-layer development
The driver section of the project list contains extensive hands-on content, from simple character device drivers to complex platform device drivers, forming a complete learning gradient.
Study Recommendations: How to Effectively Use This Project Checklist
- Identify your current stage: Honestly assess whether you've truly "completed the basics" before selecting projects at the appropriate difficulty level
- Emphasize independent development: Tutorials can provide reference ideas, but ultimately you need to be able to independently reproduce and even improve upon them
- Choose a focused direction: Audio/video, drivers, AI deployment, and other directions each have their own emphasis — it's recommended to pick 1-2 directions for deep exploration
- Leverage domestic platforms: Project experience with Rockchip, HiSilicon, and similar platforms is highly valued in China's job market
- Build a systematic portfolio: The combination of foundational + intermediate + resume projects demonstrates a complete technical growth trajectory in interviews
- Focus on code quality: Develop good coding habits during project practice, including code comments, Git version control, Makefile/CMake build systems, unit testing, and other engineering practices — these soft skills are equally valued in enterprise interviews
This checklist of 110 projects is essentially a growth roadmap for embedded Linux engineers. The key isn't completing every single project, but rather following a path that suits you and building solid hands-on experience at each stage.
Related articles
TutorialsCursor + Codex Dual-IDE Collaboration: A Practical Methodology for Open-Source Project Customization
A complete methodology for open-source project customization based on real-world experience, detailing the Cursor+Codex dual-IDE workflow, seven-stage process, MVP validation, and AI source code reading techniques.
TutorialsCursor Multi-Agent in Practice: Building a Full-Stack Next.js Blog in 50 Minutes
Build a full-stack blog in 50 minutes using Cursor IDE's multi-Agent mode with Next.js, Clerk auth, and Supabase. Learn the 4-phase AI Agent workflow and key integration pitfalls.
TutorialsBuilding an AI Software Factory from Scratch: A Cursor Engineer's Hands-On Experience with Multi-Agent Collaboration
Cursor engineer Eric shares practical insights on building an AI software factory: automation levels, guardrail design, parallel Agent management, and scaling to 1000+ Agents for 24/7 development.