# Supported devices

Canonical page: https://docs.ovok.com/native-sdk/guide/components/bt-management/supported-devices

The Bluetooth package exports two related catalogs from `@ovok/native/bt-device`:

- `SUPPORTED_DEVICES` contains display metadata and a per-entry `acceptedDevices` array ready to use with `BTProvider`.
- `SUPPORTED_ACCEPTED_DEVICES` is a de-duplicated list of all declarations present in the catalog.

The catalog also exports `Devices`, the simpler static display data used by `SupportedDeviceList`.

## Choose supported entries [#choose-supported-entries]

A `SupportedDeviceDefinition` includes an ID, name, manufacturer, logo, image credit, measurement types, accepted-device declarations, and an optional manual URL. Use its declaration array to configure the Bluetooth session.

~~~tsx
import { SUPPORTED_DEVICES } from "@ovok/native/bt-device";

const selectedDevice = SUPPORTED_DEVICES.find(
  (entry) => entry.id === selectedId,
);
const acceptedDevices = selectedDevice?.acceptedDevices ?? [];

// Offer a connect action only when acceptedDevices.length is greater than zero.
~~~

Not every catalog row has a protocol declaration. Some entries are present for device discovery or catalog display and have an empty `acceptedDevices` array. Check the array before presenting a connect action. A catalog selection is metadata; it does not pair or connect on its own.

`SUPPORTED_ACCEPTED_DEVICES` is useful when a session accepts every catalog declaration. It includes only declarations found in catalog entries and removes duplicate declarations. Prefer a narrower set when the product only supports a subset.

## UI choices [#ui-choices]

- Use [SupportedDevicesCatalogList](/native-sdk/guide/components/ui/supported-devices-catalog-list) for a rich, selectable catalog.
- Use [SupportedDeviceList](/native-sdk/guide/components/bt-device/supported-device-list/) for the static names, images, and image credits.
- Use [BTDeviceInstruction](/native-sdk/guide/components/bt-device/bt-device-instruction/) to display an available SDK manual.

The catalog's measurement type and manual metadata are useful for building product UI. They do not replace testing with the exact device models and firmware versions your app supports.

See the [Bluetooth guide](/native-sdk/guide/modules/bt-management) and [custom devices](/native-sdk/guide/components/bt-management/custom-devices/).
