Projects

  • Memory management for a FIFO Queue

    Memory management for a FIFO Queue

    In embedded systems, microcontrollers frequently communicate with other devices via various serial communication protocols, such as SPI, I2C, USB, UART, or even proprietary protocols tailored for specific systems. Should the data transfer bus encounter a stall, such as bus contention, the device must efficiently buffer the data in a FIFO queue while the system resolves Read more

  • Concurrent Programming – Locks

    Concurrent Programming – Locks

    This project was a part of my grad school homework, in which we were taught how to implement various resource-locking algorithms to protect shared memory resources in a concurrent programming environment. I have implemented total of 7 algorithms, namely: tas lock, ttas lock, ticket lock, mcs lock, peterson lock with sequential consistency, peterson lock with released consistency and sense reversal barrier. Apart from these Read more

  • Speed Control for Self-Driving Cars

    Speed Control for Self-Driving Cars

    Introduction In the modern era we are moving towards unmanned vehicles at a rapid speed. Self-driving cars have become one of the most exciting technologies over the past 3 years. These cars are automated and require less or no human intervention. Society of Automotive Engineers (SAE) have classified this automation into 6 levels. These are Read more

  • Digital Angle Gauge

    Digital Angle Gauge

    A digital angle gauge (digital protractor) is a measuring tool used to determine the angle or inclination of an object relative to a surface or a plane. This project is a prototype of such a digital protractor which provides precise digital readings using an accelerometer. The prototype is developed using NXP Freedom KL25Z board, which Read more

Certifications