Sending button presses to console and PC possible?

Hello! I am new to this forum, and, although i have a lot of programming experience, this is my first time working with a microcontroller, or any other programming board. ill do my best to be clear.

What i’m trying to achieve:

I am looking to be able to use a Teensy USB Development board, and a USB Host Shield to be able to, for example, connect a PS3 controller to the Teensy/Host shield, then connect the Teensy/host shield to my PS3. Once done, i would like the device to be able to “listen” for specific button presses from the controller, and transmit a series of buttons to the PS3. For example. Pressing L2+R2 on the PS3 controller could send UP > UP > DOWN > DOWN > LEFT > RIGHT > LEFT > RIGHT > CIRCLE > X > START (closest thing i could think of for the Konami code on a PS3 controller :smiley: ). I would also like the device to work with the PC (with a USB keyboard) and other consoles (xbox one, ps4, xbox 360).

What i’ve learned through research:

I’ve done an extensive amount of research on this topic, as i have no experience in working with microcontrollers, or any physical development boards, however i would love to learn about this. I’ve learned that listening for keys or buttons can likely be done through the use of Interrupts. I’ve learned that the boards that would likely help me achieve what i’m after are the Teensy 2.0 or ++2.0, or the Arduino Uno. (Links to all mentioned devices are provided below). I’ve also learned that i will likely need a USB Host Shield, as mentioned above. I have also found and downloaded the USB Host Shield 2.0 library and read through the source code of the examples.

However, i’m struggling to understand exactly what would help me achieve this, since there seems to be very little information around about reading and sending input from usb keyboards to PCs, or controllers to consoles.

I have also heard that the Teensy 3.1 USB board isn’t compatible with the USB 2.0 Host shield library. I don’t know whether that’s true or not.

What i’d like to know from you guys:

Is this project feasible? it seems like it is, and it doesn’t seem like it would be that difficult, as there are other devices that i have found that do similar things. and i have read through the source code, and information about a project that someone completed with a Teensy 3.1 that is a hardware keylogger (link provided below)

Which board should i use? An Arduino board, or a Teensy board? Teensy seems like it provides the functionality that i’m after, however, Arduino boards seem to be more flexible.

Should i use a USB Host Shield? or should i use something else? This is the part that confuses me the most. I know i need two USB ports, one for input and one for output, but i’m not sure how to go about that.

Thanks in advance for all of your replies! i hope i provided enough information.

I’ve also posted the same question that i posted here, on the Teensy development board forum for a wider variety of opinions.

https://forum.pjrc.com/threads/28698-Po … to-console

links to everything that i’ve mentioned are right down below this line >>>

Links:

Teensy development boards: https://www.pjrc.com/teensy/pinout.html

Arduino development boards: http://www.arduino.cc/en/Main/Products

USB Host shield: https://www.circuitsathome.com/products … -assembled

The Hardware keylogger project i referenced: http://www.irongeek.com/i.php?page=secu … gger-phukd

One thing that always plagues people starting out in electronics is they want to put together everything at once and make it work. I will say that it never works like that. You need to start simple. Get one thing working seperately, then get the next item working seperately. Once you get all these items working, then you can start putting them together. Once you are ready to combine these, you will have learned enough that it should be easy.

So you are trying to get info from a PS3 controller, search Google on how to accomplish this. There should be many tutorials and code to get you started. These tutorials will tell you what you need in terms of components. Once you can get info from the controller, then start with the USB and getting communication going between the PC and Arduino/Teensy.

Just take one step at a time. In the end, you will have learned enough to do anything.

Hi codlink, thank you for your reply. I am purchasing the materials needed to start simple and play around with simple things first to get an idea of the basics. i certainly won’t expect to learn everything at once, and am very excited to start learning about this. of course i expect to make mistakes first but i understand that’s how we learn things.