Skip to content

Releases: ccc007ccc/DS5Dongle

v0.8.2 - persistent controls and WebUI update

Choose a tag to compare

@ccc007ccc ccc007ccc released this 18 Jul 18:01

中文

M61 DualSense 蓝牙转 USB 适配器 v0.8.2。本版本在 v0.8.1 稳定实时路径基础上完善可持久化配置和项目专用 WebUI。

主要更新:

  • 新增 M61 状态灯亮度设置:1%–100%,默认 12%,直接使用 BL616 硬件 PWM,不增加周期性软件调光任务
  • 新增 DualSense 音频缓冲提示设置:16–127,默认 48;非默认值会显示稳定性风险提醒
  • 死区设置页新增左右摇杆动态图和死区范围;直接订阅现有 USB HID 输入报告,并按屏幕刷新帧合并绘制,不轮询 Feature Report,也不增加固件通信
  • WebHID 配置升级为 schema v5,新增字段可保存到 EasyFlash;schema v1–v4 配置会安全迁移
  • RSSI 已从 WebUI 移除:BL616 上主动 BR/EDR RSSI 查询会干扰 HIDP,参考网页显示的固定 -7 dBm 实际是把报告 ID 0xF9 误解析成 RSSI
  • WebUI 已部署到 https://ds5.766677.xyz/

安全默认值保持不变:CPU 320 MHz、麦克风关闭、超频关闭、左右死区 0%、音频缓冲提示 48。麦克风、超频和非默认音频缓冲值均有明确风险提醒。

发布验证:

  • GitHub Firmware CI 的离线测试、锁定 Windows release 构建、内存和 provenance 门禁全部通过
  • 干净构建来源提交:335bb950310e1876f40c8ef4d4dd4970fc90c81c
  • 固件 SHA-256:f68543bc9c8d29d915ef80445f0b4f6759a0443544e4f7b8311879797946ebca
  • WebUI 18 项测试、TypeScript、Vite/PWA 构建和 GitHub Pages 部署通过
  • Release ZIP 同时支持刷写器在线下载与“本地固件 ZIP”安装

已知限制:无线扬声器长时间播放时,音色仍可能偶尔短暂变闷并自行恢复。本版本没有修改已验证的双声道合并和稳定音频实时路径。

刷写时请直接选择 M61-Firmware-v0.8.2.zip,或使用配套的三个独立 Flash 文件;不要混用不同版本。

English

M61 DualSense Bluetooth-to-USB adapter v0.8.2. This release extends the stable v0.8.1 realtime base with persistent controls and a project-specific WebUI.

Highlights:

  • M61 status-LED brightness control: 1%–100%, 12% default, implemented with BL616 hardware PWM and no periodic software dimming task
  • DualSense audio-buffer hint control: 16–127, default 48, with explicit warnings for non-default values
  • Live left/right stick and deadzone visualization; it subscribes to the existing USB HID input stream, coalesces events to display frames, and adds no Feature-report polling or firmware traffic
  • WebHID configuration schema v5 with EasyFlash persistence and safe migration from schema v1–v4
  • RSSI removed from the WebUI: active BR/EDR RSSI reads disturb HIDP on BL616, while the reference page's fixed -7 dBm is the 0xF9 report ID misparsed as RSSI
  • WebUI deployed at https://ds5.766677.xyz/

Safe defaults remain unchanged: fixed 320 MHz CPU, microphone disabled, overclock disabled, 0% stick deadzones, and audio-buffer hint 48. Microphone, overclock, and non-default audio-buffer settings include explicit risk warnings.

Release validation:

  • GitHub Firmware CI passed offline tests, the locked Windows release build, memory gates, and provenance gates
  • Clean source commit: 335bb950310e1876f40c8ef4d4dd4970fc90c81c
  • Firmware SHA-256: f68543bc9c8d29d915ef80445f0b4f6759a0443544e4f7b8311879797946ebca
  • All 18 WebUI tests, TypeScript checks, Vite/PWA build, and GitHub Pages deployment passed
  • The complete Release ZIP supports both online download and local ZIP installation in the flasher

Known limitation: during long wireless speaker playback, the sound may still occasionally become temporarily muffled and later recover. This release does not alter the validated stereo merge or stable realtime audio path.

For flashing, select M61-Firmware-v0.8.2.zip directly or use the matching three individual Flash files. Do not mix assets from different versions.

v0.8.1 - stable hardware-validated release

Choose a tag to compare

@ccc007ccc ccc007ccc released this 18 Jul 10:53

中文

Ai-M61 DualSense 蓝牙转 USB 适配器的首个稳定版。本版本直接复用已经过真机验证的 v0.8.1-rc6 二进制资产,没有重新链接固件。

主要内容:

  • DualSense 蓝牙输入、USB 复合手柄、扬声器、HD 触觉与可选麦克风桥接
  • 稳定且准确的 250 Hz / 500 Hz USB 回报率选项
  • WebUSB 配置、配置持久化、手动摇杆死区、待机自动关闭手柄等功能
  • 项目定制的双语 WebUI:https://ds5.766677.xyz

安全默认值:CPU 320 MHz、麦克风关闭、超频关闭。麦克风和超频会提高性能或稳定性风险,WebUI 中提供明确提醒。

发布验证:

  • 全部离线协议、CRC、配置、死区、空闲检测、调度器和结构检查通过
  • Release ELF 内存门禁通过
  • Windows USB Composite、HID、扬声器和麦克风端点均正常
  • 已验证完整 Bluetooth HIDP 输入流
  • 90 秒扬声器 + HD 触觉 + HID 输出基准负载通过:4,320,000 音频帧、4,502 份 HID 报告、无提前停止
  • 固件 SHA-256:6a3c8cbac7309935cffcdcc25cddead381104f28001b24fdd7f2a60bb0d038e8

已知限制:无线扬声器长时间播放时,音色可能偶尔短暂变闷,随后自行恢复,期间不一定发生卡顿。该问题不影响手柄输入及 USB 枚举,本版本不再以此阻塞稳定发布。

刷写方法、地址和完整使用说明请参阅仓库 README 与文档。请使用本 Release 中配套的 boot2、partition 和 firmware 文件,不要混用其他版本。

English

The first stable release of the Ai-M61 DualSense Bluetooth-to-USB adapter. This release reuses the exact hardware-validated v0.8.1-rc6 binaries; the firmware was not relinked.

Highlights:

  • DualSense Bluetooth input, USB composite gamepad, speaker, HD haptics, and optional microphone bridging
  • Stable and accurately described 250 Hz / 500 Hz USB polling options
  • WebUSB configuration, persistent settings, manual stick deadzones, idle controller power-off, and related controls
  • Project-specific bilingual WebUI: https://ds5.766677.xyz

Safe defaults are 320 MHz CPU, microphone disabled, and overclocking disabled. The WebUI clearly warns about the performance and stability cost of microphone and overclock options.

Release validation:

  • All offline protocol, CRC, configuration, deadzone, idle detection, scheduler, syntax, and structure checks passed
  • Release ELF memory gate passed
  • Windows USB Composite, HID, speaker, and microphone endpoints verified
  • Full Bluetooth HIDP input stream verified
  • 90-second speaker + HD-haptics + HID-output baseline passed: 4,320,000 audio frames and 4,502 HID reports with no early termination
  • Firmware SHA-256: 6a3c8cbac7309935cffcdcc25cddead381104f28001b24fdd7f2a60bb0d038e8

Known limitation: during long wireless speaker playback, the sound may occasionally become temporarily muffled and later recover, sometimes without an audible dropout. Controller input and USB enumeration are unaffected; this limitation is not blocking this stable release.

See the repository README and documentation for flashing addresses and full usage instructions. Use the matching boot2, partition, and firmware files from this Release; do not mix files from other versions.

v0.8.1-rc6 - hardware-tested final candidate

Choose a tag to compare

@ccc007ccc ccc007ccc released this 18 Jul 09:09

Hardware-tested final candidate / 已开始真机验收的最终候选

This candidate supersedes rc5. Test rc6 only. It contains all prior persistence and EasyFlash initialization fixes and restores the valid DualSense USB Audio topology accidentally changed while selectable HID report rates were introduced.

本候选版本替代rc5,请只测试rc6。它包含之前全部持久化和EasyFlash初始化修复,并恢复了加入可选HID回报率时被误改的有效DualSense USB Audio拓扑。

Clean CI / 干净CI:https://github.com/ccc007ccc/DS5Dongle/actions/runs/29638457680

USB Audio fix and hardware evidence / USB音频修复与真机证据

  • Audio OUT is again declared as four channels, matching its streaming format.

  • The speaker terminal association is restored to the original DualSense-shaped topology.

  • Audio OUT and IN isochronous endpoints poll every 1 ms, not 4 ms.

  • Windows MEDIA, speaker, microphone, HID, and composite nodes now all start with Status OK; the previous MEDIA Code 10 is gone.

  • Hardware playback through the controller speaker was confirmed.

  • Captured firmware counters showed active USB audio ingress, successful Opus encoding, Bluetooth audio transmission, and zero encoder errors.

  • Audio OUT重新声明为四声道,与流格式一致。

  • 扬声器终端关联恢复为原来的DualSense形态拓扑。

  • Audio OUT和IN等时端点恢复1 ms轮询,而不是4 ms。

  • Windows MEDIA、扬声器、麦克风、HID和复合设备节点均为Status OK,之前的MEDIA Code 10已消失。

  • 已真机确认手柄扬声器能够播放声音。

  • 固件计数确认USB音频输入、Opus编码和蓝牙音频发送正常,编码错误为零。

Complete UART flash set / 完整UART刷写文件

Download boot2, partition, and the application BIN from this same Release. Verify them with v0.8.1-rc6-flash-files.sha256 before flashing.

从本Release下载boot2、partition和应用BIN,使用v0.8.1-rc6-flash-files.sha256校验后刷写。

Remaining one-pass qualification / 剩余一次性验收

  1. Repeat reset plus fast PS 10 times and verify Windows/DSX every time.
  2. Hold PS off: USB controller must disappear; press PS to restore it.
  3. Power off once during startup, reconnect, and confirm no ghost USB remains.
  4. Use https://ds5.766677.xyz/ to save settings, reset, and confirm persistence.
  5. Test realtime, 250 Hz, 500 Hz, then run at least 10 minutes.
  6. Check controls, touch, gyro, LEDs, rumble, adaptive triggers, speaker/haptics, and optional microphone.

Provenance / 来源

  • Commit: 9da9dc090c576297b989534006d876cafdca92bf
  • BIN SHA256: 6a3c8cbac7309935cffcdcc25cddead381104f28001b24fdd7f2a60bb0d038e8
  • ELF SHA256: 72c24d9561d8decc4e1aae70d383d6bf76293a7d6969c9e3918171c589702f8a
  • Static RAM: 215,968 B; ITCM: 28,380 B.
  • Defaults: microphone off, manual 320 MHz, compile-time overclock off, deadzones 0%, realtime USB forwarding.

v0.8.1-rc5 (superseded by rc6)

Pre-release

Choose a tag to compare

@ccc007ccc ccc007ccc released this 18 Jul 08:47

Final hardware qualification candidate / 最终真机验收候选

This candidate supersedes rc4. Test rc5 only. It includes the unified persistence fix from rc4 and prevents the M61 application and the locked Bluetooth settings backend from initializing the same global EasyFlash/LittleFS context twice.

本候选版本替代rc4,请只测试rc5。它包含rc4的统一持久化修复,并避免M61应用与锁定蓝牙settings后端对同一全局EasyFlash/LittleFS上下文进行两次初始化。

Clean CI build / 干净CI构建:
https://github.com/ccc007ccc/DS5Dongle/actions/runs/29628523837

Storage stability / 存储稳定性

  • EasyFlash already serializes operations with its FreeRTOS global mutex.

  • Firmware now enters EasyFlash through the Bluetooth settings initializer, so the global LittleFS pointer, namespace, and mutex are created exactly once.

  • Web configuration, controller address, Bluetooth bonds, and migrated DVFS state therefore share one initialized storage backend.

  • WebUI and m61 clock save use one CRC-protected unified configuration record; legacy standalone DVFS data migrates once and is removed.

  • EasyFlash本身已使用FreeRTOS全局互斥锁串行化操作。

  • 固件现在通过蓝牙settings初始化入口进入EasyFlash,因此全局LittleFS指针、命名空间和互斥锁只创建一次。

  • Web配置、手柄地址、蓝牙bond和迁移后的DVFS状态共用同一个已初始化存储后端。

  • WebUI与m61 clock save共用一个带CRC的统一配置记录;旧独立DVFS数据只迁移一次并删除。

