Skip to content

niranjannt/TM4C123GXLProjects

Repository files navigation

⚙️ TM4C123GXL Embedded Systems Projects

This repository showcases multiple embedded systems projects developed on the Texas Instruments TM4C123GXL (Tiva C Series LaunchPad) using C and Code Composer Studio.
Each project integrates timers, GPIO, LCD display, and audio feedback to create interactive real-time systems.


🧠 Projects Overview

🎮 Simon Says Memory Game

A memory-based game inspired by Simon Says, where the player replicates increasingly long LED sequences. Audio tones and LCD feedback enhance interactivity.

✨ Features

  • LED sequence generation using SysTick and Timer1A
  • Audio tones via 4-bit resistor DAC
  • Correct/incorrect feedback with buzzer tones
  • LCD messages: “Round X Passed” or “Game Over”
  • Dynamic sequence-tracking logic using arrays and GPIO switch input

🕹️ Example Workflow

  1. System flashes a sequence (e.g., Red → Green → Yellow).
  2. Player repeats the sequence using switches.
  3. Correct → next round with extended sequence.
  4. Incorrect → buzzer + “Game Over” message.

⚡ LED Reaction Time Game

A game that measures how quickly the player reacts to a randomly lit LED. Reaction times are displayed on the LCD in milliseconds.

✨ Features

  • Random LED activation with SysTick
  • Reaction time measurement via Timer1A
  • Switch-based user input detection
  • LCD display: “Reaction Time: XXX ms”

🕹️ Example Workflow

  1. LED lights up after a random delay.
  2. Player presses the switch as quickly as possible.
  3. LCD displays the reaction time result.

⏱️ Digital Stopwatch

A digital stopwatch with start, stop, and reset controls, displaying elapsed time on the LCD in real time.

✨ Features

  • Controlled via GPIO switches (Start / Stop / Reset)
  • Time tracking with Timer1A (HH:MM:SS format)
  • Periodic tick sound via SysTick + DAC (4-bit binary weighted resistor DAC)
  • Dynamic LCD updates

🕹️ Example Workflow

  1. Press Start to begin timing.
  2. Press Stop to pause.
  3. Press Reset to clear to 00:00:00.

🕒 LCD Digital Clock

A real-time digital clock displayed on the ST7735 LCD, capable of showing time in 12-hour AM/PM format with manual adjustment.

✨ Features

  • Real-time tracking using SysTick
  • LCD display in HH:MM:SS AM/PM format
  • Manual time setting controls via GPIO switches
  • AM/PM toggle functionality
  • Periodic tick sound using DAC output via 4-bit binary weighted resistor DAC

🕹️ Example Workflow

  1. Clock updates continuously every second.
  2. Use buttons to adjust hours, minutes, or toggle AM/PM.
  3. LCD reflects all changes in real time.

🔩 Hardware Components

Component Description
TM4C123GXL LaunchPad Main microcontroller board
ST7735 LCD SPI interface for text and graphics
4-bit Binary Weighted Resistor DAC + Speaker Generates audio tones
LEDs Red, Green, Yellow indicators
Push-button Switches Used for input and control

🧰 Development Setup

🧑‍💻 Tools Used

  • Language: C
  • IDE: Code Composer Studio
  • Debugger/Programmer: Onboard ICDI

🚀 Getting Started

  1. Clone this repository.
  2. Open the desired project in Code Composer Studio.
  3. Connect the TM4C123GXL via USB.
  4. Build and flash the program.
  5. Interact using the switches and LCD display.

🌟 Future Improvements

Project Planned Enhancements
Simon Says Add difficulty scaling and high-score tracking
Reaction Game Support multiple rounds with average time scoring
Stopwatch Add lap-time tracking functionality
LCD Clock Add alarm feature and 24-hour time option

🧾 License

This project is provided for educational and personal use.


🛠 These were summer passion projects developed using Code Composer Studio and the TM4C123GXL Tiva C LaunchPad.

About

These are a collection of my personal projects for the TM4C123GXL microcontroller written in C. These include the Simon Memory Game, Real Time Digital Clock, Digital Stopwatch, and the LED Reaction Time Game.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors