{"id":22572134,"url":"https://github.com/asankasovis/position_detection","last_synced_at":"2026-04-24T12:33:37.481Z","repository":{"id":150440239,"uuid":"582185624","full_name":"asankaSovis/Position_Detection","owner":"asankaSovis","description":"📌 The idea of this project is to build a system that uses the existing lights to detect the location of a user within an indoor environment. For this, we can use Visible Light Communication (VLC) technology. The basic concept is to have four LEDs transmitting their IDs one after the other at fixed intervals.","archived":false,"fork":false,"pushed_at":"2023-04-27T00:59:25.000Z","size":5333,"stargazers_count":2,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-06-05T04:11:57.555Z","etag":null,"topics":["altera-fpga","arduino","c-sharp","fpga","intel","serial-communication","uart-protocol","visible-light-communication"],"latest_commit_sha":null,"homepage":"","language":"Verilog","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/asankaSovis.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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}},"created_at":"2022-12-26T02:32:28.000Z","updated_at":"2024-03-21T07:42:18.000Z","dependencies_parsed_at":"2025-03-28T14:42:24.442Z","dependency_job_id":"c17a653b-ab09-4787-8d74-d864238b0371","html_url":"https://github.com/asankaSovis/Position_Detection","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/asankaSovis/Position_Detection","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/asankaSovis%2FPosition_Detection","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/asankaSovis%2FPosition_Detection/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/asankaSovis%2FPosition_Detection/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/asankaSovis%2FPosition_Detection/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/asankaSovis","download_url":"https://codeload.github.com/asankaSovis/Position_Detection/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/asankaSovis%2FPosition_Detection/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32224118,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-24T10:26:35.452Z","status":"ssl_error","status_checked_at":"2026-04-24T10:25:27.643Z","response_time":64,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":["altera-fpga","arduino","c-sharp","fpga","intel","serial-communication","uart-protocol","visible-light-communication"],"created_at":"2024-12-08T02:08:15.187Z","updated_at":"2026-04-24T12:33:37.475Z","avatar_url":"https://github.com/asankaSovis.png","language":"Verilog","funding_links":["https://www.paypal.com/donate/?hosted_button_id=4EWXTWQ9FUFLA"],"categories":[],"sub_categories":[],"readme":"# 📌 Indoor Positioning System \n\n ![Poster](https://user-images.githubusercontent.com/46389631/209512172-c9f438bc-3d70-4095-976f-8eeb61d6b27e.png)\n\n---\n\n*💸 Please consider [donating](https://www.paypal.com/donate/?hosted_button_id=4EWXTWQ9FUFLA) on Paypal to keep this project alive.*\n\n## 📌 Project Introduction\n\nThe idea of this project is to build a system that uses the existing lights to detect the location of a user within an indoor environment. For this, we can use [Visible Light Communication (VLC)](https://en.wikipedia.org/wiki/Visible_light_communication) technology. The basic concept is to have four LEDs transmitting their IDs one after the other at fixed intervals. The reciever can recieve the IDs and identify how the intensity differs between each LED and decide the position of itself within an environment.\n\n## ⚙️ Components\n\n### 01. Altera Cyclone DE0-Nano\n\nThe Altera Cyclone DE0-Nano is an FPGA development board specially designed for students to experiment with FPGA technology. The Altera board is used in this project for the client side processes. This includes:\n01. Reading intensity from a photodiode\n02. Identifying the ID of the LED\n03. Identifying the position of the user within the space\n04. Transmitting this information to the display\n\n### 02. Photodiode\n\nThis is used to get intensity readings from the surrounding. Connected to the FPGA, it will handle sending analog data to the FPGA containing the intensity changes. Any regular photodiode with average accuracy will be sufficient.\n\n### 03. USB to TTL Converter Module\n\nThe USB to TTL Module is used by the FPGA to send the information to the serial port of a device. In this project, the results will be sent to a computer where a C# program will display this information on the computer.\n\n### 04. Arduino\n\nAn arduino wil act as the transmitter. It will transmit the ID of each LED successiely at fixed intervals for the reciever to detect its location. Any Arduino is applicable for this purpose while an Arduino Uno was used in this project.\n\n### 05. Light Emitting Diodes (LEDs)\n\nLEDs are positioned at different points to signal the position of the user. For this any LED will be suitable while an LED with higher watt count will be more convenient.\n\n### 06. LED Driver Circuit (Optional)\n\nAn optional LED drive circuit is required if you use high powered LEDs. In this case, the following components will be required to build one.\n\n01. 5V boost converter *x4*\n02. IRF840 N-channel Power MOSFET or equivalent *x4*\n03. 1k resistor *x4*\n04. Connection headers (Optional)\n05. 5V power supply with a power rating matching the four LEDs\n\n### 07. Computer with Position Display software\n\nThe software is optional as any regular connection to the right serial port can read the information that is sent. However, the software is written to decode the signals recieved and to display it in a user friendly way.\n\n\u003e ![Position Detection](https://user-images.githubusercontent.com/46389631/219845935-c341944b-3a6b-41b5-978e-a489076eb2ba.png)\n\u003e Position Detection\n\n*More information will be added...*\n\n`© 2022 Asanka Sovis`\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fasankasovis%2Fposition_detection","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fasankasovis%2Fposition_detection","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fasankasovis%2Fposition_detection/lists"}