Embedded Systems

Embedded Systems

Sep 1, 2019 · 2 min read
An embedded device designed, soldered, and programmed by myself

I am proficient in circuit layout and debugging, component selection and soldering, microcontroller programming, system compilation for microprocessors, driver development, and software development.

Circuit Layout Design

I am proficient in using EDA software like Altium Designer for designing 1-4 layer PCBs, as well as in subsequent PCB soldering and debugging. I have designed, fabricated, soldered, and tested a microcomputer based on the Allwinner Technology V3S microprocessor. The technical details are shown in the diagram below.

Circuit Design Schematic
Circuit Design Schematic

Four-Layer PCB Layout Results
Four-Layer PCB Layout Results

3D Visualization Rendering
3D Visualization Rendering

Dynamic Showcase

Microprocessors Development

As one of the most commonly used controllers for edge computing, MPUs provide high computational power while maintaining low energy consumption. During my undergraduate and graduate studies, I frequently worked with ARM-based embedded devices, such as NVIDIA Jetson and Raspberry Pi, and I have gained proficiency in writing both application and driver programs. I am also capable of quickly deploying deep learning algorithms on embedded systems.

Application Development

I am proficient in developing conventional applications and have a basic understanding of CUDA programming (with the ability to dive deeper if necessary). I am familiar with Make, CMake, Shell scripting, and cross-compilation, enabling me to quickly address common algorithm porting issues. Additionally, I am skilled in using network protocols such as TCP, UDP, and HTTP for communication with data acquisition devices or monitoring hosts.

Driver Development and System Compilation

I am proficient in utilizing hardware resources such as TIMER, ADC, and DMA, as well as communication protocols like I2C and SPI to communicate with external devices. My understanding of MCU internals allows me to take a more comprehensive approach when selecting devices and peripherals, and enables me to quickly address common hardware issues.

Here are some of the competitions I’ve participated in that relate to this skill!