{"id":15142047,"url":"https://github.com/esp32beans/nunchuk2sac","last_synced_at":"2026-01-19T08:01:44.259Z","repository":{"id":239255317,"uuid":"799002131","full_name":"esp32beans/nunchuk2sac","owner":"esp32beans","description":"Convert Wii Nunchuk for use with Sony Access Controller for PlayStation 5","archived":false,"fork":false,"pushed_at":"2024-05-11T00:36:41.000Z","size":2070,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-06T15:17:35.703Z","etag":null,"topics":["arduino","assistive-technology","circuitpython","playstation-5","ps5","sony-access-controller","wii-nunchuk"],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/esp32beans.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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":"2024-05-10T23:40:25.000Z","updated_at":"2024-12-03T20:03:54.000Z","dependencies_parsed_at":"2024-05-11T02:48:49.082Z","dependency_job_id":null,"html_url":"https://github.com/esp32beans/nunchuk2sac","commit_stats":null,"previous_names":["esp32beans/nunchuk2sac"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/esp32beans/nunchuk2sac","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/esp32beans%2Fnunchuk2sac","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/esp32beans%2Fnunchuk2sac/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/esp32beans%2Fnunchuk2sac/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/esp32beans%2Fnunchuk2sac/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/esp32beans","download_url":"https://codeload.github.com/esp32beans/nunchuk2sac/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/esp32beans%2Fnunchuk2sac/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28563215,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-19T03:31:16.861Z","status":"ssl_error","status_checked_at":"2026-01-19T03:31:15.069Z","response_time":67,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: 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":["arduino","assistive-technology","circuitpython","playstation-5","ps5","sony-access-controller","wii-nunchuk"],"created_at":"2024-09-26T09:22:06.257Z","updated_at":"2026-01-19T08:01:44.240Z","avatar_url":"https://github.com/esp32beans.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Connect Wii Nunchuk to Sony Access Controller\n\nThe Sony Access Controller (SAC) for PlayStation 5 (PS5) includes 10 buttons, a\njoystick, and four expansion ports. The expansion ports are for analog\njoysticks, analog triggers, and buttons.\n\nThe Wii Nunchuk handheld controller has two buttons and a joystick.\n\nThis project reads the nunchuk joystick and button inputs then drives three\nSAC expansion ports to relay the button presses and stick movement. A four\nchannel DAC has just enough outputs for this.\n\n![Photo of a nunchuk connected to Sony Access Controller](./images/Nunchuk_joystick_to_SAC.jpg)\n\n## Hardware\n\n* 1 X Adafruit Feather RP2040\n* 2 X STEMMA QT/QWIIC JST SH 4-pin cable\n* 1 X Adafruit Wii Nunchuck Breakout Adapter\n* 1 X Wii Nunchuk game controller or clone\n* 1 X Adafruit MCP4728 Quad DAC with EEPROM\n* 3 X Adafruit TRRS Jack Breakout Board\n* 3 X TRRS cables\n* 1 X Adafruit Swirly Aluminum Mounting Grid for 0.1\" Spaced PCBs - 5x5\n* 1 X USB cable with Type C connector for the Feather RP2040 and the appropriate connector for your computer.\n* 1 X Sony Access Controller (SAC) for PS5\n* Various headers and wires\n* M2.0 and M2.5 nylon screws and spacers\n* Optional battery for Feather board\n* 1 X 5V phone charger with USB Type C connector to power/charge the Feather board\n\n![Close up photo of the board wiring](./images/board_close_up.jpg)\n\nThis project does not use a breadboard but the following diagram shows the\nequivalent connections as shown in the photo. The diagram more clearly shows\nthe hand wired connections between boards. In the photo the labels printed on\nthe boards are covered by the headers.\n\n![TRRS breakout to DAC breakout boards](./images/TRRS_DAC_Wiring_bb.jpg)\n\nPlug the boards together as shown in the photo and diagram except leave out the\nSAC for now. Upload the UF2 file to the Feather board before connecting the\nSAC. Connect the SAC then configure the Access Controller expansion ports for\nthe joystick and two buttons.\n\nThe Feather board must be powered to work. If you do not want to connect it to\na computer USB port, connect it to a phone charger with USB Type C connector.\nThe board can also be powered from an optional battery.\n\n## Building Source Code\n\nIf you do not want to use the UF2 file, full source code is provided.\nThe following tutorial explains how to set up the Arduino IDE.\n\nhttps://learn.adafruit.com/adafruit-feather-rp2040-pico\n\nThe project was tested using Arduino IDE 1.8.19.\n\nThe following can be installed using the IDE Library Manager.\n\n* \"Nintendo Extension Ctrl\" by David Madison\n* \"Adafruit BusIO\" by Adafruit\n\nThe following can be downloaded as a ZIP file then installed using the IDE\n\"Add .ZIP Library\" option.\n\n* https://github.com/touchgadget/Adafruit_MCP4728_eeprom\n\nThe build options are default values for the Feather board.\n\n![IDE build options for Feather RP2040](./images/build_options.jpg)\n\n## CircuitPython\n\nIf you prefer Python, see ./python/sac_nunchuk.py. This was tested using CP\n9.0.4.\n\n## Alternatives\n\n### Battery not needed\n\nIf the battery option is not needed, the Feather board may be replaced with\na Raspberry Pi Pico board. The Pico does not have a QWIIC connector so some\nextra soldering and wiring will be required.\n\n### USB HID Devices\n\nReplacing the Feather board with a \"Adafruit Feather RP2040 with USB Type A\nHost\" board is a separate project. The USB host port allows USB HID devices\nto work with the SAC.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fesp32beans%2Fnunchuk2sac","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fesp32beans%2Fnunchuk2sac","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fesp32beans%2Fnunchuk2sac/lists"}