Dual PS2 Controllers

Has anyone ever tried connecting 2 PS2 wireless controllers to a single bot board II? While my EE skills are a little out of date, it seems like it would be possible to add a pull-up resistor to a pin, plug in a second controller and copy/paste the PS2 code that reads the controller values (adjusting the code for the new pins of course).

Thanks in advance.
Ed

From this site: sophiateam.undrgnd.free.fr/psx/index.html

It should also be noted that this is a bus of sorts. This means that the wires are all tied together (except select which is separate for each device). For the CLK, ATT, and CMD pins this does not matter as the PSX is always the originator. The DATA and ACK pins however can be driven from any one of four devices. To avoid contentions on these lines they are open collectors and can only be driven low.

DATA
Signal from Controller to PSX.
This signal is an 8 bit serial transmission synchronous to the falling edge of clock (That is both the incoming and outgoing signals change on a high to low transition of clock. All the reading of signals is done on the leading edge to allow settling time.)
COMMAND
Signal from PSX to Controller.
This signal is the counter part of DATA. It is again an 8 bit serial transmission on the falling edge of clock.
VCC
VCC can vary from 5V down to 3V and the official SONY Controllers will still operate.
ATT
ATT is used to get the attention of the controller.
This signal will go low for the duration of a transmission. I have also seen this pin called Select, DTR and Command.
CLOCK
Signal from PSX to Controller.
Used to keep units in sync.
ACK
Acknowledge signal from Controller to PSX.
This signal should go low for at least one clock period after each 8 bits are sent and ATT is still held low. If the ACK signal does not go low within about 60 us the PSX will then start interrogating other devices.

We don’t use the ACK in our robots. You should be able to share the CLK, CMD, and DAT, then use a separate I/O line for ATT (select) for each controller you want to connect. I know, I’m just enough help to be dangerous. lol Hope this helps!

Looks even easier than I thought. With the ATT pin no extra pullup resistor is required! Sharing the other pins also has the advantage that I will have more I/O pins left on the Bot Board. Once I get a second controller I’ll post the results here. Unfortunately, given my workload, it will probably be a couple of weeks.

Thanks
Ed

Worked great! Used ATT pin to toggle between the 2 controllers and it works without a problem. Thanks again.

Whooeee! We love to here about success! Can we see what you are controlling with 4 joysticks and 32 buttons? :open_mouth:

Right now it is a pile of servos, brackets, motor controllers, wires, electronics, etc. Eventually it will be a rover with an arm but this is probably several months away. Once it takes shape into something picture worthy I will post a picture.

Ah a rover with an arm. 8) This might interest you. This is something we just started working on a week or two ago. It would give you more range, up to 1000 yards.

lynxmotion.net/viewtopic.php?t=4399