Missing data bt communication

when I send from mobile to arduino for example 12345
I see serial monnitor 2345 specialy first digit is missing

Do you think it might help if you explained how you are passing the data from the mobile to the Arduino and help even more if you posted your code ?

Is code involved?

No,
I have intermediate arduino knowledge,
I am thinking of transferring data via bluetooth, for this I downloaded an application from the playstore and I am experimenting with this application.

#include <SoftwareSerial.h>
SoftwareSerial BTSerial(5, 6); // RX | TX

void setup()
{
Serial.begin(9600);
BTSerial.begin(38400);

}

void loop()
{
if (BTSerial.available())
{
String c=BTSerial.readString();
Serial.println(c);

}

}
}

Are you certain that the first character is being sent ?

Which BT application are you using and what OS does the mobile use ?

:)) I'm not blind, I have Android, I am using "Arduino bluetooth controller" app

Also, I don't think there is a problem with my circuit connection.

not always, sometimes it missing, I sent five times it missing 2 times

I don't doubt that you are entering the 1, but are you sure that it is being sent ?

I use the Android "Serial Bluetooth Terminal" written by Kai Morich and I know that works well

Which Arduino board and Bluetooth device are you using ?

arduino uno and hc-05

I see at least 4 apps named Arduino Bluetooth Controller in the Play Store. Who wrote the one that you use ?

What happens if you change the HC05 to run at 9600 baud. Software serial is sometimes flaky at 38400.

Giumig Apps

01:00:35.147 -> 345
01:00:40.631 -> 2345
01:00:44.809 -> 2345
01:00:49.098 -> 2345
01:00:53.082 -> 12345
01:00:57.597 -> 2345
01:01:01.628 -> 12345

just two times it is currect

Strings are known to cause trouble due to the poor memory management. Does the outcome change to be better close after a reset of the controller?

01:16:25.192 -> 23456
01:16:31.146 -> 23456
01:16:34.097 -> 123456
01:16:38.550 -> 23456
01:16:42.112 -> 23456

Unfortunately :: (

I will use the number I sent in the program.

so i am trying to get it as string, do you have a different suggestion

actually the number goes currectly but when converting it to string it becomes a problem

Not true!! Strings are very very good on Uno (AVR) processors. See my tutorial on Taming Arduino Strings

However readString() will pause for 1sec waiting for more input.
Try adding
BTSerial.setTimeout(5);
in setup which will return faster.
also
increase the Serial baud rate to
Serial.begin(115200);
and try a slower SoftwareSerial baud rate say 9600.
Also looks like you are sending \n at the end of the data so changing
readString() to readStringUntil('\n'); will be faster as it will return as soon as it see the \n.

Although I don't think that is your problem.
A couple if other ideas.
i) My tutorial Arduino Software Solutions
has various sketches to read from Serial
ii) try a different app I have used

iii) I have a paid app the connects via Bluetooth/BLE and has a companion free app pfodDesigner that generates the Arduino code. In the pfodDesigner choose Serial as the connection and then edit it to Software Serial in the generated code.
BUT.. try the free app ii) first