# Connect over Bluetooth





These guides show how to talk to **devices in the same room** over Bluetooth Low Energy with [`bare-bluetooth`](/bare/reference/bare/modules/bare-bluetooth): no Wi-Fi, no internet, no server. Each guide builds on code that already ships upstream, so you can run it as-is before you change it.

<Callout type="tip">
  For how the pieces fit together, read [Bluetooth in Bare](/bare/explanation/bluetooth) first. For the rules that make your code reliable on real devices, read [Bluetooth best practices](/bare/explanation/bluetooth/best-practices).
</Callout>

<Cards>
  <Card href="/bare/how-to/connect-over-bluetooth/build-a-bluetooth-chat-for-ios-and-android" title="Build a Bluetooth chat for iOS and Android" description="Walk through the Bluetooth chat in bare-mobile-doctor: two phones find each other, open an L2CAP channel and exchange messages, from a React Native app with a Bare worklet." />

  <Card href="/bare/how-to/connect-over-bluetooth/set-up-bluetooth-in-a-mobile-app" title="Set up Bluetooth in a mobile app" description="Declare and request the iOS and Android Bluetooth permissions, link the native addons, and start the worklet only once access is granted." />

  <Card href="/bare/how-to/connect-over-bluetooth/exchange-data-over-l2cap" title="Exchange data over L2CAP" description="Open a stream between two devices with an L2CAP channel, and hand the channel's PSM to the other side through a characteristic." />

  <Card href="/bare/how-to/connect-over-bluetooth/read-write-and-subscribe-with-gatt" title="Read, write and subscribe with GATT" description="Scan for a service, connect, find a characteristic and trade writes for notifications." />

  <Card href="/bare/how-to/connect-over-bluetooth/use-platform-specific-bluetooth-features" title="Use platform-specific Bluetooth features" description="Drop down to bare-bluetooth-apple or bare-bluetooth-android for what the cross-platform API leaves out, such as reconnecting without a scan." />
</Cards>
