Hexapod with ps2 from lynxmotion please help

hi guys, im new to robotics and have some experience with programming language such as java but for some reason i can’t quite grasp how arduino work. i usually modify code and do little simple programming here and there.
i recently started on a robot hexapod project,so i order the botboarduino, ssc32, 18servos, mihn battery pack 6v, and all the component to build the phoenix hexopod. i wire my board according to the following schematics:

lynxmotion.com/images/data/l … _guide.pdf

when i download the code from

lynxmotion.com/images/html/build99f.htm

and upload it it said that i was missing the ps2x.lib libray and then i downloaded the library and solve that problem
after that i was able to successfull download the code but the following warning appear, and i wasnt able to controll my hexapod with my ps2 remote from lynxmotion:
** im not sure if it is the wirirng or the error/warning in the code that prevent it from working**
** i check my battery everything seems to be working fine**
warning message i got:

BotBoarduino_CH3R_PS2.ino: In function ‘void setup()’:
BotBoarduino_CH3R_PS2.ino:300:9: warning: unused variable ‘error’ -Wunused-variable]
In file included from BotBoarduino_CH3R_PS2.ino:26:0:
BotBoarduino_CH3R_PS2.ino: In function ‘void loop()’:
C:\Program Files (x86)\Arduino\hardware\arduino\avr\cores\arduino/Arduino.h:84:25: warning: comparison between signed and unsigned integer expressions -Wsign-compare]
#define min(a,b) ((a)<(b)?(a):(b))
^
BotBoarduino_CH3R_PS2.ino:509:27: note: in expansion of macro ‘min’
In file included from BotBoarduino_CH3R_PS2.ino:32:0:
BotBoarduino_CH3R_PS2.ino: In function ‘void LegIK(short int, short int, short int, byte)’:
Hex_globals.h:20:16: warning: comparison between signed and unsigned integer expressions -Wsign-compare]
#define c2DEC 100
^
BotBoarduino_CH3R_PS2.ino:1212:115: note: in expansion of macro ‘c2DEC’
Hex_globals.h:20:16: warning: comparison between signed and unsigned integer expressions -Wsign-compare]
#define c2DEC 100
^
BotBoarduino_CH3R_PS2.ino:1216:116: note: in expansion of macro ‘c2DEC’
BotBoarduino_CH3R_PS2.ino: In function ‘boolean TerminalMonitor()’:
BotBoarduino_CH3R_PS2.ino:1337:36: warning: suggest parentheses around assignment used as truth value -Wparentheses]
BotBoarduino_CH3R_PS2.ino:1341:43: warning: comparison between signed and unsigned integer expressions -Wsign-compare]
phoenix_driver_ssc32.cpp: In member function ‘void ServoDriver::FindServoOffsets()’:
phoenix_driver_ssc32.cpp:366:64: warning: deprecated conversion from string constant to ‘char*’ -Wwrite-strings]
static char apszLegs] = {“RR”,“RM”,“RF”, “LR”, “LM”, “LF”}; // Leg Order
^
phoenix_driver_ssc32.cpp:366:64: warning: deprecated conversion from string constant to 'char
’ -Wwrite-strings]
phoenix_driver_ssc32.cpp:366:64: warning: deprecated conversion from string constant to ‘char*’ -Wwrite-strings]
phoenix_driver_ssc32.cpp:366:64: warning: deprecated conversion from string constant to ‘char*’ -Wwrite-strings]
phoenix_driver_ssc32.cpp:366:64: warning: deprecated conversion from string constant to ‘char*’ -Wwrite-strings]
phoenix_driver_ssc32.cpp:366:64: warning: deprecated conversion from string constant to ‘char*’ -Wwrite-strings]
phoenix_driver_ssc32.cpp:367:71: warning: deprecated conversion from string constant to ‘char*’ -Wwrite-strings]
static char apszLJoints] = {" Coxa", " Femur", " Tibia", " tArs"}; // which joint on the leg…
^
phoenix_driver_ssc32.cpp:367:71: warning: deprecated conversion from string constant to 'char
’ -Wwrite-strings]
phoenix_driver_ssc32.cpp:367:71: warning: deprecated conversion from string constant to ‘char*’ -Wwrite-strings]
phoenix_driver_ssc32.cpp:367:71: warning: deprecated conversion from string constant to ‘char*’ -Wwrite-strings]
phoenix_driver_ssc32.cpp:376:9: warning: unused variable ‘ich’ -Wunused-variable]
int ich;
^
PS2_controller.cpp: In member function ‘void InputController::Init()’:
PS2_controller.cpp:120:9: warning: variable ‘error’ set but not used -Wunused-but-set-variable]
int error;
^
PS2_controller.cpp: At global scope:
PS2_controller.cpp:142:6: warning: unused parameter ‘fAllow’ -Wunused-parameter]
void InputController::AllowControllerInterrupts(boolean fAllow)
^
C:\Program Files (x86)\Arduino\libraries\PS2X_lib\PS2X_lib.cpp: In member function ‘void PS2X::read_gamepad(boolean, byte)’:
C:\Program Files (x86)\Arduino\libraries\PS2X_lib\PS2X_lib.cpp:104:53: warning: narrowing conversion of ‘motor2’ from ‘byte {aka unsigned char}’ to ‘char’ inside { } is ill-formed in C++11 -Wnarrowing]
char dword[9] = {0x01,0x42,0,motor1,motor2,0,0,0,0};
^
C:\Program Files (x86)\Arduino\libraries\PS2X_lib\PS2X_lib.cpp:137:36: warning: dereferencing type-punned pointer will break strict-aliasing rules -Wstrict-aliasing]
buttons = (uint16_t)(PS2data+3); //store as one value for multiple functions
^
C:\Program Files (x86)\Arduino\hardware\arduino\avr\libraries\SoftwareSerial\SoftwareSerial.cpp:60:13: warning: unused parameter ‘pin’ -Wunused-parameter]
inline void DebugPulse(uint8_t pin, uint8_t count)
^
C:\Program Files (x86)\Arduino\hardware\arduino\avr\libraries\SoftwareSerial\SoftwareSerial.cpp:60:13: warning: unused parameter ‘count’ -Wunused-parameter]
In file included from C:\Program Files (x86)\Arduino\hardware\arduino\avr\cores\arduino/Arduino.h:247:0,
from C:\Program Files (x86)\Arduino\hardware\arduino\avr\libraries\SoftwareSerial\SoftwareSerial.cpp:43:
C:\Program Files (x86)\Arduino\hardware\arduino\avr\libraries\SoftwareSerial\SoftwareSerial.cpp: In member function ‘void SoftwareSerial::begin(long int)’:
C:\Program Files (x86)\Arduino\hardware\arduino\avr\variants\standard/pins_arduino.h:58:42: warning: comparison is always true due to limited range of data type -Wtype-limits]
#define digitalPinToPCICR§ ((§ >= 0 && § <= 21) ? (&PCICR) : ((uint8_t *)0))
^
C:\Program Files (x86)\Arduino\hardware\arduino\avr\libraries\SoftwareSerial\SoftwareSerial.cpp:317:7: note: in expansion of macro ‘digitalPinToPCICR’
if (digitalPinToPCICR(_receivePin)) {
^
C:\Program Files (x86)\Arduino\hardware\arduino\avr\variants\standard/pins_arduino.h:58:42: warning: comparison is always true due to limited range of data type -Wtype-limits]
#define digitalPinToPCICR§ ((§ >= 0 && § <= 21) ? (&PCICR) : ((uint8_t *)0))
^
C:\Program Files (x86)\Arduino\hardware\arduino\avr\libraries\SoftwareSerial\SoftwareSerial.cpp:358:6: note: in expansion of macro ‘digitalPinToPCICR’
*digitalPinToPCICR(_receivePin) |= _BV(digitalPinToPCICRbit(_receivePin));
^
C:\Program Files (x86)\Arduino\hardware\arduino\avr\libraries\SoftwareSerial\SoftwareSerial.cpp: At global scope:
C:\Program Files (x86)\Arduino\hardware\arduino\avr\libraries\SoftwareSerial\SoftwareSerial.cpp:375:6: warning: always_inline function might not be inlinable -Wattributes]
void SoftwareSerial::setRxIntMsk(bool enable)
^
C:\Program Files (x86)\Arduino\hardware\arduino\avr\libraries\SoftwareSerial\SoftwareSerial.cpp:121:6: warning: always_inline function might not be inlinable -Wattributes]
void SoftwareSerial::recv()
^
C:\Program Files (x86)\Arduino\hardware\arduino\avr\cores\arduino\main.cpp:23:5: warning: unused parameter ‘func’ -Wunused-parameter]
int atexit(void (*func)()) { return 0; }
^

