{"id":26414063,"url":"https://github.com/sithulaka/8-bit-alu-implementation","last_synced_at":"2025-07-24T00:33:33.532Z","repository":{"id":241255347,"uuid":"804696896","full_name":"sithulaka/8-bit-ALU-Implementation","owner":"sithulaka","description":"This repository demonstrates an 8-bit Arithmetic Logic Unit (ALU) built using IoT components like a Raspberry Pi Pico, seven-segment displays, and SN74LS83N Adder ICs to perform binary addition.","archived":false,"fork":false,"pushed_at":"2025-02-28T14:35:24.000Z","size":1048,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-07-06T20:50:58.399Z","etag":null,"topics":["8-bit","alu","arithmetic-logic-unit","binary-addition","iot","raspberry-pi-pico","seven-segment-displays"],"latest_commit_sha":null,"homepage":"https://www.sithulaka.com","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/sithulaka.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,"zenodo":null}},"created_at":"2024-05-23T05:02:38.000Z","updated_at":"2025-02-28T14:35:28.000Z","dependencies_parsed_at":"2024-05-23T06:29:11.456Z","dependency_job_id":"3231b29e-5329-438f-ba3d-c4085b394a86","html_url":"https://github.com/sithulaka/8-bit-ALU-Implementation","commit_stats":null,"previous_names":["sithulaka/8-bit-alu-implementation"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/sithulaka/8-bit-ALU-Implementation","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sithulaka%2F8-bit-ALU-Implementation","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sithulaka%2F8-bit-ALU-Implementation/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sithulaka%2F8-bit-ALU-Implementation/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sithulaka%2F8-bit-ALU-Implementation/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sithulaka","download_url":"https://codeload.github.com/sithulaka/8-bit-ALU-Implementation/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sithulaka%2F8-bit-ALU-Implementation/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":266774779,"owners_count":23982247,"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-23T02:00:09.312Z","response_time":66,"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":["8-bit","alu","arithmetic-logic-unit","binary-addition","iot","raspberry-pi-pico","seven-segment-displays"],"created_at":"2025-03-17T23:04:24.610Z","updated_at":"2025-07-24T00:33:33.469Z","avatar_url":"https://github.com/sithulaka.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 8-bit ALU Implementation in IoT\n\n\u003cimg src=\"Image/Alu.png\" alt=\"8-bit ALU\" width=\"700\" height=\"500\"\u003e\n\n## Overview\nThis project demonstrates the design and implementation of an 8-bit Arithmetic Logic Unit (ALU) using various IoT components. The ALU adds two 8-bit binary values and displays the result on seven-segment displays. The main components include DIP switches, SN74LS83N Adder ICs, logic level shifters, a Raspberry Pi Pico, and seven-segment displays.\n\n## Table of Contents\n- [Features](#features)\n- [Components](#components)\n- [Hardware Design](#hardware-design)\n- [Software Design](#software-design)\n- [Circuit Diagram](#circuit-diagram)\n- [Setup Instructions](#setup-instructions)\n- [Usage](#usage)\n- [Acknowledgments](#acknowledgments)\n- [Additional Files](#additional-files)\n- [License](#license)\n- [Contact](#connect-with-me)\n\n## Features\n- **Addition of Two 8-bit Binary Numbers:** Inputs are provided via DIP switches.\n- **Real-Time Display:** Results are shown on three seven-segment displays.\n- **Embedded Control:** Raspberry Pi Pico processes input and controls the display.\n- **Voltage Level Shifting:** Ensures compatibility between different components.\n\n## Components\n### Hardware\n- DIP switches\n- SN74LS83N Adder ICs\n- Logic level shifters\n- Raspberry Pi Pico\n- Seven-segment displays\n- Seven-segment decoder\n- NPN transistors\n- Resistors\n- LEDs\n\n### Software\n- Python for programming the Raspberry Pi Pico\n\n## Hardware Design\n1. **Schematic Design**: Designed the circuit diagram using [Tinkercad](https://www.tinkercad.com/things/0uAzScpMNXA).\n2. **Input Handling**: Used pull-down resistors with DIP switches for stable input signals and connected two 4-bit adder ICs to form an 8-bit adder.\n3. **Voltage Level Shifting**: Converted the 8-bit output from the adder ICs (5V) to 3.3V using logic level shifters.\n4. **Data Processing and Display**: Connected the output to the Raspberry Pi Pico, wrote a Python program to convert the 8-bit binary output to BCD, and controlled the seven-segment displays using NPN transistors.\n\n![Tinkercad Design](Image/Tinkercard.png)\n\n## Software Design\n- **Programming**: Python code was used to read the 8-bit binary input, convert it to BCD, and control the seven-segment display.\n- **Control Mechanism**: Utilized three control pins to manage the display of three seven-segment displays by turning them on/off through NPN transistors.\n\n## Circuit Diagram\nThe detailed circuit diagram is provided in the `ALU Diagram.pdf` file.\n\n## Setup Instructions\n### Hardware Setup\n1. Connect the DIP switches, adder ICs, level shifters, seven-segment displays, decoder, transistors, resistors, and LEDs as per the circuit diagram.\n2. Ensure all connections are secure and components are correctly oriented.\n\n### Software Setup\n1. Clone the repository and upload the provided Python code to the Raspberry Pi Pico.\n\n```bash\ngit clone https://github.com/sithulaka/8-bit-ALU-Implementation.git\ncd 8-bit-ALU-Implementation\n```\n\n2. Connect your Raspberry Pi Pico to your computer.\n3. Upload the `alu.py` script to the Raspberry Pi Pico.\n\n## Usage\n1. **Input**: Use the DIP switches to input two 8-bit binary numbers.\n2. **Output**: The sum of the input numbers will be displayed on the seven-segment displays.\n\n## Acknowledgments\nSpecial thanks to [Mr.Kavinda Madhubhashana](https://www.linkedin.com/in/kavinda-madhubhashana-8852b5234/) for their invaluable technical advice and support throughout this project.\n\n## Additional Files\n- **`alu.py`**: Python code for the Raspberry Pi Pico.\n- **`ALU Diagram.pdf`**: Detailed circuit diagram.\n- **`components.csv`**: CSV file listing all the components used.\n\n## License\nThis project is licensed under the MIT License. See the [LICENSE](LICENSE) file for details.\n\n## Connect with me\n\u003cp align=\"left\"\u003e\n\u003ca href=\"https://linkedin.com/in/sithulaka\" target=\"blank\"\u003e\u003cimg align=\"center\" src=\"https://github.com/sithulaka/sithulaka/blob/main/image/icon/linked-in-alt.svg\" alt=\"sithulaka\" height=\"30\" width=\"40\" /\u003e\u003c/a\u003e\n\u003ca href=\"https://twitter.com/sithulaka\" target=\"blank\"\u003e\u003cimg align=\"center\" src=\"https://github.com/sithulaka/sithulaka/blob/main/image/icon/twitter.svg\" alt=\"sithulaka\" height=\"30\" width=\"40\" /\u003e\u003c/a\u003e\n\u003ca href=\"https://fb.com/senithu.sithulaka.7\" target=\"blank\"\u003e\u003cimg align=\"center\" src=\"https://github.com/sithulaka/sithulaka/blob/main/image/icon/facebook.svg\" alt=\"sithulaka\" height=\"30\" width=\"40\" /\u003e\u003c/a\u003e\n\u003ca href=\"https://instagram.com/_sithulaka_\" target=\"blank\"\u003e\u003cimg align=\"center\" src=\"https://github.com/sithulaka/sithulaka/blob/main/image/icon/instagram.svg\" alt=\"sithulaka\" height=\"30\" width=\"40\" /\u003e\u003c/a\u003e\n\u003c!-- \u003ca href=\"https://discord.gg/ugdvth5b6H\" target=\"blank\"\u003e\u003cimg align=\"center\" src=\"https://github.com/sithulaka/sithulaka/blob/main/image/icon/discord.svg\" alt=\"sithulaka\" height=\"30\" width=\"40\" /\u003e\u003c/a\u003e --\u003e\n\u003c/p\u003e\u003cbr\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsithulaka%2F8-bit-alu-implementation","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsithulaka%2F8-bit-alu-implementation","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsithulaka%2F8-bit-alu-implementation/lists"}