Monday, December 29, 2025
View ProjectThis software engineering project focuses on deep hardware-level programming, featuring a high-efficiency, bare-metal Universal Asynchronous Receiver-Transmitter (UART) driver engineered specifically for the Texas Instruments MSP430FR6989 microcontroller.
The goal of this project was to achieve reliable, low-latency serial communication by completely bypassing heavy Hardware Abstraction Layers (HALs) and operating systems. By directly manipulating the microcontroller's registers, the driver minimizes memory footprint and maximizes execution speed. Originally developed as a polling-based MVP, I successfully architected an upgrade to a fully asynchronous, interrupt-driven system.
Technical Implementation & Architecture I designed the driver to provide a clean hardware-software abstraction, separating the application logic from the low-level hardware implementation. The driver initializes the eUSCI_A (Enhanced Universal Serial Communication Interface) module through a strict, multi-step sequence, managing the internal state machine and configuring clock sources for precise baud rate generation.
Key engineering highlights include:
Tools & Environments
Results This project demonstrates a rigorous understanding of computer architecture, peripheral integration, and low-level C programming. The resulting driver provides highly stable, asynchronous serial communication that is lightweight enough to be dropped into any deeply embedded, resource-constrained environment.