Sketch uses 25,206 bytes (82%) of program storage space. Maximum is 30,720 bytes.
Global variables use 1,300 bytes (63%) of dynamic memory, leaving 748 bytes for local variables. Maximum is 2,048 bytes.

Hi,

While some warnings might be normal in C compilation you should not be receiving any in this case (an a different sketch compile size). Are you using the Arduino 1.6.4 version of the software?

To ensure that we are compiling with the same environment, please ensure you have Arduino 1.6.4 and download this source code for the hexapod and replace your PS2X library with this version.

Please try this and let us know if you get different compilation results.

Concerning the PS2 controller, could you please post some pictures clearly showing all your connections between the PS2 <> BotBoarduino and the BotBoarduino <> SSC-32U.

Sincerely,
BotBoarduino_CH3R_PS2.zip (29.7 KB)
PS2X_lib.zip (11 KB)

Note: a bunch of the compiler warning showed up with later compilers and are reasonably harmless.

example: static char *apszLegs] = {"RR","RM","RF", "LR", "LM", "LF"}; // Leg Order

If I remember, could be eliminated by changing the define to something like:

example: static const char *apszLegs] = {"RR","RM","RF", "LR", "LM", "LF"}; // Leg Order

But then the place that uses it needed/should be changed to be const as well…

