{"id":25437692,"url":"https://github.com/christianlin0420/bartender","last_synced_at":"2025-11-01T07:30:27.795Z","repository":{"id":113205109,"uuid":"236691313","full_name":"ChristianLin0420/Bartender","owner":"ChristianLin0420","description":"An automated bartending machine project combining hardware and software components, developed as a Digital Design Experiment final project at NTHU (National Tsing Hua University).","archived":false,"fork":false,"pushed_at":"2025-01-15T10:07:42.000Z","size":9887,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-01-15T12:00:07.809Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Swift","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/ChristianLin0420.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}},"created_at":"2020-01-28T08:40:49.000Z","updated_at":"2025-01-15T10:08:15.000Z","dependencies_parsed_at":null,"dependency_job_id":"27fc4f0f-d5b5-4c50-866d-338689f551db","html_url":"https://github.com/ChristianLin0420/Bartender","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ChristianLin0420%2FBartender","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ChristianLin0420%2FBartender/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ChristianLin0420%2FBartender/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ChristianLin0420%2FBartender/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ChristianLin0420","download_url":"https://codeload.github.com/ChristianLin0420/Bartender/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":239262396,"owners_count":19609519,"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","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-02-17T09:19:28.625Z","updated_at":"2025-11-01T07:30:27.762Z","avatar_url":"https://github.com/ChristianLin0420.png","language":"Swift","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Bartender\nAn automated bartending machine project combining hardware and software components, developed as a Digital Design Experiment final project at NTHU (National Tsing Hua University).\n\n## Overview\nThe Bartender project is an innovative solution that combines embedded systems, mobile technology, and mechanical engineering to create an automated drink dispensing system. It features:\n- Mobile app control via Bluetooth Low Energy (BLE)\n- FPGA-based control system\n- Automated drink mixing capabilities\n- Custom hardware construction\n\n## Technology Stack\n- **Mobile App**: Swift (iOS)\n- **Hardware Control**: Verilog on FPGA\n- **Communication**: Bluetooth Low Energy (BLE) protocol\n- **Hardware**: Custom mechanical construction\n\n## System Architecture\n\n### 1. Mobile Application (iOS)\nThe iOS application serves as the user interface for the bartending machine, allowing users to:\n- Connect to the machine via BLE\n- Select and customize drinks\n- Control drink dispensing\n- Monitor machine status\n\n### 2. FPGA Control System\n#### State Machine Implementation\nThe FPGA implements a finite state machine with the following states:\n1. **WAIT**: Initial state, waiting for Bluetooth commands\n2. **ADD**: Processing received drink recipe data\n3. **SWITCH**: Activating appropriate dispensing mechanisms\n4. **END**: Completing the drink preparation cycle\n\n![State Transition Diagram](https://github.com/ChristianLin0420/Bartender/blob/master/Screen%20Shot%202020-01-28%20at%2017.07.19.png)\n\n#### Operation Flow\n1. System initializes in WAIT state\n2. Upon receiving bluetooth_send signal (1), transitions to ADD state\n3. Processes drink recipe data and controls dispensing mechanisms\n4. Moves to SWITCH state for actual liquid dispensing\n5. Completes operation in END state\n6. Returns to WAIT state after 10ns\n\n### 3. Hardware Construction\nThe physical construction includes:\n- Custom-designed frame and mounting system\n- Liquid dispensing mechanisms\n- Electronic control interfaces\n- BLE communication module\n\nFor detailed hardware specifications and assembly instructions, visit our [Hardware Documentation](https://hackmd.io/@BJLin-0420/ryrsOdxAH)\n\n## Documentation\n- [Full Project Report](https://github.com/ChristianLin0420/Bartender/blob/master/Team26_Final_Project_Report.pdf)\n- [Hardware Documentation](https://hackmd.io/@BJLin-0420/ryrsOdxAH)\n\n## Installation \u0026 Setup\n(To be added: Instructions for setting up both software and hardware components)\n\n## Contributing\nThis project was developed as part of a university course. While it's not actively maintained, feel free to fork and improve upon it.\n\n## License\n(To be specified)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fchristianlin0420%2Fbartender","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fchristianlin0420%2Fbartender","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fchristianlin0420%2Fbartender/lists"}