{"id":24775239,"url":"https://github.com/thisisnotjustin/pi_thing","last_synced_at":"2026-02-19T04:32:37.652Z","repository":{"id":273744276,"uuid":"920404849","full_name":"ThisIsNotJustin/pi_thing","owner":"ThisIsNotJustin","description":"Raspberry Pi recreation of the Spotify Car Thing","archived":false,"fork":false,"pushed_at":"2025-03-05T00:51:38.000Z","size":5826,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-10-18T23:34:16.509Z","etag":null,"topics":["c","embedded-systems"],"latest_commit_sha":null,"homepage":"","language":"C","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/ThisIsNotJustin.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":"2025-01-22T04:55:58.000Z","updated_at":"2025-03-05T00:51:41.000Z","dependencies_parsed_at":"2025-02-21T13:29:43.453Z","dependency_job_id":"8ff2574e-bf4b-4a39-8e4c-c4cafddd22b7","html_url":"https://github.com/ThisIsNotJustin/pi_thing","commit_stats":null,"previous_names":["thisisnotjustin/pi_thing"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/ThisIsNotJustin/pi_thing","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ThisIsNotJustin%2Fpi_thing","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ThisIsNotJustin%2Fpi_thing/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ThisIsNotJustin%2Fpi_thing/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ThisIsNotJustin%2Fpi_thing/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ThisIsNotJustin","download_url":"https://codeload.github.com/ThisIsNotJustin/pi_thing/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ThisIsNotJustin%2Fpi_thing/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29603081,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-19T04:01:40.476Z","status":"ssl_error","status_checked_at":"2026-02-19T04:01:12.960Z","response_time":117,"last_error":"SSL_read: 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":["c","embedded-systems"],"created_at":"2025-01-29T06:53:57.265Z","updated_at":"2026-02-19T04:32:37.623Z","avatar_url":"https://github.com/ThisIsNotJustin.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Pi Thing\n\n## Overview\n\nPi Thing is a Raspberry Pi Zero 2 W based recreation of the now discontinued Spotify Car Thing.\nIt provides a touchscreen interface and physical button controls for interacting with Spotify playback via the `Spotify API`.\nThe project is developed in C, utilizing the `pigpio` library for GPIO handling and `raygui`/`raylib` for the user interface.\n\n## Demo\n\n### Home View\nDisplays a user's playlists\n![Demo](./demo/home_view.jpg)\n\n### Music View\nDisplays the current song being played with graphical controls\nin addition to being able to be controlled with the physical buttons!\n![Demo](./demo/music_view.jpg)\n\n### Like Songs\n![Demo](./demo/like.jpg)\n\n### Toggle Shuffle\n![Demo](./demo/shuffle.jpg)\n\n### Pause/Play Songs\nAgain fully controllable wit both the GUI and physical buttons\n![Demo](./demo/pause.jpg)\n\n## 3D Model\n![3D](./demo/screen.png)\n![3D](./demo/pi.png)\n## Features\n\n- **Spotify Integration**: Control music playback, navigate playlists, and display track information via the Spotify API.\n- **Physical Controls**: Utilize GPIO buttons for play/pause, skip, and previous track functionality along with a potentiometer for volume control.\n- **Touchscreen GUI**: A responsive and intuitive UI using `raygui` for easy navigation.\n- **Real-time Feedback**: Display song progress, volume control, and album artwork.\n\n## Prototype\n![Prototype](./demo/prototype/pithing.jpg)\n\n## Hardware Requirements\n\n- Raspberry Pi Zero 2 W\n- Small LCD or OLED touchscreen display (SPI/I2C compatible)\n- Potentiometer (for volume control)\n- Push buttons for playback controls\n- Device with Spotify (Premium)\n\n## Software Dependencies\n\n- **C Compiler** (e.g., `gcc`)\n- **pigpio** (for GPIO handling)\n- **raylib** (for UI development in C)\n    - **raygui** \n- **Spotify API** (for playback control)\n- **cJSON** (seamless JSON parsing with C)\n- **libcurl** (for API requests to Spotify with C)\n\n## Spotify API Setup\n\n1. Create a Spotify Developer account.\n2. Register a new application in the Spotify Developer Dashboard.\n3. Obtain the **Client ID** and **Client Secret**.\n4. Enter these when starting the Pi Thing app!\n\n## Usage\n\n- Use the touchscreen UI to browse and control music playback on another device with Spotify open.\n- Physical buttons allow quick control of playback.\n- The potentiometer adjusts the volume and allows for easy scrolling through playlists.\n\n## License\n\nThis project is licensed under the MIT License. See `LICENSE` for details.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fthisisnotjustin%2Fpi_thing","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fthisisnotjustin%2Fpi_thing","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fthisisnotjustin%2Fpi_thing/lists"}