As scharette mentioned, it would help to know more information, like including a picture showing the wiring.

Also would help to know which PS2 controller, as I know there have been some issues with version 3 controllers and sometimes
having to either change IO pins or something…

In cases like this I usually like to run a simple PS2 test program to verify that it is working properly. Something like:

[code]#include <PS2X_lib.h>

#if defined(MK20DX128) || defined(MK20DX256)
// For my testing on Teensy
#define PS2_DAT 2
#define PS2_CMD 3
#define PS2_SEL 4
#define PS2_CLK 5
#else
// Botboarduino…
#define PS2_DAT 6
#define PS2_CMD 7
#define PS2_SEL 8
#define PS2_CLK 9
#endif

PS2X ps2x; // create PS2 Controller Class

void setup()
{
Serial.begin(57600);
delay(5000); // give time to open monitor
int error = ps2x.config_gamepad(PS2_CLK, PS2_CMD, PS2_SEL, PS2_DAT); // Setup gamepad (clock, command, attention, data) pins
Serial.print("PS2 Init: ");
Serial.println(error, DEC);
}

void loop() {
ps2x.read_gamepad(); //read controller and set large motor to spin at ‘vibrate’ speed

Serial.print(“PS2 Input: “);
Serial.print(ps2x.ButtonDataByte() & 0xffff, HEX);
Serial.print(”:”);
Serial.print(ps2x.Analog(PSS_LX), DEC);
Serial.print(" “);
Serial.print(ps2x.Analog(PSS_LY), DEC);
Serial.print(” “);
Serial.print(ps2x.Analog(PSS_RX), DEC);
Serial.print(” ");
Serial.println(ps2x.Analog(PSS_RY), DEC);
delay(125);

}[/code]
That helps to make sure that one thing is working…

hi guys thanks for the reply. i have a version three ps2 controller and my arduino software is up to date. my hexapod is wired like how it is on page 25 of the below link:

lynxmotion.com/images/data/l … _guide.pdf

im sorry, i am new to robotshop and not sure how to upload images in my reply.

here is a link to the different version of controllers by lynxmotion:

lynxmotion.com/driver.aspx?T … 2-versions

i hope this help and again thanks a lot i really appreciate the replies.

hi scharette
below are the warning message i got from using the new files you told me to download:

BotBoarduino_CH3R_PS2.ino: In function ‘void setup()’:
BotBoarduino_CH3R_PS2.ino:299:9: warning: unused variable ‘error’ -Wunused-variable]
In file included from BotBoarduino_CH3R_PS2.ino:25:0:
BotBoarduino_CH3R_PS2.ino: In function ‘void loop()’:
C:\Program Files (x86)\Arduino\hardware\arduino\avr\cores\arduino/Arduino.h:84:25: warning: comparison between signed and unsigned integer expressions -Wsign-compare]
#define min(a,b) ((a)<(b)?(a):(b))
^
BotBoarduino_CH3R_PS2.ino:508:27: note: in expansion of macro ‘min’
In file included from BotBoarduino_CH3R_PS2.ino:31:0:
BotBoarduino_CH3R_PS2.ino: In function ‘void LegIK(short int, short int, short int, byte)’:
Hex_globals.h:20:16: warning: comparison between signed and unsigned integer expressions -Wsign-compare]
#define c2DEC 100
^
BotBoarduino_CH3R_PS2.ino:1211:115: note: in expansion of macro ‘c2DEC’
Hex_globals.h:20:16: warning: comparison between signed and unsigned integer expressions -Wsign-compare]
#define c2DEC 100
^
BotBoarduino_CH3R_PS2.ino:1215:116: note: in expansion of macro ‘c2DEC’
BotBoarduino_CH3R_PS2.ino: In function ‘boolean TerminalMonitor()’:
BotBoarduino_CH3R_PS2.ino:1336:36: warning: suggest parentheses around assignment used as truth value -Wparentheses]
BotBoarduino_CH3R_PS2.ino:1340:43: warning: comparison between signed and unsigned integer expressions -Wsign-compare]
phoenix_driver_ssc32.cpp: In member function ‘void ServoDriver::FindServoOffsets()’:
phoenix_driver_ssc32.cpp:366:64: warning: deprecated conversion from string constant to ‘char*’ -Wwrite-strings]
static char apszLegs] = {“RR”,“RM”,“RF”, “LR”, “LM”, “LF”}; // Leg Order
^
phoenix_driver_ssc32.cpp:366:64: warning: deprecated conversion from string constant to 'char
’ -Wwrite-strings]
phoenix_driver_ssc32.cpp:366:64: warning: deprecated conversion from string constant to ‘char*’ -Wwrite-strings]
phoenix_driver_ssc32.cpp:366:64: warning: deprecated conversion from string constant to ‘char*’ -Wwrite-strings]
phoenix_driver_ssc32.cpp:366:64: warning: deprecated conversion from string constant to ‘char*’ -Wwrite-strings]
phoenix_driver_ssc32.cpp:366:64: warning: deprecated conversion from string constant to ‘char*’ -Wwrite-strings]
phoenix_driver_ssc32.cpp:367:71: warning: deprecated conversion from string constant to ‘char*’ -Wwrite-strings]
static char apszLJoints] = {" Coxa", " Femur", " Tibia", " tArs"}; // which joint on the leg…
^
phoenix_driver_ssc32.cpp:367:71: warning: deprecated conversion from string constant to 'char
’ -Wwrite-strings]
phoenix_driver_ssc32.cpp:367:71: warning: deprecated conversion from string constant to ‘char*’ -Wwrite-strings]
phoenix_driver_ssc32.cpp:367:71: warning: deprecated conversion from string constant to ‘char*’ -Wwrite-strings]
phoenix_driver_ssc32.cpp:376:9: warning: unused variable ‘ich’ -Wunused-variable]
int ich;
^
PS2_controller.cpp: In member function ‘void InputController::Init()’:
PS2_controller.cpp:120:9: warning: variable ‘error’ set but not used -Wunused-but-set-variable]
int error;
^
PS2_controller.cpp: At global scope:
PS2_controller.cpp:142:6: warning: unused parameter ‘fAllow’ -Wunused-parameter]
void InputController::AllowControllerInterrupts(boolean fAllow)
^
C:\Program Files (x86)\Arduino\libraries\PS2X_lib\PS2X_lib.cpp: In member function ‘boolean PS2X::read_gamepad(boolean, byte)’:
C:\Program Files (x86)\Arduino\libraries\PS2X_lib\PS2X_lib.cpp:96:54: warning: narrowing conversion of ‘motor2’ from ‘byte {aka unsigned char}’ to ‘char’ inside { } is ill-formed in C++11 -Wnarrowing]
char dword[9] = {0x01,0x42,0,motor1,motor2,0,0,0,0};
^
C:\Program Files (x86)\Arduino\libraries\PS2X_lib\PS2X_lib.cpp:154:36: warning: dereferencing type-punned pointer will break strict-aliasing rules -Wstrict-aliasing]
buttons = (uint16_t)(PS2data+3); //store as one value for multiple functions
^
C:\Program Files (x86)\Arduino\hardware\arduino\avr\libraries\SoftwareSerial\SoftwareSerial.cpp:60:13: warning: unused parameter ‘pin’ -Wunused-parameter]
inline void DebugPulse(uint8_t pin, uint8_t count)
^
C:\Program Files (x86)\Arduino\hardware\arduino\avr\libraries\SoftwareSerial\SoftwareSerial.cpp:60:13: warning: unused parameter ‘count’ -Wunused-parameter]
In file included from C:\Program Files (x86)\Arduino\hardware\arduino\avr\cores\arduino/Arduino.h:247:0,
from C:\Program Files (x86)\Arduino\hardware\arduino\avr\libraries\SoftwareSerial\SoftwareSerial.cpp:43:
C:\Program Files (x86)\Arduino\hardware\arduino\avr\libraries\SoftwareSerial\SoftwareSerial.cpp: In member function ‘void SoftwareSerial::begin(long int)’:
C:\Program Files (x86)\Arduino\hardware\arduino\avr\variants\standard/pins_arduino.h:58:42: warning: comparison is always true due to limited range of data type -Wtype-limits]
#define digitalPinToPCICR§ ((§ >= 0 && § <= 21) ? (&PCICR) : ((uint8_t *)0))
^
C:\Program Files (x86)\Arduino\hardware\arduino\avr\libraries\SoftwareSerial\SoftwareSerial.cpp:317:7: note: in expansion of macro ‘digitalPinToPCICR’
if (digitalPinToPCICR(_receivePin)) {
^
C:\Program Files (x86)\Arduino\hardware\arduino\avr\variants\standard/pins_arduino.h:58:42: warning: comparison is always true due to limited range of data type -Wtype-limits]
#define digitalPinToPCICR§ ((§ >= 0 && § <= 21) ? (&PCICR) : ((uint8_t *)0))
^
C:\Program Files (x86)\Arduino\hardware\arduino\avr\libraries\SoftwareSerial\SoftwareSerial.cpp:358:6: note: in expansion of macro ‘digitalPinToPCICR’
*digitalPinToPCICR(_receivePin) |= _BV(digitalPinToPCICRbit(_receivePin));
^
C:\Program Files (x86)\Arduino\hardware\arduino\avr\libraries\SoftwareSerial\SoftwareSerial.cpp: At global scope:
C:\Program Files (x86)\Arduino\hardware\arduino\avr\libraries\SoftwareSerial\SoftwareSerial.cpp:375:6: warning: always_inline function might not be inlinable -Wattributes]
void SoftwareSerial::setRxIntMsk(bool enable)
^
C:\Program Files (x86)\Arduino\hardware\arduino\avr\libraries\SoftwareSerial\SoftwareSerial.cpp:121:6: warning: always_inline function might not be inlinable -Wattributes]
void SoftwareSerial::recv()
^
C:\Program Files (x86)\Arduino\hardware\arduino\avr\cores\arduino\main.cpp:23:5: warning: unused parameter ‘func’ -Wunused-parameter]
int atexit(void (*func)()) { return 0; }
^