Complete UART flash set / 完整UART刷写文件

Download boot2, partition, and the application BIN from this same Release. Put them in m61/dualsense_hidp_probe/build-win/build_out/ and verify them with v0.8.1-rc5-flash-files.sha256 before running the repository flasher with --windows-build.

从本Release下载boot2、partition和应用BIN,放入m61/dualsense_hidp_probe/build-win/build_out/,使用v0.8.1-rc5-flash-files.sha256校验后,再用仓库刷写工具的--windows-build参数刷写。

One hardware pass / 一次真机验收

  1. Flash rc5, reset, press PS, and verify Windows/DSX recognition.
  2. Repeat reset plus fast PS 10 times.
  3. Hold PS to power off: the USB controller must disappear; press PS to restore it.
  4. Power off once during startup, reconnect, and confirm no ghost USB remains.
  5. Use https://ds5.766677.xyz/ to change and save settings, reset, and verify Flash persistence, especially CPU policy, microphone off, deadzones, idle timeout, and report rate.
  6. Test realtime, 250 Hz, and 500 Hz, then run continuously for at least 10 minutes.
  7. Check buttons, sticks, triggers, touchpad, gyro, LEDs, rumble, adaptive triggers, speaker/haptics, and optional microphone.

Provenance / 来源

  • Commit: b70a0a4ea0e906a06fb9bcb491c09c9eec5b2ab4
  • BIN SHA256: cc163210cc150cdd1246e7ee6c7639da165ee1c45e835d01e94a032e01c23fb4
  • ELF SHA256: 2c73ea3deda9d3cbcbb7ff3f28477abfcea20bcddab792f6064301b55d9ce290
  • Static RAM: 215,968 B; ITCM: 28,380 B.
  • Release defaults: microphone off, manual 320 MHz, compile-time overclock off, deadzones 0%, realtime USB forwarding.

v0.8.1-rc4 (superseded by rc5)

Pre-release

Choose a tag to compare

@ccc007ccc ccc007ccc released this 18 Jul 03:10

Final hardware qualification candidate / 最终真机验收候选

Superseded by v0.8.1-rc5. Test rc5 only.

已由v0.8.1-rc5替代,请只测试rc5。

This candidate supersedes rc3. Test rc4 only. It contains the same USB/Bluetooth stability path plus one persistence correctness fix found during the final audit.

本候选版本替代rc3,请只测试rc4。它保留相同的USB/蓝牙稳定路径,并加入最终审查发现的一项持久化正确性修复。

Clean CI build / 干净CI构建:
https://github.com/ccc007ccc/DS5Dongle/actions/runs/29628241068

Persistence fix / 持久化修复

  • WebUI and m61 clock save now use one unified EasyFlash configuration record.

  • The legacy standalone DVFS record is migrated once and removed instead of competing with the Web configuration at boot.

  • m61 clock clear-saved stores manual 320 MHz for the next boot without changing the current session clock.

  • Experimental frequencies above 400 MHz remain impossible to persist.

  • WebUI和m61 clock save现在共用一个统一EasyFlash配置记录。

  • 旧的独立DVFS记录会一次性迁移并删除,不再在启动时与Web配置争夺权威。

  • m61 clock clear-saved把下次启动策略恢复为manual 320 MHz,不改变当前会话频率。

  • 401–480 MHz实验频率仍然禁止持久化。

Complete UART flash set / 完整UART刷写文件

Download boot2, partition, and the application BIN from this same Release. Put them in m61/dualsense_hidp_probe/build-win/build_out/ and verify them with v0.8.1-rc4-flash-files.sha256 before running the repository flasher with --windows-build.

从本Release下载boot2、partition和应用BIN,放入m61/dualsense_hidp_probe/build-win/build_out/,使用v0.8.1-rc4-flash-files.sha256校验后,再用仓库刷写工具的--windows-build参数刷写。

