When the output from my BLE app arrives on the arduino its just gibberish

this works amazing! but now it only sends value when i release the slider

That's the impression it gives because you can move the slider in a couple of milliseconds but the Clock Timer is currently set to 500 Milliseconds - did you add the elapsed time code to the Sketch?

You can tweak-down the time intervals. Try 100 milliseconds in the App and 80 milliseconds in the Sketch.

im not sure what code that is but it sounds like all i have to do is add delay() right?

edit : it didnt work

no i didnt

That depends on whether you are running any hardware that could be detrimentally affected by effectively being switched on-off all the time. You can't use a delay with sensors for example, unless the time interval is measured in minutes. I posted a Sketch that shows how to perform an elapsed time delay,

can you reply to that post again? i cant tell which one it is

BLE_ReceiveString.ino (1.9 KB)

See Post #33

The only part you are really interested in now is the
// if lgPeriod milliseconds have passed, check for data from App

Set lgPeriod to 20% shorter than the App time interval

it sometimes only returns the last 3 digit of the value

also something that ive noticed is it works when you move it slowly, like REALLY slowly
after moving the slider you wait and then slide it again, if you dont, it only returns the last 3 digits of the last slide

Have you got your time intervals right?

its 100 in the app and 80 in the sketch right?

I was thinking more about have you coded it correctly but yes, 100 in the App, 80 in the Sketch - maybe that is too fast then. How about tweaking up to 200 and 160?