Sketch uses 24,880 bytes (80%) of program storage space. Maximum is 30,720 bytes.
Global variables use 1,300 bytes (63%) of dynamic memory, leaving 748 bytes for local variables. Maximum is 2,048 bytes.

hi guys

i don’t know if this means anything, but when i turn on my ps2 version3 controller, the red lights flash once and then shut off. also the baud B light flashes red on the ssc32 board and my ps2 reciever right red led flashes on and off while the left one is solid on.
i wired my hexapod according to page 25 of the below link of pdf file

lynxmotion.com/images/data/l … _guide.pdf

my arduino is up to date and i tried downloading the new code and ps2 lib you suggested but nothing changes

Hi,

It seems like you may have a defective product (the PS2 v3 controller). Please open a support ticket here (choose “technical”). You may also want to add a link to this thread in your message.

Sincerely,

last night i was working on the robot and i was able to upload the code to the hexapod without any warning messages. then i figure out how to change the baud rate on the ssc32 board. however, i wasn’t able to control the robot with the ps2 v3 controller. i even try changing the baud rate according to the code in the setup and do a direct connection between the botboard and ssc32 where i connect the tx from botboard to rx on ssc32 and rx from botboard to tx on ssc32 and ground to ground. thanks again guys for the help, i appreciated. i was able to find some up to date library fro the ps2 and the up to date hexapod code which i uploaded successfully without any waring and error messages. however, i still need to know the different between a properly functioning ps2 controller and a broken one. i would like to test my ps2 version 3 controller on some test program, but not sure how to do that because its wireless and has no usb connction to it, the only way i can think of doing that is by testing it with the hexapod code with all the connection in place for the botboard and ssc32 and ps2 reciever. if you guys know a way i can change the code and know where i can find some ps3 library to controll the hexpod with my ps3 controller i would appreciated; i have it just sitting there.