One hardware pass / 一次真机验收

  1. Flash rc4, reset, press PS, and verify Windows/DSX recognition.
  2. Repeat reset plus fast PS 10 times.
  3. Hold PS to power off: the USB controller must disappear; press PS to restore it.
  4. Power off once during startup, reconnect, and confirm no ghost USB remains.
  5. Use https://ds5.766677.xyz/ to change and save settings, reset, and verify Flash persistence, especially CPU policy, microphone off, deadzones, idle timeout, and report rate.
  6. Test realtime, 250 Hz, and 500 Hz, then run continuously for at least 10 minutes.
  7. Check buttons, sticks, triggers, touchpad, gyro, LEDs, rumble, adaptive triggers, speaker/haptics, and optional microphone.

Provenance / 来源

  • Commit: 8299de8366c32139a8dc7a2058c21f4eb2cef5ce
  • BIN SHA256: 19a31b4d6e311885a13cdc27607e564daf483b4875156f3fc1b451189dcae426
  • ELF SHA256: f982079711a2cbcc9a8c06093a55d6ac7a1f315544ae6bf68e0ad71268675bb3
  • Static RAM: 215,968 B; ITCM: 28,380 B.
  • Release defaults: microphone off, manual 320 MHz, compile-time overclock off, deadzones 0%, realtime USB forwarding.

v0.8.1-rc3 (superseded by rc4)

Pre-release

Choose a tag to compare

@ccc007ccc ccc007ccc released this 18 Jul 02:14

CI-built hardware qualification candidate / CI构建真机验收候选

Superseded by v0.8.1-rc4. Do not start a new qualification pass with rc3.

已由v0.8.1-rc4替代,请勿再使用rc3开始新的验收。

This candidate supersedes rc2. Its firmware was produced by the clean GitHub Firmware CI run below, not copied from the development workstation:

本候选版本替代rc2。固件来自下面的GitHub干净Firmware CI,不是开发机本地产物:

https://github.com/ccc007ccc/DS5Dongle/actions/runs/29626539769

Both CI jobs passed: Ubuntu cross-platform offline tests and the locked Windows release build with RAM/ITCM and provenance gates. This remains a prerelease until hardware validation passes.

两个CI任务均通过:Ubuntu跨平台离线测试,以及锁定Windows release构建、RAM/ITCM和来源门禁。真机验收通过前仍保持预发布。

Hardware fixes / 真机修复

  • Prevent ghost USB attachment when the controller disconnects during startup.
  • Recheck HIDP after USB initialization and retry failed initial USB setup.
  • Remove active BR/EDR RSSI reads that disturbed input; WebUI intentionally shows unavailable.
  • Standard DualSense production path only; unvalidated extra-controller button handling removed.
  • Persistent realtime/250 Hz/500 Hz settings and schema-v4 migration retained.

Complete UART flash set / 完整UART刷写文件

Download these three files into m61/dualsense_hidp_probe/build-win/build_out/ before using the repository flasher with --windows-build:

使用仓库刷写工具并添加--windows-build前,请把下面三个文件下载到m61/dualsense_hidp_probe/build-win/build_out/

  • boot2_bl616_isp_release_v8.1.8.bin
  • partition.bin
  • m61_dualsense_hidp_probe_bl616.bin

Verify all three with v0.8.1-rc3-flash-files.sha256. The boot2 and partition files come from the same locked SDK/board configuration and were reproduced by successful clean CI run https://github.com/ccc007ccc/DS5Dongle/actions/runs/29627424613.

请使用v0.8.1-rc3-flash-files.sha256校验三个文件。boot2和partition来自相同的锁定SDK/板级配置,并由成功的干净CI运行 https://github.com/ccc007ccc/DS5Dongle/actions/runs/29627424613 复现。

Test once / 一次性测试

  1. Flash, reset, press PS; verify Windows and DSX.
  2. Repeat reset plus fast PS 10 times.
  3. Hold PS off: USB controller must disappear; press PS: it must return.
  4. Power off during startup once, then reconnect; no ghost USB may remain.
  5. Use https://ds5.766677.xyz/ to read/change/save one harmless setting, reset, and confirm persistence.
  6. Test realtime, fixed 250 Hz, fixed 500 Hz, then run input for 10 minutes.
  7. Check buttons, sticks, triggers, touchpad, gyro, LEDs, rumble, adaptive triggers, speaker/haptics, and optional microphone.

