{"id":27096277,"url":"https://github.com/pierreportal/knobgpio","last_synced_at":"2026-04-17T08:03:24.261Z","repository":{"id":281370817,"uuid":"945069434","full_name":"pierreportal/KnobGPIO","owner":"pierreportal","description":"KnobGPIO is a custom Chugin (ChucK plugin) written in C++ that enables direct access to the Raspberry Pi’s GPIO pins from within ChucK. It allows ChucK programs to interface with physical hardware like knobs, buttons, and sensors, making it ideal for real-time, interactive audio systems running on the Pi.","archived":false,"fork":false,"pushed_at":"2025-04-15T08:20:10.000Z","size":33,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-04-15T09:29:26.125Z","etag":null,"topics":["analog","embedded","low-level-programming","music","raspberry-pi","synthesizer"],"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/pierreportal.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,"zenodo":null}},"created_at":"2025-03-08T15:34:37.000Z","updated_at":"2025-04-15T08:24:11.000Z","dependencies_parsed_at":null,"dependency_job_id":"48604fa3-b249-4838-bc70-518c509db21c","html_url":"https://github.com/pierreportal/KnobGPIO","commit_stats":null,"previous_names":["pierreportal/knobgpio"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/pierreportal/KnobGPIO","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pierreportal%2FKnobGPIO","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pierreportal%2FKnobGPIO/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pierreportal%2FKnobGPIO/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pierreportal%2FKnobGPIO/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/pierreportal","download_url":"https://codeload.github.com/pierreportal/KnobGPIO/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pierreportal%2FKnobGPIO/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":267807952,"owners_count":24147353,"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-30T02:00:09.044Z","response_time":70,"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":["analog","embedded","low-level-programming","music","raspberry-pi","synthesizer"],"created_at":"2025-04-06T09:38:36.282Z","updated_at":"2026-04-17T08:03:24.217Z","avatar_url":"https://github.com/pierreportal.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"# KnobGPIO\n\nPlugin for the [ChucK programming language](https://chuck.stanford.edu/).\n\n## Prerequisite\n\n### MCP3008\n\nThe MCP3008 is a 10-bit Analog-to-Digital Converter (ADC) chip that allows microcontrollers (like the Raspberry Pi) to read analog signals. The Raspberry Pi does not have built-in analog input pins, so if you're using an analog sensor (like a potentiometer, temperature sensor, or light sensor), you need an external ADC like the MCP3008 to convert the analog signal into a digital value that the Pi can process.\n\n| MCP3008 Pin   | Connect to Raspberry Pi Pin                                    |\n| ------------- | -------------------------------------------------------------- |\n| **VDD (16)**  | **3.3V (Pin 1)**                                               |\n| **VREF (15)** | **3.3V (Pin 1)**                                               |\n| **AGND (14)** | **GND (Pin 6)**                                                |\n| **CLK (13)**  | **GPIO11 (SPI CLK, Pin 23)**                                   |\n| **DOUT (12)** | **GPIO9 (SPI MISO, Pin 21)**                                   |\n| **DIN (11)**  | **GPIO10 (SPI MOSI, Pin 19)**                                  |\n| **CS (10)**   | **GPIO8 (SPI CE0, Pin 24)**                                    |\n| **DGND (9)**  | **GND (Pin 6)**                                                |\n| **CH0 - CH7** | **Connect to potentiometer middle pin or other analog sensor** |\n\n\n\n```\n       _______\nCH0 --|1  ° 16|-- VDD     -\u003e 3.3v\nCH1 --|2    15|-- VREF    -\u003e 3.3v\nCH2 --|3    14|-- AGND    -\u003e gnd\nCH3 --|4    13|-- CLK     -\u003e GPIO11 (SPI CLK, Pin 23)\nCH4 --|5    12|-- DOUT    -\u003e GPIO9 (SPI MISO, Pin 21)\nCH5 --|6    11|-- DIN     -\u003e GPIO10 (SPI MISO, Pin 19)\nCH6 --|7    10|-- CS/SHDN -\u003e GPIO8 (SPI CE0, Pin 24)\nCH7 --|8_____9|-- DGND    -\u003e gnd\n```\n\n\n## Install \n\nOn linux\n\n```sh\ngit clone https://github.com/pierreportal/KnobGPIO.git\n\ncd KnobGPIO\n```\n\n```sh\nmake linux\n```\n\n```sh\nsudo make install\n```\n\n## Usage\n\n```cpp\nKnobGPIO knob;\n\nwhile (true)\n{\n    \u003c\u003c\u003c knob.last() \u003e\u003e\u003e;\n}\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpierreportal%2Fknobgpio","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpierreportal%2Fknobgpio","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpierreportal%2Fknobgpio/lists"}