If you're looking for DIY for PlayStation, then you've come to the right place!
If you're looking for DIY for Xbox, this link isn't mine: https://github.com/delabrcd/openrb-instruments
If not into DIY or using Xbox One/Series then check out Roll Limitless Adapter and rb4.app; their work is a lot more stable.
Personally I haven't tested this yet.
Boggs0009 wrote on Reddit that you can bridge some unused resister connections to convert RB1 Wii guitar and dongle into PS3.
For later equipment this is usually labeled J1. I had seen it on the Keyboard dongle but haven't sighted where it is on the Keyboard itself.
This Arduino based adapter allows using the following controllers (or any others you can create the code for) as if they were a RB1 guitar on Rock Band 4 for PS4, the PS3 games, not tested with PS5:
This project is fairly out of date as the equipment was obtained in 2011, the firmware here was made for Uno Rev 1 (Atmega8U2) although it seems to work okay on Uno Rev 3 (ATmega16U2).
Disclaimer: I'm not a very good player, so I cannot comment on what it's like for difficult tracks.
Older videos: Example Oct 2020, Example 2015
I've found having a USB Hub between the PS4 and the Arduino helps with stability, for some reason without the hub the button presses will stop transmitting but the PS4 will still say the guitar is connect. The USB hub might require power if you have other devices connected.
The Sparkfun USB Host Shield I used requires the Arduino has a 7-12V (500-1500mA) power supply. Can sometimes get away without it for the Wii keyboard adapter but Wii guitar and PS3 keyboard seem to need it. If your adapter isn't lighting up or connecting to the controller this is probably the problem.
The Freetronics USBDroid (combined Uno and USB Host Shield) seems to work fine with MPA and Wii Guitar, but not PS3 Keyboard or PS3 Mustang (dongle light does not stay on).
Firmware from November 4th 2015. Sketch from February 5th 2017 updated for more recent Arduino IDE and USB Host Shield 2.0 library, modified from “USBHIDJoystick” example in the USB Host Shield library.
Sketches:
Firmware:
All the hard work was done unknowingly by Dean Camera for LUFA, Darran Hunt (archive) for the base Joystick firmware project, the various developers for the USB Host Shield 2.0 library, and all the corners of the Internet that had notes about how Rock Band controllers work.
The Arduino will act as a passthrough, the USB HID data for Wii and PS3 is pretty much the same.
If the Arduino thinks the USB controller attached is a keyboard (it only looks at the raw HID data, not the device PID), it will rearrange the raw data to emulate playing a Rock Band 1 Guitar. Use the console buttons (and the lone orange key) for menu navigation, and use the coloured keys for when you're playing the game - keys down will trigger a strum, lifting a key from a chord will not. Unlike Rock Band 3 with a native keyboard, the effects switch is mapped to the black keys.
I've known for quite a while now how to activate the keys for PS3 keyboards but it's taken a while to figure out how to do that on an Arduino, it's quite simple really (although requires resetting until it works properly). Could be done better, but I'm still an Arduino beginner. This extra message is currently sent no matter what device is connected, does not appear to be causing any conflict with the previously supported controllers.
While the Mustang was barely usable for RB3 legacy guitar, I figured why not end 2020 with more disappointment and prove myself right that it would also be terrible for RB4 and earlier games. I don't have a RB2+ guitar, therefore I wasn't able to work out how to use it just for auto calibration.
Seems to have less power issues than when using the keyboard controller's wireless USB adapter.
The Mustang through the MPA (Guitar) is not yet working.
Would not recommend trying to play the game using a Xbox 360 gamepad, at least not with the button mapping I thought of. The sketch in the above Downloads section may be simpler that the keyboard sketch for adapting a different kind of controller to work as a guitar.
Auto-strum is included and enabled by default, therefore to navigate menus you need to hold down the Xbox button before pressing any colour button.
Had major issues with the 360 gamepad being detected (player 1 LED should stay lit), suspect related to the PS4/Sparkfun shield power issues and the gamepad having rumble motors.
Xbox 360 guitar controllers on PS3/PS4 are probably possible, look through the USB Host Shield library examples, the library may need to be modified to detect the controllers. For any device really if you can get the data into the Arduino (e.g. Software Serial, MIDI Shield, Bluetooth) you can make a sketch send the emulated guitar data to the firmware and it should work just fine.
Don't send data too fast or you'll cause the buffer to overflow and start sending garbage button presses, you only need to send data when there's change.
If you want to modify the USB HID Firmware for the Arduino you will need a few extra things to compile it.
I used to play on Wii, had all the main games and quite a bit of DLC. RBN ports were eventually discontinued for Wii. I bought a PS3, all the main games and my DLC again. I didn't want to get rid of my Wii stuff (thinking it's not worth anything) and I didn't really want to get more stuff that was going to take up space in my house, so I looked into a conversion.
A MIDI PRO-Adapter was good enough for the keyboard. The overdrive button on the keyboard didn't activate overdrive when used this way. I had 2 Wii guitars I couldn't use but I liked them so much more than the cheap GH3 PS3 controller I picked up.
The first conversion attempts years ago involved serial/MIDI data from a computer to an Arduino, lag was barely an issue, the cables and a laptop near the console were. Eventually moved to using a USB Host Shield, but I suffered a hard drive failure and lost a bunch of stuff.
I bought a PS4 just for Rock Band 4, the RB3 PS3 Keyboard isn't even supported, and thus my fascination with this problem was reignited!
However, as Australians are included in the Sony Europe region, there was a long wait for RB2/Lego/Green Day exports, therefore I've barely been playing RB4 and working on this project.
As of 2024 this project is pretty old now, there's much better ways to achieve more stable results.