Provenance / 来源

  • Commit: d493e2ef3c46e440fcdf306c2f8ee9fd4375f763
  • BIN SHA256: 463c86306535fcb405635536da99b8cd4189bc67d9a0281e1bf3e4e6e58595c4
  • ELF SHA256: 08a28cfb1f5dafc6b2dc405210e92a2475464ab1fbbf3c2ae3b95de3ff10402f
  • Static RAM: 215,952 B; ITCM: 28,380 B.

M61 DualSense Dongle v0.8.1-rc2

Pre-release

Choose a tag to compare

@ccc007ccc ccc007ccc released this 18 Jul 01:46

Superseded by CI-built v0.8.1-rc3 / 已由CI构建的v0.8.1-rc3替代: https://github.com/ccc007ccc/DS5Dongle/releases/tag/v0.8.1-rc3

## Hardware qualification candidate / 真机验收候选固件 This prerelease supersedes rc1. It contains the same firmware fixes plus corrected architecture documentation that matches the actual stock Full-Speed SDK USB path. 本预发布版本替代rc1。固件修复相同,并修正了架构文档,使其准确描述当前锁定SDK原生Full-Speed USB路径。 It does not replace the hardware-validated v0.8.0 stable release until the checklist below passes. 真机清单通过前,它不会替代已验证的v0.8.0正式版本。 ### Changes / 改进 - Prevents USB attachment if the controller disconnects during the initial report/start delay. - Rechecks Bluetooth/HIDP after USB initialization so a race cannot leave a ghost USB controller. - Keeps background USB initialization retry enabled after an initial failure. - Removes unvalidated extra-controller button parsing; production covers the standard DualSense path. - Removes active BL616 BR/EDR RSSI reads because they disturbed HIDP input in hardware testing. WebUI intentionally shows RSSI unavailable. - Reproducible Windows/Linux builds use the source commit as SOURCE_DATE_EPOCH. ### One-pass test / 一次性验收 1. Flash, reset M61, press PS once; Windows and DSX must recognize it. 2. Repeat reset plus fast PS connection 10 times; DSX must recognize every attempt. 3. Hold PS to turn the controller off; the emulated USB controller must disappear. Press PS to reconnect; it must return. 4. Power off once during connection startup, then reconnect; no permanent ghost USB device may remain. 5. Open https://ds5.766677.xyz/, connect M61, read, change a harmless setting, save, reset, and verify Flash persistence. 6. Test realtime, fixed 250 Hz, and fixed 500 Hz after the requested USB reconnect. 7. Leave input running for 10 minutes; RSSI should say unavailable and input must remain stable. 8. Check buttons, sticks, triggers, touchpad, gyro, LEDs, rumble, adaptive triggers, speaker/haptics, and microphone only if deliberately enabled. ### Provenance / 来源 - Commit: 70e37389bc0d665ea0dad14a55dcb27e3053cc75 - BIN SHA256: f800ed8fc1dab2eeb24198692874f3979b618f908ec44ddb97d72f11b4f38050 - ELF SHA256: 9faa4bf044b912cd1b32d723a0faf112ac7cbd6494e23a98b94a5d45af2fe84d - Static RAM 215,952 B; ITCM 28,380 B; memory gate passed.

M61 DualSense Dongle v0.8.1-rc1

Pre-release

Choose a tag to compare

@ccc007ccc ccc007ccc released this 18 Jul 01:35

Superseded by v0.8.1-rc2 / 已由v0.8.1-rc2替代: https://github.com/ccc007ccc/DS5Dongle/releases/tag/v0.8.1-rc2

