{"id":33099954,"url":"https://github.com/zwenergy/swantroller","last_synced_at":"2026-01-16T03:00:49.324Z","repository":{"id":248178043,"uuid":"827983773","full_name":"zwenergy/swantroller","owner":"zwenergy","description":"A WonderSwan Color controller PCB for the swancolorHD.","archived":false,"fork":false,"pushed_at":"2024-07-16T09:01:47.000Z","size":1645,"stargazers_count":3,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2024-07-17T10:22:37.766Z","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":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/zwenergy.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-07-12T20:13:22.000Z","updated_at":"2024-07-16T09:01:50.000Z","dependencies_parsed_at":"2024-07-12T22:30:02.259Z","dependency_job_id":"1c9000be-169c-429d-93fd-34b8fa3d1702","html_url":"https://github.com/zwenergy/swantroller","commit_stats":null,"previous_names":["zwenergy/swantroller"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/zwenergy/swantroller","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zwenergy%2Fswantroller","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zwenergy%2Fswantroller/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zwenergy%2Fswantroller/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zwenergy%2Fswantroller/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/zwenergy","download_url":"https://codeload.github.com/zwenergy/swantroller/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zwenergy%2Fswantroller/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28476667,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-16T00:15:39.755Z","status":"online","status_checked_at":"2026-01-16T02:00:07.781Z","response_time":107,"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":"2025-11-14T21:00:36.903Z","updated_at":"2026-01-16T03:00:49.299Z","avatar_url":"https://github.com/zwenergy.png","language":"C","funding_links":[],"categories":["Open source hardware"],"sub_categories":["Screen capture"],"readme":"# swantroller\nA WonderSwan Color controller PCB for the swancolorHD.\n\n\u003cimg src=\"./res/swantrollere3.png\" alt=\"drawing\" width=\"700\"/\u003e\n\n## About\nThe idea of this project is to turn an (empty) WonderSwan Color shell into a controller for the swancolorHD (a WonderSwan Color consolizer).\n\n## Variants\nThere are two variants of the swantroller: One variant based on shift registers and one variant based on an RP2040 microcontroller.\n* **Shift Register variant (CD4021):** PCB Gerbers can be found in the 4021 folder.\nThis variant has the advantage that it is fully working, also if there is some under-voltage or under-current for a short time at the startup.\nThis is a particular possibility with the swancolorHD, as the board may be crossfed by the HDMI voltage.\nThe disadvantage of this variant is that the controller protocol is fixed, making it only usefully working with the swancolorHD and not usable with, e.g., a SNES console.\n* **RP2040 variant:** PCB Gerbers can be found in the rp2040/pcb folder.\nFW can be found in the release tab.\nThis variant has the advantage that the controller protocol can be fully adjusted in SW, making it potentially to be used with, e.g., a SNES console.\nThe disadvantage is that it is susceptible to under-voltage or under-current.\nIn case of the swancolorHD, it may happen that it is crossfed via the HDMI voltage when turned off, leading to a faulty bootup and then being stuck.\nIf the controller is conneceted when the swancolorHD is already powered on (or if the crossfed power in the off-state does not happen, e.g., with many modern Samsung TVs), it works fine.\n\n## Parts\n### Shift Register Variant\n| **Reference** | **Value**| **Links**\n|---------------|----------|----------|\n| U1, U2        | CD4021 Shift Register |[LCSC](https://www.lcsc.com/product-detail/Shift-Registers_Texas-Instruments-CD4021BM96_C134120.html)|\n| RN1, RN2           | 10 kOhm Resistor Array |[LCSC](https://www.lcsc.com/product-detail/Resistor-Networks-Arrays_UNI-ROYAL-Uniroyal-Elec-16P8WGF1002T4E_C422188.html)|\n\n### RP2040 Variant\n| **Reference** | **Value**| **Links**\n|---------------|----------|----------|\n| U2        | RP2040 Zero ||\n| Q1, Q2, Q3 | N-MOSFET (SOT-23) | [LCSC](https://www.lcsc.com/product-detail/MOSFETs_Shikues-BSS138_C112239.html) |\n| R1, R2, R3, R4, R5, R6 | 10 kOhm resistor (0805) | [LCSC](https://www.lcsc.com/product-detail/Chip-Resistor-Surface-Mount_UNI-ROYAL-Uniroyal-Elec-0805W8F1002T5E_C17414.html) |\n\n\nBesides you need an **empty WonderSwan Color shell** (a replacement shell or an original shell with the display still installed should work) and a **SNES controller extension cable**.\n\n## PCB\nThe controller PCB should be ordered with 1 mm thickness and ENIG.\n\n## Connection\nThe easiest way to get a SNES controller cable is probably to get a SNES controller extension cable and cut off the female port.\nUse a multimeter to figure out the signals.\nHere's the signal pinout of the controller plug:\n\n![SNES pinput](./res/snes.png \"SNES pinout\")\n\n## Disclaimer\n**Use the files and/or schematics to build your own board at your own risk**.\nThis board works fine for me, but it's a simple hobby project, so there is no liability for errors in the schematics and/or board files.\n**Use at your own risk**.\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzwenergy%2Fswantroller","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fzwenergy%2Fswantroller","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzwenergy%2Fswantroller/lists"}