# Device Information

This example demonstrates how to retrieve and display information about connected DepthAI devices, including their camera sensors
and internal data such as revision number and product name.

This example requires the DepthAI v3 API, see [installation instructions](https://docs.luxonis.com/software-v3/depthai.md).

## Code

```python
import depthai as dai
from typing import List

print('Searching for all available devices...\n')
infos: List[dai.DeviceInfo] = dai.Device.getAllAvailableDevices()

if len(infos) == 0:
    print("Couldn't find any available devices.")
    exit(-1)

for info in infos:
    # Converts enum eg. 'XLinkDeviceState.X_LINK_UNBOOTED' to 'UNBOOTED'
    state = str(info.state).split('X_LINK_')[1]

    print(f"Found device '{info.name}', DeviceID: '{info.deviceId}', State: '{state}'")

# Connect to a specific device. We will just take the first one
print(f"\nBooting the first available camera ({infos[0].name})...")
with dai.Device(infos[0]) as device:
    print("Available camera sensors: ", device.getCameraSensorNames())
    calib = device.readCalibration()
    eeprom = calib.getEepromData()
    
    print(f"Product name: {eeprom.productName}, board name {eeprom.boardName}")
    print(f"Board revision: {eeprom.boardRev}")
```

## Output example

### RVC2

```bash
Searching for all available devices...

Found device '1.1', DeviceID: '18443010211F850E00', State: 'BOOTLOADER'

Booting the first available camera (1.1)...
Available camera sensors:  {<CameraBoardSocket.CAM_C: 2>: 'OV9282', <CameraBoardSocket.CAM_A: 0>: 'OV9782', <CameraBoardSocket.CAM_B: 1>: 'OV9282'}
Product name: OAK-D-PRO-W-97, board name DM9098
Board revision: R6M2E6
```

### RVC4

```bash
Searching for all available devices...

Found device '10.12.118.95', DeviceID: '3604808376', State: 'GATE'

Booting the first available camera (10.12.118.95)...
Available camera sensors:  {<CameraBoardSocket.CAM_C: 2>: 'OV9282', <CameraBoardSocket.CAM_B: 1>: 'OV9282', <CameraBoardSocket.CAM_A: 0>: 'IMX586'}
Product name: OAK4-D, board name NG9498-ASM
Board revision: R1
```
