[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-81411":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":9,"language":10,"languages":9,"totalLinesOfCode":9,"stars":11,"forks":12,"watchers":12,"openIssues":13,"contributorsCount":14,"subscribersCount":14,"size":14,"stars1d":15,"stars7d":16,"stars30d":17,"stars90d":14,"forks30d":14,"starsTrendScore":18,"compositeScore":19,"rankGlobal":9,"rankLanguage":9,"license":20,"archived":21,"fork":21,"defaultBranch":22,"hasWiki":21,"hasPages":21,"topics":23,"createdAt":9,"pushedAt":9,"updatedAt":33,"readmeContent":34,"aiSummary":35,"trendingCount":14,"starSnapshotCount":14,"syncStatus":36,"lastSyncTime":37,"discoverSource":38},81411,"DS5_Bridge","SundayMoments\u002FDS5_Bridge","SundayMoments","Wireless DualSense and DualSense Edge bridge for Raspberry Pi Pico 2 W, with Windows companion app for tuning haptics, audio, triggers, lighting, and bridge settings.",null,"TypeScript",71,4,22,0,1,19,36,8,2.1,"GNU Affero General Public License v3.0",false,"main",[24,25,26,27,28,29,30,31,32],"bluetooth","companion-app","dualsense","dualsense-edge","firmware","hid","pico-w","raspberry-pi-pico","windows","2026-06-12 02:04:14","# DS5 Bridge\n\n\u003Cp align=\"center\">\n  \u003Cimg src=\"assets\u002Fcontrollers\u002Fds5-bridge_mark.png\" width=\"180\" alt=\"DS5 Bridge mark\">\n\u003C\u002Fp>\n\n\u003Cp align=\"center\">\n  \u003Ca href=\"https:\u002F\u002Fgithub.com\u002FSundayMoments\u002FDS5_Bridge\u002Factions\u002Fworkflows\u002Fbuild.yml\">\u003Cimg src=\"https:\u002F\u002Fgithub.com\u002FSundayMoments\u002FDS5_Bridge\u002Factions\u002Fworkflows\u002Fbuild.yml\u002Fbadge.svg\" alt=\"Build firmware status\">\u003C\u002Fa>\n  \u003Ca href=\"LICENSE\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Flicense-AGPL--3.0--only-blue.svg\" alt=\"License: AGPL-3.0-only\">\u003C\u002Fa>\n  \u003Ca href=\"https:\u002F\u002Fgithub.com\u002FSundayMoments\u002FDS5_Bridge\u002Freleases\u002Flatest\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fv\u002Frelease\u002FSundayMoments\u002FDS5_Bridge?label=release\" alt=\"Latest release\">\u003C\u002Fa>\n  \u003Cbr>\n  \u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fplatform-Windows%20companion%20app%20%7C%20Pico%202%20W%20firmware-287cff\" alt=\"Platform: Windows companion app and Raspberry Pi Pico 2 W firmware\">\n\u003C\u002Fp>\n\n\u003Cp align=\"center\">\n  \u003Ca href=\"https:\u002F\u002Fko-fi.com\u002Fsundaymoments\">\u003Cimg src=\"assets\u002Freadme\u002Fsupport_me_on_kofi_blue.png\" width=\"220\" alt=\"Support me on Ko-fi\">\u003C\u002Fa>\n\u003C\u002Fp>\n\n\u003Cp align=\"center\">\n  \u003Cstrong>DS5 Bridge 1.0 is live.\u003C\u002Fstrong>\u003Cbr>\n  The first stable release includes the Windows companion app, Pico 2 W firmware,\n  profiles, visual button remapping, microphone support, and headphone-jack audio.\n\u003C\u002Fp>\n\nDS5 Bridge lets you use a real Sony DualSense or DualSense Edge controller\nwirelessly on a Windows PC through a Raspberry Pi Pico 2 W. The controller pairs\nto the Pico over Bluetooth, and the Pico plugs into your PC over USB.\n\nThe companion app gives you a clean place to adjust audio, haptics, trigger\nstrength, lighting, button remaps, shortcuts, and other controller behavior\nwithout reflashing the Pico.\n\n## Quick Start\n\n1. Download the firmware `.uf2` and Windows companion installer from\n   [Releases](https:\u002F\u002Fgithub.com\u002FSundayMoments\u002FDS5_Bridge\u002Freleases\u002Flatest).\n2. With the Pico 2 W unplugged, hold `BOOTSEL`, then connect it to your PC.\n3. Copy the `.uf2` file onto the Pico drive that appears in Windows.\n4. Put the DualSense controller into Bluetooth pairing mode.\n5. After the Pico restarts from flashing, wait for the controller to pair.\n6. Install and open DS5 Bridge to check the connection and adjust your settings.\n\nOnce the controller connects to the Pico, Windows sees it as a normal\nDualSense-compatible USB controller.\n\n## Features\n\n- Use a DualSense or DualSense Edge wirelessly through a Pico 2 W.\n- Tune audio, haptics, adaptive triggers, and lighting from the Windows app.\n- Save controller setups as profiles.\n- Remap controller buttons visually.\n- See Bluetooth signal quality at a glance.\n- Use Host Encoding for smoother controller speaker and headphone-jack audio.\n\n## Companion App Tour\n\nThe companion app is where you check the bridge, adjust the controller, and save\nthe setup you actually want to play with.\n\n### Overview\n\nSee the connection, battery, audio route, Bluetooth signal quality, active\nprofile, and the settings most likely to matter during play.\n\n\u003Cp align=\"center\">\n  \u003Cimg src=\"assets\u002Freadme\u002Fapp-overview.png\" width=\"680\" alt=\"Overview dashboard in the DS5 Bridge companion app\">\n\u003C\u002Fp>\n\n### Haptics\n\nAdjust HD haptics and classic rumble strength, then test the feel before\nopening a game.\n\n\u003Cp align=\"center\">\n  \u003Cimg src=\"assets\u002Freadme\u002Fapp-haptics.png\" width=\"680\" alt=\"Haptics and rumble controls in the DS5 Bridge companion app\">\n\u003C\u002Fp>\n\n### Audio\n\nControl the controller speaker, headphone-jack audio, microphone level, and Host\nEncoding.\n\n\u003Cp align=\"center\">\n  \u003Cimg src=\"assets\u002Freadme\u002Fapp-audio.png\" width=\"680\" alt=\"Audio controls in the DS5 Bridge companion app\">\n\u003C\u002Fp>\n\n### Triggers\n\nSet adaptive trigger strength and try sample effects without leaving the app.\n\n\u003Cp align=\"center\">\n  \u003Cimg src=\"assets\u002Freadme\u002Fapp-triggers.png\" width=\"680\" alt=\"Adaptive trigger controls in the DS5 Bridge companion app\">\n\u003C\u002Fp>\n\n### Lighting\n\nChoose lightbar brightness and color, or let the app manage lighting behavior\nfor you.\n\n\u003Cp align=\"center\">\n  \u003Cimg src=\"assets\u002Freadme\u002Fapp-lighting.png\" width=\"680\" alt=\"Lighting controls in the DS5 Bridge companion app\">\n\u003C\u002Fp>\n\n### Button Remapping\n\nChange what each controller button does, then save the remap when you are happy\nwith it.\n\n\u003Cp align=\"center\">\n  \u003Cimg src=\"assets\u002Freadme\u002Fapp-button-remapping.png\" width=\"680\" alt=\"Button remapping controls in the DS5 Bridge companion app\">\n\u003C\u002Fp>\n\n### System\n\nManage profiles, mute button behavior, polling rate, and diagnostics.\n\n\u003Cp align=\"center\">\n  \u003Cimg src=\"assets\u002Freadme\u002Fapp-system.png\" width=\"680\" alt=\"System controls in the DS5 Bridge companion app\">\n\u003C\u002Fp>\n\n### Settings\n\nSet UI scale, startup behavior, power saving, shortcuts, idle disconnect, PC\nsleep disconnect, and the Pico LED.\n\n## Troubleshooting\n\n- Keep Host Encoding enabled if you use the controller speaker or plug\n  headphones into the controller. Turning it off can cause stuttering or static.\n- Headphones through the controller headphone jack work best when DS5 Bridge is\n  open and Host Encoding is enabled.\n- If controller audio sounds doubled, distorted, or too loud, restart your PC,\n  reopen DS5 Bridge, and run the speaker test again.\n- Battery level may be inaccurate while the controller is charging.\n\n## Requirements\n\n- Raspberry Pi Pico 2 W.\n- Sony DualSense or DualSense Edge controller.\n- USB cable from the Pico 2 W to the PC.\n- Windows for the companion app.\n\n## For Developers\n\nSee [docs\u002Fdevelopment.md](docs\u002Fdevelopment.md) for local build requirements,\nfirmware build commands, companion app setup, host helper notes, and packaging\nsteps.\n\n## Project Layout\n\n| Path | Purpose |\n| --- | --- |\n| `src\u002Fmain.cpp` | Pico startup, watchdog handling, USB task loop, and HID report bridge. |\n| `src\u002Fbt.cpp` | Bluetooth inquiry, pairing, L2CAP HID channels, and report queueing. |\n| `src\u002Faudio.cpp` | USB audio ingestion, haptic resampling, Opus speaker encoding, and audio packet assembly. |\n| `src\u002Fcompanion.cpp` | Vendor HID companion protocol, status reports, command ACKs, and runtime setting dispatch. |\n| `src\u002Fusb.cpp` | TinyUSB audio control callbacks and runtime settings fallback. |\n| `src\u002Fusb_descriptors.c` | USB device, configuration, HID report, audio, and string descriptors. |\n| `companion\u002F` | Electron companion app source, protocol parser, HID service, assets, and UI. |\n| `companion\u002Fnative\u002FHostAudioHelper\u002F` | Windows host audio helper used by the companion app for host encoded audio. |\n| `.github\u002Fworkflows` | CI and release builds. |\n\n## Development Notes\n\n- The bridge presents itself to the host as a standard DualSense-compatible USB\n  controller for compatibility.\n- The companion app requires firmware built with the companion HID interface\n  enabled.\n- The project controls runtime behavior through the bridge and does not write\n  controller-side profiles.\n- Battery level is not reported accurately while the controller is charging.\n- During development, Windows may keep stale controller or audio endpoint\n  records after descriptor testing. Use\n  [docs\u002Fwindows-device-cleanup.md](docs\u002Fwindows-device-cleanup.md) only if you\n  run into device or endpoint issues while testing.\n\n## License\n\nThis repository is distributed as AGPL-3.0-only. See [LICENSE](LICENSE).\n\nThis project is derived from [awalol\u002FDS5Dongle](https:\u002F\u002Fgithub.com\u002Fawalol\u002FDS5Dongle),\nwhich is credited in [NOTICE](NOTICE). Third-party submodules and package\ndependencies retain their own license terms.\n\nDualSense controller overlay artwork is adapted from\n[AL2009man\u002FGamepad-Asset-Pack](https:\u002F\u002Fgithub.com\u002FAL2009man\u002FGamepad-Asset-Pack)\nand credited in [NOTICE](NOTICE).\n\n## References\n\n- [awalol\u002FDS5Dongle](https:\u002F\u002Fgithub.com\u002Fawalol\u002FDS5Dongle), the foundation for\n  this project.\n- [rafaelvaloto\u002FPico_W-Dualsense](https:\u002F\u002Fgithub.com\u002Frafaelvaloto\u002FPico_W-Dualsense)\n  for project inspiration.\n- [egormanga\u002FSAxense](https:\u002F\u002Fgithub.com\u002Fegormanga\u002FSAxense) for Bluetooth\n  haptics proof-of-concept work.\n- [Sony DualSense controller documentation](https:\u002F\u002Fcontrollers.fandom.com\u002Fwiki\u002FSony_DualSense)\n  for report structure notes.\n- [Paliverse\u002FDualSenseX](https:\u002F\u002Fgithub.com\u002FPaliverse\u002FDualSenseX) for speaker\n  report packet references.\n- Alex Smith of The Cynic Project for the speaker test sound, \"Crystal Cave\"\n  (`song18`).\n\n## Disclaimer\n\nThis project was vibecoded, so the occasional peculiarity may show through.\nThat said, it has been tested and edited with care.\n","DS5 Bridge 是一个通过Raspberry Pi Pico 2 W让Sony DualSense或DualSense Edge控制器无线连接到Windows PC的项目。它支持蓝牙配对控制器，并通过USB将Pico连接至电脑，实现无线控制。核心功能包括通过配套的Windows应用程序调整音频、触觉反馈、触发器强度、灯光效果以及按钮映射等设置，无需重新刷新Pico固件即可完成配置。此外，用户还可以保存不同的控制器设置为配置文件，方便快速切换。此项目适用于需要在PC上使用DualSense系列手柄进行游戏但又偏好无线操作的玩家，特别是那些希望自定义控制器行为以获得更佳体验的用户。",2,"2026-06-11 04:04:56","CREATED_QUERY"]