{"id":29572811,"url":"https://github.com/customize5773/4-bit-hardware-adder","last_synced_at":"2025-08-30T17:11:48.962Z","repository":{"id":304015913,"uuid":"1017510133","full_name":"Customize5773/4-Bit-Hardware-Adder","owner":"Customize5773","description":"This project upgrades a classic 2-bit adder to a 4-bit version using a 74LS83 adder IC and 74LS47 BCD-to-7-segment decoder, providing binary output on a 7-segment display and decimal output on an LCD.","archived":false,"fork":false,"pushed_at":"2025-07-13T04:30:37.000Z","size":15,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-08-03T22:46:36.742Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"C++","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/Customize5773.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":"2025-07-10T16:36:39.000Z","updated_at":"2025-07-13T04:30:40.000Z","dependencies_parsed_at":"2025-07-10T22:59:29.135Z","dependency_job_id":"51149ae4-4929-4140-9a23-5e94b2fff76e","html_url":"https://github.com/Customize5773/4-Bit-Hardware-Adder","commit_stats":null,"previous_names":["customize5773/4-bit-hardware-adder"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/Customize5773/4-Bit-Hardware-Adder","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Customize5773%2F4-Bit-Hardware-Adder","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Customize5773%2F4-Bit-Hardware-Adder/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Customize5773%2F4-Bit-Hardware-Adder/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Customize5773%2F4-Bit-Hardware-Adder/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Customize5773","download_url":"https://codeload.github.com/Customize5773/4-Bit-Hardware-Adder/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Customize5773%2F4-Bit-Hardware-Adder/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":272878320,"owners_count":25008336,"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-08-30T02:00:09.474Z","response_time":77,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","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":[],"created_at":"2025-07-19T05:11:58.199Z","updated_at":"2025-08-30T17:11:48.945Z","avatar_url":"https://github.com/Customize5773.png","language":"C++","readme":"# 4-Bit-Hardware-Adder\n\n## Overview\nThis project implements a **4-bit binary adder** using discrete logic ICs with dual-display output. It extends the classic 2-bit adder concept with significant hardware improvements, including a dedicated 4-bit adder IC (74LS83) and BCD-to-7-segment decoder (74LS47). The system provides both binary visualization via 7-segment display and decimal results through an LCD interface.\n\n## Key Features\n- **4-Bit Binary Addition**: Handles values 0-15 for both inputs\n- **Dual Display System**:\n  - 7-Segment Display: Shows binary result via segment illumination\n  - LCD Screen: Displays decimal sum and binary equivalent\n- **Carry Detection**: Visual indicator for overflow (sums \u003e15)\n- **Hardware-Optimized Design**:\n  - 74LS83 4-bit adder IC replaces discrete gates\n  - 74LS47 decoder simplifies 7-segment control\n  - Expanded 8-position DIP switch for 4-bit inputs\n- **Educational Focus**: Demonstrates fundamental digital logic concepts\n\n## Hardware Components\n| Component | Quantity | Purpose |\n|-----------|----------|---------|\n| Arduino UNO | 1 | LCD interface and result processing |\n| 74LS83 IC | 1 | 4-bit binary addition |\n| 74LS47 IC | 1 | 7-segment display driver |\n| 8-Position DIP Switch | 1 | Input for A (4 bits) and B (4 bits) |\n| Common Anode 7-Segment Display | 1 | Binary result visualization |\n| 16×2 LCD with I2C | 1 | Decimal result display |\n| 10kΩ Resistors | 8 | DIP switch pull-down resistors |\n| 330Ω Resistors | 8 | Current limiting for LEDs |\n| Breadboard | 1 | Circuit prototyping |\n| Jumper Wires | - | Component interconnections |\n\n## Setup and Operation\n1. **Hardware Assembly**:\n   - Connect DIP switches to 74LS83 inputs (A0-A3, B0-B3) with pull-down resistors\n   - Wire 74LS83 outputs (Σ0-Σ3) to 74LS47 inputs and Arduino analog pins\n   - Connect 74LS47 outputs to 7-segment display through current-limiting resistors\n   - Interface LCD with Arduino via I2C\n\n2. **Firmware Upload**:\n   - Load `firmware/adder_display.ino` to Arduino\n   - Verify I2C address matches LCD module (default: 0x27)\n\n3. **Operation**:\n   - Set input values using DIP switches (4 bits for A, 4 bits for B)\n   - Observe results:\n     - 7-segment displays binary result\n     - LCD shows decimal sum and binary equivalent\n     - Carry LED illuminates for sums \u003e15\n\n## Theory of Operation\nThe adder implements binary addition using these principles:\n```mermaid\ngraph LR\n    A[4-bit Input A] --\u003e ADDER[74LS83]\n    B[4-bit Input B] --\u003e ADDER\n    ADDER --\u003e SUM[4-bit Sum Output]\n    ADDER --\u003e CARRY[Carry-out]\n    SUM --\u003e DECODER[74LS47]\n    SUM --\u003e ARDUINO[Arduino]\n    CARRY --\u003e ARDUINO\n    DECODER --\u003e 7SEG[7-Segment Display]\n    ARDUINO --\u003e LCD[16×2 LCD]\n```\n\nKey mathematical relationships:\n- Sum range: 0 (0000) to 30 (11110)\n- Total value = (Σ0-Σ3) + (16 × C_out)\n- Overflow occurs when C_out = 1 (result \u003e15)\n\n## Documentation\nFor detailed information:\n- [Component Specifications](hardware/bill_of_materials.md)\n- [Circuit Schematics](hardware/schematics/)\n- [Adder Theory](docs/theory.md)\n\n## Educational Value\nThis project demonstrates:\n1. Binary arithmetic fundamentals\n2. Integrated circuit applications\n3. Digital display systems\n4. Hardware/software interfacing\n5. Logic gate implementation\n\n## Future Extension Ideas\n1. Expand to 8-bit addition using two 74LS83 ICs\n2. Implement subtraction with 2's complement\n3. Add signed number support\n4. Create PCB version for permanent installation\n5. Interface with keypad for numeric input\n\n## License\nThis project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcustomize5773%2F4-bit-hardware-adder","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcustomize5773%2F4-bit-hardware-adder","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcustomize5773%2F4-bit-hardware-adder/lists"}