again thanks guys for the response. everyday i feel closer to solving the problems with your help.

hi guys i have one more question. i connected my ssc32 to the pc running the sequence utility and it keep telling me to cycle the power, do you guys think there may be something wrong with my battery or how i wired my hexapod?
thanks

Hi,

Please provide us with pictures of your setup clearly showing all connections to all components. This is a very “visual” debugging step and to help you properly at this step we will need images of your setup.

If you are unsure how to attach pictures (or other files) to your post, please see the attached image for details.

Sincerely,

i forgot to mention that when i was wiring my ssc32 board the transistor near the two capacitor smoke a little and i quickly remove the battery.
what happened was that the soldering remnants poke through the battery pack and cause short circuit or whatever i don’t know much about electrical,
but i dismiss it as nothing cause after i fix the problem the board and battery seem to work fine. i tested the board with the sequencer and was able
to move some servos momentarily. but everything on the board seems to work fine all the leds and all. but when the servo stop moving, it keep telling to
cycle the power. and the bot board that was connected to the ssc32 board seem to be fine. so i been reading the ssc32 manual and i tried setting the baud rate
according to the baud rate on the setup in the hexxapod code, however the non standard setting i wasn’t able to access or cycle through using the button
on the ssc32 board. when i set my baud rate on the ssc32 so that the both red and green is selected(115200) i was able to get connection between ps2 version 3
and receiver but still i am not able to control the robot. so far i can upload my code without any warning messages and get my ps2 and receiver to communicate
at least i think they are connected wirelesslly because the light on the ps2 is solid and teh reciever stop blinking when i set the baud rate to 115200 according to
ssc32 manual, however i wasn’t able to cycle thru using the baud button to the non standard baud rate. i tried changing the baud rate on the code and matching
that baud rate with the baud rate on teh board i can cycle through and still i cannot communicate between robot and controller(nothing happen when i press button
on ps2 nothing happen) i figure i must have a bad ssc32 board or the communication between the botbaord and ssc32 board is not wire right. however i follow the wiring
exactly like on page 25 of the ssc32 pdf manual.
hexapod servo connection.PNG


