Lynxmotion Ps2 controller - Pressure mode

I am working with a new Lynxmotion Ps2 controller V4.
I am using a arduino Uno and the BillPorter library.

While connecting the controller i get a message:
Controller refusing to enter Pressures mode, may not support it.
73DualShock Controller Found

Is there a way to entre pressure mode after the initial handshake? Should i modify something with the initial code to ensure pressure mode is enabled ?

Also even with new batteries, controller shuts down after less then 5 minutes. is there a setting i should change?

Thanks in advance for any help.

The Lynxmotion PS4 remote (to the best of my memory) does not have any pressure mode. You can see in the code that Bill Porter included this as “True” in the code, which can be changed to “False”, though it should not affect the functioning of the library. If you’d simply like to keep the code the same but not see the warning, you can comment it out in the code. You can see it in the last line here:

void setup(){

 //CHANGES for v1.6 HERE!!! **************PAY ATTENTION*************
 error = ps2x.config_gamepad(13,11,10,12, true, true);   //setup pins and settings:  GamePad(clock, command, attention, data, Pressures?, Rumble?) check for error
 if(error == 0){
   Serial.println("Found Controller, configured successful");
   Serial.println("Try out all the buttons, X will vibrate the controller, faster as you press harder;");
  Serial.println("holding L1 or R1 will print out the analog stick values.");
  Serial.println("Go to for updates and to report bugs.");
  else if(error == 1)
   Serial.println("No controller found, check wiring, see readme.txt to enable debug. visit for troubleshooting tips");
  else if(error == 2)
   Serial.println("Controller found but not accepting commands. see readme.txt to enable debug. Visit for troubleshooting tips");
  else if(error == 3)
   Serial.println("Controller refusing to enter Pressures mode, may not support it. ");

Regarding battery life, 5 minutes does not seem at all good. The main problem customers have is leaving the controller ON while not in use, which drains the batteries very quickly. The controller is “thirstier” than many, but if you find again that it lasts less than a few hours with new batteries, we’ll proceed with an exchange.

Thank you for the quick response.

As for my previous comment on the “pressure mode”, the controller returns only 0 or 255 as a result of pressing arrows or buttons.
But if i recall correctly every button should provide a pressure sensitive result.

The returned result i pasted is from the “PS2X_lib.cpp” witch validates if the controller is in analog mode. Therefor, even if i push the pressure mode as “true”, the program reverts to standard mode upon return code validation. (Controller returns 73 instead of 79)

bool PS2X::enablePressures() {

 sendCommandString(enter_config, sizeof(enter_config));
 sendCommandString(set_bytes_large, sizeof(set_bytes_large));
 sendCommandString(exit_config, sizeof(exit_config));

// if(PS2data[1] != 0x79)
// return false;

 en_Pressures = true;
 return true;



But if i recall correctly every button should provide a pressure sensitive result.

Not aware of any of the PS2 remote controls used for Lynxmotion ever being able to sense the force applied (quite impressive if they did) on buttons etc.

Ok so the Lynxmotion buttons are not pressure sensitive.

This should be added to the controller description in your store because standard PS2 controller and the BillPorter library are both ready for pressure sensitive results on every button.

Wonder how they did it - perhaps just measuring linear displacement rather than force.

Yes totaly sorry. They call it pressure but it is linear displacement.

I have tried it multiple times and upon resetting the Arduino after loading the new program it correctly enters pressure mode (79).
Buttons have a very narrow sensitivity but I do get different levels.

I would like to thank you for the quick reply’s.

Also, for the battery levels it seems you have imbedded an auto-off system to close the controller and it needs to be turned off 2-3 seconds before turning it back on.

In the end it works as intended and advertised.