Embedded Software · Embedded Linux · Engineering Review

Embedded Personal Engineering Practice

I am Xiong Xiao, an Internet of Things undergraduate at Chongqing University of Science and Technology. My job direction is embedded software development and embedded Linux development. My projects cover low-level drivers, communication stability, Linux multithreaded applications, hardware-software debugging, and also extend to AI Agent Tools, data-processing pipelines, and engineering utilities. This site records how I locate problems, verify solutions, and turn ideas into runnable systems.

STM32 / GD32 Embedded Linux Drivers & Communication AI Agent Tools
6 Portfolio Projects
1 CATARC Internship
16 Awards and IP Results

Capability Path

Three Engineering Entries

Real problems: locate, verify, deliver, review.

01

Drivers & Communication

From STM32WLE interface drivers, FatFS storage, RTC timestamps, and one-wire acquisition to instrument-based debugging.

View Resume →
02

Linux Concurrency

Embedded Linux threading, blocking AI request isolation, Framebuffer display, and network fallback paths for avoiding system freeze.

Browse Projects →
03

Engineering Review

Writing projects as reusable technical records: context, diagnosis, verification, results, and methods that can transfer to the next system.

Read Blog →

Featured Projects

Representative Projects

All Projects

CATARC Multi-Interface Embedded Development and Debugging

Problem:When several communication interfaces and acquisition paths were developed in parallel, driver reuse was weak and application symptoms could hide lower-level interface faults.

Technical Action:Separated HAL, BSP, and App layers, wrapped I2C, UART, SPI, RS485, one-wire, and storage modules, then used logic-analyzer and oscilloscope traces to locate level-matching errors.

Outcome:Improved code reuse by more than 50%, and the debugging notes plus compatibility recommendations were absorbed into the team interface standard.

STM32WLECFatFSRTCDriver Debugging
Read Technical Review →

Smart Life Emotional Companion System

Problem:AI requests, audio playback, sensor sampling, and display refresh shared limited system resources, so one blocking call could become whole-system lag.

Technical Action:Split sampling, interaction, and rendering with pthread, integrated ALSA, OpenSSL, and MPlayer by cross-compilation, and designed a network-failure fallback path.

Outcome:Decoupled AI interaction from environment sampling, keeping local sampling, safety alerts, and basic feedback available during unstable network conditions.

LinuxGEC6818pthreadFramebufferDeepSeek API
Read Technical Review →

3D Machine Vision Chinese Chess Robot

Problem:Vision recognition results could not directly drive the robotic arm because image coordinates, board coordinates, and motion coordinates carried different error sources.

Technical Action:Connected YOLOv5 detection, nine-point board calibration, Alpha-Beta search, and PWM robotic-arm control, then added error compensation across the execution loop.

Outcome:Reached +/-0.5 mm repeat positioning accuracy and inference response within 300 ms; the project received national innovation-program approval and an invention patent.

YOLOv5Alpha-BetaPWMRobotic ArmInnovation Project
Read Technical Review →

Data Knowledge Insight Demo

Problem:Raw CSV files and medical text are hard to query, analyze, and reuse directly as knowledge assets.

Technical Action:Created an end-to-end pipeline for data cleaning, text chunking, entity-relation extraction, knowledge graph output, KGQA, statistical analysis, NL2SQL evaluation, and FastAPI interfaces.

Outcome:Generated cleaned data, medical knowledge graph files in JSON/GraphML/HTML, QA examples, analysis reports, charts, and an API demo.

PythonFastAPIKnowledge GraphAgentData AnalysisNL2SQL
View GitHub Repository →

Latest Notes

Latest Blog Posts

Open Blog

How Multithreading Helped Avoid System Freeze in an Embedded Linux Project

A review of concurrency decomposition in an embedded Linux multimodal system: to avoid blocking AI requests and UI lag, I isolated sampling, interaction, and display paths.

Embedded LinuxpthreadConcurrencySystem Debugging

How I Reworked the STM32WLE Communication Driver Layers

A review of multi-interface embedded development: to improve driver reuse and make communication errors traceable, I moved board capabilities into the BSP layer and verified hardware paths with instruments.

STM32WLEDriver LayeringCommunication DebuggingFatFS