ssc32 baud rate change guide.PNG

i just want to let you know that the ssc32 seem to work fine now i was able to use it with the sequencer without any problem and i was able to control each servo. the only thing i can’t get to work right is the calibration program. i figure i need to download the ssc32 driver but i just can’t get the software to detect my ssc32 for the caliberation software

If the regular hexapod calibration tool does not seem to work, you could always use Lynxterm to perform the calibration. In Lynxterm, use the top left controls to connect to your SSC-32U. Once the connections is established, type “ver” in the black text box to ensure you are connected. The board should respond with the version of the firmware currently running on it.

Set your motors to 1500. Once this is done, you can click the “Reg.” button on the bottom of the window. From there, you can read all the values of calibration and then choose new offsets (calibrate) each motor one by one as required. Once done, write the values to the registers using the appropriate button.

Sincerely,

i didn’t mean to say that that was the only problem left. my controller which seems to be wirelesslly communicating to the baord( solid leds when analog button is press and reciever’s led is solid too, but this only happened when i set the baud rate using the button on the ssc32 to 115200, however i still cannot set the baud rate physically using to button to non standard one and in the code the buad rate in not standard. i tried matching the baud rate in the code with the one on the board but still wasn’t able to control robot with ps2. i figure the buad rate on the board is probably for the two board to communicate and the one on the code itself is for the usb connection to the pc, but im not sure what i am doing and i dont know much about baud rate

Hi,

The “non standard” baud rate mode is used to indicate that the SSC-32U was set to a non-standard baud rate mode using software configurations. It is not a mode that you can cycle to using the button, it is only meant to inform you that the board is set in a non-standard mode when you press and release the button quickly once.

Concerning your inability to control your robot using the PS2 v3 controller, please continue the support ticket process to receive help.

Sincerely,

Hey scharette,

I was working on the same project and Getting this error that in serial monitor - No controller found, check wiring, see readme.txt to enable debug. visit www.billporter.info for troubleshooting tips

  • My wiring is accurate.
  • I’m using the latest version of Arduino IDE and PS2X_lib V1.8 library.

Please help.

@srajaltiwari Normally this is the case when:

  • PS2 library has not been installed or used properly
  • The code doesn’t make use of the PS2 library (what code are you using?)
  • The wiring does not correspond to the sample code (triple check the code - which pin does what, and actual wiring)
  • There’s an issue with the version of PS2 + receiver you have (ref: PS2 Versions)
1 Like

I have installed PS2 latest version library and I’m using that example code for testing my remote controller
I have a basic PS2 controller - https://www.amazon.in/gp/product/B0992GHCBJ/ref=ppx_yo_dt_b_asin_title_o01_s00?ie=UTF8&psc=1

@srajaltiwari As you can tell from the many versions of the PS2 remote which Lynxmotion has released, that they are not all equal when it comes to hardware connections to a microcontroller. However, if that’s not the issue, then refer to the ideas above - check the pinout with respect to the example, check the physical connections.

Yes i solve that error, there required a 10k resistor in data connection. But I think my PS2 remote has some buttons issues, its printing SELECT without I press any button.