Custom PS3 Controller: Software Emulation Version

[Matlo] posted a tutorial that will walk you through setting up a six-axis controller emulator. In April he developed a hardware solution using the Teensy but this version just needs a Linux computer with a Bluetooth adapter. If you don’t mind adding a computer to the mix you can use any peripheral controller that will talk to Linux and then adjust the six-axis PS3 controller mapping accordingly.

21 thoughts on “Custom PS3 Controller: Software Emulation Version

  1. 2.4 ghz yagi + PS3 emulation via linux over BT + PS3 controller macros = interesting potential for abuse

    guess you still have to register the controller w/ the target, but it should be fairly straight-forward.

  2. @Owen

    There’s this smartphone OS called Android which is basically a modified version of Linux, maybe you’ve heard of it. Should be fairly easy to adapt the above to work off a Droid phone if there aren’t permissions limiting what you can do with the Bluetooth adapter.

  3. @jordan
    You probably don’t have gcc and the kernel headers installed, try this.

    “sudo apt-get install build-essential”

    That should fix it, if not post an error message and I’ll see what I can do to help.

  4. @fluidic

    That isn’t really how Android works. The underlying OS is Linux, but apps themselves all run in a Java VM. There is an NDK (Native Development Kit) that gives you limited support for compiling C code and interfacing with some of the system libraries like BlueZ, but there is really no way to run Linux applications on Android.

    His implementation here looks pretty involved, so I don’t think it could be easily ported to Android. But perhaps in the future a simplified version might be do-able with the NDK.

  5. Got it working, technically. Everything installed correctly, changed my mappings, recompiled. However every input I make has about a ten second lag. I also noticed on the term running emu, there is a flood of ’emu: send_report: Cannot allocate memory’ errors. Any insight on this?

    I’m on Ubuntu 10.04 LTS, running on a thinkpad T42. Is there anyone out there that has got this working correctly, or at least in a playable state?

    Also posted this in the blog comments, not sure which site would get more attention.

  6. Anyone know of anything similar for windows? Or a slick way to do use this in a windows environment. I currently have a HPTC set up with Win7 and am looking for a way to control my PS3 over bluetooth for blu-ray playback. I know that windows is evil and all but i don’t need that lecture. It has to work smoothly and reliable from my wife’s viewpoint so i use what i have.

  7. some way to control ps3 by bluetooth with aino would be cool, the aino does have “remote play” so it’s already registered witht the ps3, like a touchpad remote, would be awesome for blu-ray :)

  8. Note for those who don’t have a dongle with a compatible chip: there are cheap CSR dongles on ebay. Just enter keywords ‘CSR’ and ‘dongle’ for your search, and select ‘Include title and description’. I ordered some of these and I’ll test them as soon as I receive them!

  9. Good news, I succeeded in pairing a dongle without modifying it (no bdaddr modification). Now any bluetooth device can potentially emulate a sixaxis, and as a consequence the emulator can now be ported to any other OS. See last post on my blog.

  10. salut

    Je n’y arrive pas, car il me faudrait un compte google; Désolé
    Sinon je vais devenir fou, cela fait des heures que j’essai de trouver ce fameux test enable no en lisant toutes les lignes dans gedit mais impossible!!! Je sais que j’y suis presque pourtant… Sinon pourrais tu m’aider par mail peut être,,,

  11. Euh attends le fichier fait plus de 10000 lignes…

    Tu avais plus vite fait de créer un compte google…

    Je viens de re-télécharger bluez 4.63, et je vois bien, à la ligne 13015: test_enable=no.

Leave a Reply

Please be kind and respectful to help make the comments section excellent. (Comment Policy)

This site uses Akismet to reduce spam. Learn how your comment data is processed.