Homebrew Project [Release] RevolutionDS4 - Play native Wii games with a PS4 controller (motion controls, speaker audio & touchpad pointer on a $5 Pico W)

reyhe66243

New Member
Newbie
Joined
Oct 6, 2026
Messages
2
Reaction score
6
Trophies
0
Age
19
XP
15
Country
Uruguay
I’ve been working on this project called RevolutionDS4


It allows you to use PS4 DualShock 4 controllers wirelessly on the Wii for native Wii games:


Motion controls & Gyro: Real-time accelerometer and gyroscope support for tilt, shaking, and MotionPlus games
Touchpad as an IR pointer: You can use the DS4 touchpad to aim on menus or in-game without needing a physical sensor bar.
Controller speaker audio: Wii Remote sound effects play directly through the DS4 built-in speaker.
Multiplayer & Lightbars: Multiple DS4s work alongside real Wiimotes, and the lightbar automatically changes color depending on your player slot (P1 Blue, P2 Red, P3 Green, P4 Yellow).
Control modes: Supports vertical mode, horizontal mode (with remapped buttons for comfort in platformers/racers), and Classic Controller mode.

Hardware-wise, it just needs a Raspberry Pi Pico W (~$5) plugged into the rear USB port of the Wii, along with a custom cIOS module on the console side.


The source code, setup guide, and pre-compiled files (.uf2 for the Pico and .app for the cIOS) are on GitHub:


https://github.com/reyhe66243/RevolutionDS4


Any feedback is appreciated
 
Hi Rodrigo, and thanks for this project, it's a brilliant idea!

Unfortunately I don't have a DS4, so I cannot test it, but the approach you took seems very flexible and should allow you to support more controllers. A few remarks:

- I see you took code from EGC, which is perfectly fine, but please respect its license, which asks the copyright notice not to be removed.
- You can easily support nunchucks, too, just without accelerometer data: not that many games need it anyway.
- Did you try including other EGC drivers? At a first sight, it looks like your project should be able to work with more controllers -- of course, not all will offer all the functionality (many controllers lack touch/pointer functionality), but for emulating a classic controller they should be enough.
- Is there any chance that you could relicence your sony_ds4.c file as MIT? Eventually I will add sound support to EGC, so your changes would come in very handy, then!

Keep up the great work!
 
  • Like
Reactions: niuus
Hi Rodrigo, and thanks for this project, it's a brilliant idea!

Unfortunately I don't have a DS4, so I cannot test it, but the approach you took seems very flexible and should allow you to support more controllers. A few remarks:

- I see you took code from EGC, which is perfectly fine, but please respect its license, which asks the copyright notice not to be removed.
- You can easily support nunchucks, too, just without accelerometer data: not that many games need it anyway.
- Did you try including other EGC drivers? At a first sight, it looks like your project should be able to work with more controllers -- of course, not all will offer all the functionality (many controllers lack touch/pointer functionality), but for emulating a classic controller they should be enough.
- Is there any chance that you could relicence your sony_ds4.c file as MIT? Eventually I will add sound support to EGC, so your changes would come in very handy, then!

Keep up the great work!

Hi Alberto, thanks a lot for reaching out and for the kind words!

First of all, apologies for the attribution confusion. I originally took the cIOS base from Fakemote, and since Fakemote's repository is GPLv2 and sony_ds4.c didn't have a per-file author header at the top, I mistakenly tagged the modified file as GPLv2 without realizing it came from your standalone EGC project. I definitely had no intention of stripping your credit!

I just pushed a commit updating sony_ds4.c to restore the EGC copyright notice and licensed the file under the MIT license, along with adding proper attribution to you and EGC in the NOTICE file. You have full permission to use all my modifications in sony_ds4.c under MIT whenever you want to backport the speaker sound support into EGC — I'd be glad if that code comes in handy!

Regarding Nunchuk support and the other EGC drivers: the main reason I haven't looked into other controllers is that the project was born out of a very specific itch with Fakemote. Playing tethered via a USB cable always felt limiting — you're stuck sitting right in front of the console, and swinging the controller around for gyro/accelerometer gestures with a wire attached is pretty awkward. Using the Pico W as a wireless Bluetooth bridge was my way to fix that.

That's why the project is called REVOLUTIONDS4: I wanted to laser-focus exclusively on the DualShock 4 and squeeze everything possible out of it to make it feel as close to a real Wiimote as I could (touchpad pointer, motion controls, rumble, player LEDs, and speaker audio streaming). Because of that, I don't really have plans to expand to other controllers for now, though your point about Nunchuk without accelerometer is a really good suggestion.

By the way, I've seen some of your other projects, including your work with custom Bluetooth stacks to try and utilize the Wii's internal BT chip — that's seriously impressive stuff!

Thanks again for EGC and for stopping by!
 
Last edited by reyhe66243,
  • Like
Reactions: niuus and mudrik

Site & Scene News

New Hot Discussed User Submitted