{"id":29715091,"url":"https://github.com/heitan104/embedded-maze-navigation-robot","last_synced_at":"2025-10-24T22:02:13.339Z","repository":{"id":303095442,"uuid":"1014390601","full_name":"Heitan104/Embedded-Maze-Navigation-Robot","owner":"Heitan104","description":"Programmed an HCS12 Microprocessor to navigate through a Maze","archived":false,"fork":false,"pushed_at":"2025-07-05T16:34:10.000Z","size":151,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-07-05T17:58:18.805Z","etag":null,"topics":["assembly-language","codewarrior","fsm","hardware","hcs12","photodiode"],"latest_commit_sha":null,"homepage":"","language":"Assembly","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Heitan104.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-07-05T16:20:46.000Z","updated_at":"2025-07-05T16:39:30.000Z","dependencies_parsed_at":"2025-07-05T17:58:29.346Z","dependency_job_id":"6886091e-e883-4226-8972-828915f10940","html_url":"https://github.com/Heitan104/Embedded-Maze-Navigation-Robot","commit_stats":null,"previous_names":["heitan104/embedded-maze-navigation-robot"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/Heitan104/Embedded-Maze-Navigation-Robot","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Heitan104%2FEmbedded-Maze-Navigation-Robot","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Heitan104%2FEmbedded-Maze-Navigation-Robot/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Heitan104%2FEmbedded-Maze-Navigation-Robot/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Heitan104%2FEmbedded-Maze-Navigation-Robot/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Heitan104","download_url":"https://codeload.github.com/Heitan104/Embedded-Maze-Navigation-Robot/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Heitan104%2FEmbedded-Maze-Navigation-Robot/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":266796347,"owners_count":23985471,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-07-24T02:00:09.469Z","response_time":99,"last_error":null,"robots_txt_status":null,"robots_txt_updated_at":null,"robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["assembly-language","codewarrior","fsm","hardware","hcs12","photodiode"],"created_at":"2025-07-24T05:01:13.779Z","updated_at":"2025-10-24T22:02:13.333Z","avatar_url":"https://github.com/Heitan104.png","language":"Assembly","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 🤖 Embedded Maze Navigation Robot (HCS12 Assembly)\n\nAn 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.\n\n---\n\n## 🚀 Features\n\n- ✅ Light sensor-based black line detection and tracking  \n- 🔁 FSM-driven navigation with real-time state transitions  \n- 🧱 Wall detection and backtracking to avoid loops/dead ends  \n- ⚡ Optimized performance:  \n  - 90%+ on-track accuracy (up from ~60% after tuning)  \n  - 50% reduction in idle states during maze traversal  \n\n---\n\n## 🛠️ Technologies Used\n\n- **HCS12 Microcontroller**\n- **Assembly Language (ASM)**\n- **CodeWarrior IDE**\n- **FSM Design Principles**\n- **Digital Light Sensors**\n\n---\n\nAll Working code can be found in /Sources/main.asm\n\n\n\n## 👥 Team \u0026 My Role\n\nDeveloped as part of a 3-person team for a university lab.  \nI led the FSM design and optimization, and contributed to sensor calibration and movement logic.\n\n---\n\n## 🧠 Learnings\n\n- Low-level hardware interfacing and real-time control using assembly\n- Designing efficient state machines for embedded navigation tasks\n- Calibrating noisy analog inputs (light sensors) for reliable decision-making\n\n---\n\n## 📬 Contact\n\nFor questions or collaboration ideas:  \n**Heitan Kandasamy** – [heitan104@gmail.com](mailto:heitan104@gmail.com) – [@Heitan104](https://github.com/Heitan104)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fheitan104%2Fembedded-maze-navigation-robot","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fheitan104%2Fembedded-maze-navigation-robot","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fheitan104%2Fembedded-maze-navigation-robot/lists"}