https://github.com/heitan104/embedded-maze-navigation-robot
Programmed an HCS12 Microprocessor to navigate through a Maze
https://github.com/heitan104/embedded-maze-navigation-robot
assembly-language codewarrior fsm hardware hcs12 photodiode
Last synced: 8 months ago
JSON representation
Programmed an HCS12 Microprocessor to navigate through a Maze
- Host: GitHub
- URL: https://github.com/heitan104/embedded-maze-navigation-robot
- Owner: Heitan104
- Created: 2025-07-05T16:20:46.000Z (12 months ago)
- Default Branch: main
- Last Pushed: 2025-07-05T16:34:10.000Z (12 months ago)
- Last Synced: 2025-07-05T17:58:18.805Z (12 months ago)
- Topics: assembly-language, codewarrior, fsm, hardware, hcs12, photodiode
- Language: Assembly
- Homepage:
- Size: 147 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# 🤖 Embedded Maze Navigation Robot (HCS12 Assembly)
An embedded systems project using the **HCS12 microcontroller** to program an autonomous robot that navigates a black-line maze using light sensors and wall detection. Written entirely in **assembly language**, the robot uses a finite state machine (FSM) to follow the line, avoid dead ends, and reach the maze's goal efficiently.
---
## 🚀 Features
- ✅ Light sensor-based black line detection and tracking
- 🔁 FSM-driven navigation with real-time state transitions
- 🧱 Wall detection and backtracking to avoid loops/dead ends
- ⚡ Optimized performance:
- 90%+ on-track accuracy (up from ~60% after tuning)
- 50% reduction in idle states during maze traversal
---
## 🛠️ Technologies Used
- **HCS12 Microcontroller**
- **Assembly Language (ASM)**
- **CodeWarrior IDE**
- **FSM Design Principles**
- **Digital Light Sensors**
---
All Working code can be found in /Sources/main.asm
## 👥 Team & My Role
Developed as part of a 3-person team for a university lab.
I led the FSM design and optimization, and contributed to sensor calibration and movement logic.
---
## 🧠 Learnings
- Low-level hardware interfacing and real-time control using assembly
- Designing efficient state machines for embedded navigation tasks
- Calibrating noisy analog inputs (light sensors) for reliable decision-making
---
## 📬 Contact
For questions or collaboration ideas:
**Heitan Kandasamy** – [heitan104@gmail.com](mailto:heitan104@gmail.com) – [@Heitan104](https://github.com/Heitan104)