# A mobile Bluetooth reader is encountering issues connecting to my point-of-sale application

[Terminal’s mobile readers](https://docs.stripe.com/terminal/mobile-readers) work with iOS, Android and React Native SDKs and use Bluetooth Low Energy to connect to the SDKs on an Android/iOS device, these include: Stripe Reader M2 (US only), and BBPOS WisePad 3 (outside of the US).
* Make sure your reader is sufficiently charged. If a reader software update is needed prior to connecting to your application, 50% battery life is required. If no reader software update is needed, 10% battery life is required. You can check our latest reader software versions (WP3 [here,](https://stripe.com/docs/terminal/readers/bbpos-wisepad3#reader-software-releases) M2 [here](https://docs.stripe.com/terminal/readers/stripe-m2#firmware-versions)) to confirm whether your mobile reader requires an update. See our technical documentation for details on how to [update reader software](https://docs.stripe.com/terminal/payments/connect-reader?terminal-sdk-platform=ios&reader-type=bluetooth#update-reader).
* Make sure your application is set up as follows:
  * Your application uses iOS/Android SDK 3.0.0 and above
  * Connection is established via the [connectReader](https://docs.stripe.com/terminal/payments/connect-reader?terminal-sdk-platform=ios&reader-type=bluetooth#connect-reader) method and not from Bluetooth Settings on your mobile device. Read more in our documentation [documentation on card reader discovery and connection](https://stripe.com/docs/terminal/readers/connecting/bbpos-wisepad3#connect-reader).
  * A `locationId` has been provided with your physical operating address during reader connection. For technical details on this implementation, please visit our [documentation on card reader discovery and connection](https://stripe.com/docs/terminal/readers/connecting/bbpos-wisepad3#connect-reader). For more details about terminal Locations, visit [our reference on fleet management](https://stripe.com/docs/terminal/readers/fleet-management).
* If you are experiencing disconnects when the reader is powered off, battery is low, or when the reader is outside of bluetooth range, please review our docs [here](https://stripe.com/docs/terminal/payments/connect-reader?reader-type=bluetooth).
* Make sure your card reader is able to successfully install software updates. If required software updates fail to install, then the reader will fail to connect to the point-of-sale application. When installing software updates, leave the device powered on and in-range near your POS application.
  * If software updates fail repeatedly, then record the error message and contact support (link :[https://support.stripe.com/email](/email))
* Consider enabling [auto-reconnection](https://docs.stripe.com/terminal/payments/connect-reader?terminal-sdk-platform=android&reader-type=bluetooth#2.-automatically-attempt-reconnection) if not enabled already. It is enabled by default in SDK V4.
* If you use the Android SDK, check out [USB connections](https://stripe.com/docs/terminal/payments/connect-reader?reader-type=usb).
  * USB-connected readers avoid Bluetooth interference and disconnection issues by using a wired connection to the reader.
  * Please [email us](/email) if you are interested in USB connection with iPads.
* Factory reset the reader
  * For the BBPOS WisePad 3: you can attempt a reset of the device by inserting a pin into the small pin-hole right beneath the power button
  * For the Stripe Reader M2: you can reset the device by inserting a pin into the small pin-hole on the read of the reader
* If all of the above fail, please review our [reader return steps](/questions/terminal-card-reader-returns-on-behalf-of-your-connected-accounts).