## Release candidate / 候选固件 This prerelease is prepared for hardware qualification and does not replace the hardware-validated v0.8.0 release yet. 本预发布版本用于下一轮真机验收,在验收完成前不会替代已经过硬件验证的v0.8.0正式版。 ### Changes / 改进 - Prevents USB attachment when the controller disconnects during the initial report/startup delay. - Rechecks the Bluetooth/HIDP link after USB initialization so a disconnect race cannot leave a ghost USB controller attached. - Retries in the background if the first USB initialization fails. - Removes unvalidated controller-specific extra-button parsing; the production parser now covers the standard DualSense path only. - Removes active BL616 BR/EDR RSSI queries because hardware testing showed they could disturb HIDP input. WebUI intentionally reports RSSI as unavailable. - Makes Windows and Linux builds reproducible by deriving SOURCE_DATE_EPOCH from the source commit. Two clean Windows builds produced identical BIN and ELF hashes. ### One-pass hardware qualification / 一次性真机验收 1. Flash this BIN, reset M61, press PS once, and confirm Windows and DSX recognize the controller. 2. Repeat reset + fast PS connection 10 times; DSX must recognize it every time. 3. Hold PS to power off the controller; the emulated USB controller must disappear. Press PS to reconnect; it must return and work. 4. During connection startup, deliberately power off the controller once, then reconnect; no permanent ghost USB device may remain. 5. Open https://ds5.766677.xyz/, connect M61, read settings, change one harmless value, save, reset, and confirm it persists. 6. Check realtime, fixed 250 Hz, and fixed 500 Hz modes after the requested USB reconnect. 7. Confirm RSSI says unavailable and input remains stable for at least 10 minutes. 8. Check buttons, both sticks, triggers, touchpad, gyro, LEDs, rumble, adaptive triggers, speaker/haptics, and microphone only if deliberately enabled. ### Reproducibility / 可复现性 - Source commit: 2eb9d0afdc2b23e4b067a2a4c8c808020a8fcdea - Firmware SHA256: 960e9b9e90c44347e68dd65f6647ba3c4ca465dd3ec9753ef42a8d8aba8d676b - ELF SHA256: 7515568925a8ff39224cddf850c8b9c0749f1a6cbdd99c4a81193b4c8a50d840 - Static RAM: 215,952 B; ITCM: 28,380 B; memory gate passed.

M61 DualSense Dongle v0.8.0

Choose a tag to compare

@ccc007ccc ccc007ccc released this 18 Jul 00:57

M61 stable report-rate release / M61 稳定回报率版本

English

  • Adds persistent WebUI selection for realtime forwarding, validated fixed 250 Hz, and validated fixed 500 Hz.
  • Hardware measurements: 250.02 Hz (2501 reports / 10 s) and 500.02 Hz (5001 reports / 10 s), with zero transfer errors.
  • Fixed modes repeat the latest Bluetooth sample when necessary; they do not claim to increase the DualSense native sampling rate.
  • Keeps the stable BL616 Full-Speed USB PHY/VDMA implementation. Experimental 1000/2000 Hz and High-Speed paths are not included.
  • Defaults remain microphone off, manual 320 MHz, overclock off, idle shutdown off, and both stick deadzones 0%.
  • Configuration is CRC-protected and persisted in Flash. Old schema-v4 experimental rate value migrates to fixed 500 Hz.
  • WebUI: https://ds5.766677.xyz/

Flash from UART ISP mode:

python tools\flash_m61_firmware.py --app hidp-probe -p COM5 --windows-build

Firmware SHA256: f7d8f43cc71d07f08a11b02937d7769baef37dba9c9082bb699b7d1ce1235b53

中文

  • WebUI 新增可持久化的实时转发、固定 250 Hz、固定 500 Hz 选择。
  • 硬件实测:250.02 Hz(10 秒 2501 份报告)和 500.02 Hz(10 秒 5001 份报告),传输错误为 0。
  • 固定模式在需要时重复最近蓝牙样本,不宣称提高手柄本身的原始采样率。
  • 保留稳定的 BL616 Full-Speed USB PHY/VDMA 实现,不包含实验性 1000/2000 Hz 或 High-Speed 路径。
  • 默认仍为麦克风关闭、固定 320 MHz、超频关闭、空闲关机关闭、左右摇杆死区 0%。
  • 所有配置带 CRC 保存到 Flash;旧 schema v4 的实验回报率值会迁移到固定 500 Hz。
  • WebUI:https://ds5.766677.xyz/

进入 UART ISP 后可按上面的命令刷写,按实际串口修改 COM5