{"id":46646884,"url":"https://github.com/jacktoaster/synthpass","last_synced_at":"2026-03-08T05:02:48.705Z","repository":{"id":335397188,"uuid":"1145586978","full_name":"JackToaster/SynthPass","owner":"JackToaster","description":"An open-source protocol \u0026 hardware design for to detect nose boops \u0026 transfer simple data, designed for protogen/synth fursuits","archived":false,"fork":false,"pushed_at":"2026-02-22T05:50:34.000Z","size":125,"stargazers_count":0,"open_issues_count":0,"forks_count":1,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-02-22T12:58:45.112Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"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/JackToaster.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,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-01-30T00:53:56.000Z","updated_at":"2026-02-22T05:50:38.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/JackToaster/SynthPass","commit_stats":null,"previous_names":["jacktoaster/synthpass"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/JackToaster/SynthPass","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JackToaster%2FSynthPass","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JackToaster%2FSynthPass/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JackToaster%2FSynthPass/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JackToaster%2FSynthPass/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/JackToaster","download_url":"https://codeload.github.com/JackToaster/SynthPass/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JackToaster%2FSynthPass/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30246626,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-08T00:58:18.660Z","status":"online","status_checked_at":"2026-03-08T02:00:06.215Z","response_time":56,"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":"2026-03-08T05:02:47.821Z","updated_at":"2026-03-08T05:02:48.690Z","avatar_url":"https://github.com/JackToaster.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"# SynthPass\n\nAn open-source protocol \u0026 hardware design for to detect nose boops \u0026 transfer simple data, designed for protogen/synth fursuits.\n\nBuilt to solve a very important problem. With SynthPass, you won't have to break character or pull off your paws and fumble with your phone to trade contact details. Just nose-boop, and SynthPass will automagically trade a small chunk of user-defined data, like a web link, username, or anything else that can fit in a couple hundred bytes of plain text. Then plug in your SynthPass at the end of the day and download all the data you've collected.\n\nSynthPass is also designed to easily interface with nearly any protogen/synth fursuit. SynthPass hardware can be powered by a single 3.3V supply, and supports digital several digital interface options.\n\n## Features\n\n- ### Simple interface\n\t- GPIO: pin HIGH (3.3V) when booped, LOW (0V) when not booped, plus proximity pin (TODO)\n\t- UART: Message for boop start/end\n\t- I2C: Register for boop status\n    - Don't want to modify your firmware or connect the digital pins to your controller? The GPIO output can also drive an LED to indicate when another SynthPass is nearby and when a nose boop is detected.\n- ### Advanced interface\n\t- UART/I2C Only\n\t- Approximate range \u0026 unique ID of peer prior to boop\n\t- Extra boop parameters (e.g. boop expression, color, name/species of peer)\n- ### USB interface\n    - (TODO) Mass storage device for downloading collected data\n    - Bootloader switch for firmware updates over USB\n\n## Hardware\nSynthPass is based on the ultra-low-cost WCH CH57x series microcontrollers.\n- ## 2.4GHz radio\n\t- Boop detection by RSSI (radio signal strength)\n\t- ISLER protocol for peer-to-peer and broadcast communication without need for pairing\n\t- CH572 also supports BLE (possibility for future companion app?)\n- ## Protogen/Synth Suit Interface\n\t- 4-pin JST SH connector, compatible with QWIIC/Stemma QT (TODO?)\n\t- Single 3.3V input (possibly support 5V input with some hardware designs)\n\t- Option for I2C, UART, or GPIO communication protocol\n\t- Designed for easy integration with most synth/protogen heads\n\n## Software\nUsing CH32Fun + iSLER library for communication\n\nSynthPass communicates using BLE advertising frames with a fixed MAC address so that SynthPassdevices can easily be detected.\n\nCommunication (currently) uses a fixed channel (Channel 37) and PHY mode (1Mbps).\n\nTODO document stuff better :3","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjacktoaster%2Fsynthpass","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjacktoaster%2Fsynthpass","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjacktoaster%2Fsynthpass/lists"}