This repository contains coursework and lab projects from COMPE 375, a course focused on embedded systems and microcontroller programming. The course utilized the ATmega328PB Xplained development board along with Atmel/Microchip Studio for writing, compiling, and flashing code to the microcontroller. Labs covered fundamental embedded concepts such as LED control, UART communication, keypad scanning, PWM, and sound generation.
- Microcontroller: ATmega328PB Xplained Development Board
- IDE: Atmel/Microchip Studio
- Communication Interface: UART (tested using PUTTY)
- Programming Language: C
Each lab introduced and built upon core embedded system concepts:
- πΉ Lab 0 β LED Blinking β Basic GPIO control for toggling an LED
- πΉ Lab 1 β Name Display & Morse Code β Displayed my name using an LED and converted it into Morse code
- πΉ Lab 2 β UART Communication β Sent my name and ID through UART and received it on a PC using PUTTY
- πΉ Lab 3 β 4x4 Keypad Scanner β Scanned a keypad and sent pressed key values to PUTTY via UART
- πΉ Lab 4 β LED PWM & Button Control β Adjusted LED brightness based on button press duration (PWM duty cycle control)
- πΉ Lab 5 β Sound Output & Keypad Scanner β Adjusted output sound frequency based on keypad input
- πΉ Lab 6 β Keypad Scanner & LED PWM β Used keypad input to increase or decrease LED brightness via PWM
- Understanding microcontroller GPIO control for input and output operations
- Implementing UART communication for data transfer between embedded systems and PCs
- Scanning and processing input from a 4x4 keypad matrix
- Using PWM for LED brightness control based on user input
- Generating and modifying sound frequencies programmatically
This course and all its labs have been successfully completed. The repository serves as a reference for embedded programming techniques and ATmega328PB microcontroller applications.