Embedded Linux Project Portfolio
This document highlights a set of embedded Linux projects that demonstrate strong BSP, driver, networking, and
system-level expertise. These projects are designed to showcase problem-solving, debugging, performance
optimization, and integration skills — qualities that align with the expectations of companies such as Axon
Vietnam.
1. High-Performance DMA-based Data Transfer over PCIe
Problem: Need for high-throughput data transfer between PCIe endpoint (FPGA/SoC) and ARM CPU.
Approach: Developed a Linux PCIe endpoint driver with scatter-gather DMA and user-space mmap for zero-copy
transfers. Created a benchmarking app to measure throughput and latency.
Tech Stack: Linux Kernel Driver, PCIe, eDMA/SG-DMA, mmap, C, Bash
Results: Achieved 2.5 GB/s transfer throughput with reduced latency by 20%.
2. Custom Network Stack Optimization
Problem: System required a lightweight, high-performance TCP/UDP server for embedded applications.
Approach: Implemented a multithreaded echo server using epoll with zero-copy send/recv. Benchmarked against
netcat/iperf. Experimented with io_uring and AF_XDP for kernel-bypass networking.
Tech Stack: C, POSIX Sockets, epoll, io_uring, AF_XDP
Results: Throughput improved by 30% compared to standard netcat; achieved sub-millisecond latency.
3. Embedded Camera/Sensor-to-Network Pipeline
Problem: Integrate a hardware sensor/camera into an embedded Linux system and stream data over
Ethernet/WiFi.
Approach: Wrote I2C/SPI sensor driver, built a user-space pipeline in C++/Python, and transmitted data using
MQTT. Added simple data visualization on the server side.
Tech Stack: Linux Device Drivers, I2C/SPI, C++, Python, MQTT, Ethernet/WiFi
Results: Delivered a working prototype that streamed live sensor data to a dashboard.
4. Secure OTA Firmware Update System
Problem: Need for reliable and secure firmware update delivery over the air.
Approach: Designed a Linux update system using U-Boot and signed update images. Used HTTPS/MQTT for
distribution, and implemented rollback-on-failure mechanism.
Tech Stack: U-Boot, Linux, OpenSSL, HTTPS, MQTT, Bash
Results: Ensured secure and recoverable firmware updates with 100% rollback reliability.
5. Real-Time Multithreading Control System
Problem: System needed deterministic multithreaded execution for controlling sensors and actuators.
Approach: Implemented POSIX pthread-based control system with mutexes, semaphores, and shared memory
for IPC. Profiled CPU usage and applied RT scheduling.
Tech Stack: C, POSIX Threads, Mutex, Semaphore, Shared Memory, ftrace
Results: System achieved stable real-time response with bounded jitter.
6. Linux-based Network Monitoring Tool
Problem: Need to analyze network traffic on embedded Linux systems in real time.
Approach: Developed a kernel module hooking into Netfilter/eBPF to collect statistics and filter packets.
User-space app displayed live packet stats.
Tech Stack: Linux Kernel Module, Netfilter, eBPF, C, Python
Results: Provided real-time monitoring and filtering of TCP/UDP traffic with <5% CPU overhead.
7. Minimal IoT Gateway
Problem: IoT sensors required a gateway to forward data to a cloud server.
Approach: Configured Bluetooth (BlueZ) and WiFi, processed data locally, and forwarded via MQTT. Added
lightweight security with TLS.
Tech Stack: Linux, BlueZ, WiFi, MQTT, TLS, C, Python
Results: Successfully built a prototype gateway that securely relayed sensor data to the cloud.