# OAK4 Getting Started

Use this guide to connect your OAK4 camera, confirm it is working in OAK Viewer, and choose how to start building with DepthAI.

## Before you begin

### Hardware requirements

Have one of the two supported connection ready:

 * PoE+: A 30 W 802.3at PoE+ injector or switch, such as the [TP-Link
   TL-SG1005P](https://www.tp-link.com/us/business-networking/poe-switch/tl-sg1005p/),
 * USB-C: A USB-C port with USB Power Delivery (PD) and a USB 3 data cable. The port must be able to supply at least 15 W; 30 W is
   recommended.

> **Internet access is recommended**
> Internet access lets OAK4 download Luxonis OS and agent updates, pull container images and dependencies when [building OAK Apps](https://docs.luxonis.com/software-v3/oak-apps.md), and use [Hub](https://docs.luxonis.com/cloud/hub.md) features such as remote app deployment, logs, streams, and device management. Basic local use and prebuilt offline deployments can work without it. See [Offline and Production Setup](https://docs.luxonis.com/hardware/platform/deploy/oak4-deployment-guide/oak4-offline.md).

## Watch the setup video

This video covers the hardware and OAK Viewer setup described below.

## Connect your camera

Select the connection you are using.

#### PoE+

* Connect the camera to a 30 W PoE+ port on your injector or switch.
 * Connect the injector or switch to your network.
 * Connect your computer to the same network.
 * For more bandwidth and a more reliable connection, connect the computer directly to the same switch with a second Ethernet
   cable. Wi-Fi also works, but it may limit bandwidth.
 * Wait for the camera to finish booting.

The diagram shows the camera and computer connected to the same PoE+ switch. The second Ethernet cable between the switch and
computer carries camera data directly to the computer.

Check the status light on the camera:

 * 🔴 Brief red flash: The camera may not have detected a compliant PoE+ signal.
 * 🟡 Yellow: The camera detected 15 to 20 W and is starting in reduced-power mode.
 * 🔵 Solid blue: The camera has finished booting and is ready.
 * 🟠 Solid orange: The camera may have a device problem. Contact Luxonis Support.

If the camera never reaches solid blue, see [Power and LED troubleshooting](#Power%20and%20LED%20troubleshooting).

#### USB-C

* Connect a USB 3 data cable to the camera. Do not use a USB 2 or charge-only cable.
 * Connect the other end directly to a USB-C port that supports USB Power Delivery.
 * Avoid unpowered hubs and docks during the first setup.
 * Wait for the camera to finish booting.

Power requirements:

 * 30 W is recommended.
 * 15 to 20 W is supported with throttled camera performance, which is still sufficient for most use cases.
 * USB-A cannot provide enough power when USB carries both power and data.

Check the status light:

 * 🟡 Yellow: The camera is running with limited power. Boot may take longer.
 * 🔵 Solid blue: The camera has finished booting.
 * Repeated disconnects, USB 2 speeds, or restarts when Viewer connects can indicate insufficient power.

If USB-C is unstable, use PoE+ for power and USB for data.

Sharing host internet to camera:

For the best experience we recommend connecting the camera to the internet. You can do that by sharing host PC internet connection
by:

 1. Install [oakctl](https://docs.luxonis.com/software-v3/oak-apps/oakctl.md) to your host PC.
 2. Share the host PC internet connection to the camera with

```bash
oakctl usbd enable
```

#### PoE+ power and USB data

Use this setup when you want a direct USB connection but the computer cannot power the camera reliably.

 * Connect the camera to a 30 W PoE+ injector or switch.
 * Connect a USB 3.0 cable from the camera to a USB 3.0 port on the computer.
 * Wait for the camera to reach a solid blue light.

Because USB carries data only, the computer side may use USB-C or USB-A. The port and cable must still support USB 3.0.

You can also split power and data the other way around: power the camera over USB-C from a host or power bank, and use the network
for data and optional internet connectivity. In that setup, USB-C is used only for power while the camera communicates over
Ethernet or a supported [Wi-Fi adapter](https://docs.luxonis.com/hardware/platform/deploy/oak4-wifi.md).

## Install and open OAK Viewer

OAK Viewer is a desktop GUI application that allows you to visualize the camera's streams and interact with the device. It is
available for Windows, macOS, and Linux.

Download and install OAK Viewer:

#### Linux

> **Note**
> Debian packages are available for Ubuntu 24.04 / 22.04, supporting x86_64 (AMD64) and ARM64 (AArch64) architectures.

OAK Viewer 4.1.6 for [Ubuntu 24.04 / 22.04 (x86)](https://oak-viewer-releases.luxonis.com/data/4.1.6/debian_x86_64/viewer.deb) |
[Ubuntu 24.04 / 22.04 (ARM)](https://oak-viewer-releases.luxonis.com/data/4.1.6/debian_arm_64/viewer.deb)

> **ARM64 development build**
> The Ubuntu ARM64 (AArch64) package is a development build. Reach out to us at [support@luxonis.com](mailto:support@luxonis.com) if you encounter any issues.

#### macOS

> **Note**
> Viewer is available for macOS 12 and later, supporting both ARM (Apple Silicon) and x86_64 (Intel) architectures.

OAK Viewer 4.1.6 for [macOS 12+ (ARM)](https://oak-viewer-releases.luxonis.com/data/4.1.6/macos_arm_64/Viewer.dmg) | [macOS 12+
(x86)](https://oak-viewer-releases.luxonis.com/data/4.1.6/macos_x86_64/Viewer.dmg)

#### Windows

> **Note**
> Please note that you can get warning from Microsoft Defender. Viewer is available for Windows 10/11, supporting the x86_64 (AMD64) architecture.

OAK Viewer 4.1.6 for [Windows 10/11 (x86)](https://oak-viewer-releases.luxonis.com/data/4.1.6/windows_x86_64/Viewer.msi)

More details can be found on the [OAK Viewer Documentation
page](https://docs.luxonis.com/software-v3/depthai/tools/oak-viewer.md).

 * Wait until the camera's status light is solid blue. If it stays yellow or the camera restarts when Viewer starts a pipeline,
   provide at least 15 W; 30 W is recommended.
 * Update OAK Viewer, close it completely, then reopen it after reconnecting the camera.
 * For USB: Use a USB 3 data cable, connect directly to a USB 3 port, and avoid docks, adapters, and unpowered hubs. Try rotating
   the USB-C connector, another port, or a shorter known-good cable. Use an active USB 3 cable for runs longer than 2 m.
 * For PoE+: Reseat a known-good Cat5e or better cable and confirm that the camera and computer are on the same local network and
   subnet.
 * Temporarily disconnect any VPN. Allow local UDP traffic on port `11491` and TCP traffic on port `11490` through the host
   firewall.
 * If the computer uses both Wi-Fi and Ethernet, make sure traffic to the camera's subnet uses the interface connected to the
   camera.
 * Use a supported host: Ubuntu 22.04 or 24.04 on x86_64, macOS 12 or later on Apple Silicon or Intel, or Windows 10 or 11 on
   x86_64.

## Next steps

### Start building with DepthAI

Recommended next step

Build your first OAK4 application with DepthAI, or use [agent tooling](https://docs.luxonis.com/software-v3/agent-tools.md) for
help from a coding agent.

[Explore DepthAI](https://docs.luxonis.com/software-v3.md)

Other useful next steps include:

### Open the offline guide

Prepare offline devices, install apps from files, and follow a production-line setup flow.

[Open the offline guide](https://docs.luxonis.com/hardware/platform/deploy/oak4-deployment-guide/oak4-offline.md)

### Open the advanced guide

Connect through SSH or ADB, set a static IP, or follow the local setup path.

[Open the advanced guide](https://docs.luxonis.com/hardware/platform/deploy/oak4-deployment-guide/oak4-advanced.md)

### Scale with Luxonis Hub

Manage your OAK4 remotely, develop and deploy apps, and install over-the-air updates with Luxonis Hub.

[Scale with Luxonis Hub](https://docs.luxonis.com/cloud/hub/connect-oak.md)

## Troubleshooting

Outdated software is one of the most common causes of setup failures, discovery problems, unexpected LED behavior, and Hub setup
issues. Before spending time on deeper troubleshooting, update the host tools and the device first.

If you are using Python examples, custom scripts, or any other host application built on DepthAI, update the `depthai` package in
the same environment where you run your code:

```bash
# Linux / macOS
python3 -m pip install --upgrade --force-reinstall depthai

# Windows
python -m pip install --upgrade --force-reinstall depthai
```

Then update the host tools:

 * Update `oakctl` with `oakctl self-update`.
 * Update OAK Viewer to the latest version and restart it after the update.

Update the Luxonis OS on device using `oakctl`:

 * Download and install oakctl on host

#### Linux/MacOS

On 64bit system, run:

```bash
bash -c "$(curl -fsSL https://oakctl-releases.luxonis.com/oakctl-installer.sh)"
```

#### Windows

Download and install using the [Windows
Installer](https://oakctl-releases.luxonis.com/data/latest/windows_x86_64/oakctl-installer.exe).

 * Run the following command to update the OS on your OAK4 device:

```bash
oakctl device update
```

Follow the prompts to select the device and input the device password. The tool will automatically download the latest OS version
and flash it to the device.

The status light flashes yellow while setup or an OS update is in progress. After the update is complete, the device will reboot.

If issues persist:

 * Reboot the host computer and reconnect the camera.
 * If updating with `oakctl` fails, do a [Full Luxonis OS Flash](https://docs.luxonis.com/software-v3/sw-stack/luxonis-os.md).
 * If the light is behaving unexpectedly, see the [list of all possible light
   states](https://docs.luxonis.com/hardware/platform/status-light.md) and their meanings to continue with debugging.

Bad or incorrect cables are one of the most common causes of setup failures.

 * For PoE, use a known-good Cat5e or better cable and reseat both ends firmly.
 * For USB, use a data-capable USB-C cable. Charge-only cables can power the camera but still prevent communication.
 * Avoid damaged, loose, or very long cables. For USB runs longer than 2 m, use an active USB3 cable.
 * If moving the cable changes the behavior, replace it before troubleshooting anything else.

Before booting, the OAK4 camera checks for a PoE+ (30W) signal. If not detected, the red light flashes, but the device will still
attempt to boot if enough power is available. OAK4 negotiates per IEEE 802.3at for Type 2 (30W PoE+). If negotiation fails or a
passive PSE is used, it defaults to Class 0 (15W) and may be underpowered, triggering the red LED as a warning.

Some PoE injectors, like [Ubiquiti's PoE+
injector](https://store.ui.com/us/en/category/accessories-poe-power/collections/pro-store-poe-and-power-adapters/products/u-poe-plus?variant=u-poeplus),
provide enough power but don't signal compliance. In such cases, OAK4 flashes red before booting and turning blue when
operational.

It is possible that your device has an older OS version that behaves differently - blinks out of the box or does not light up at
all. In that case it is recommended to update the OS to the latest version.

If LED behavior does not match this guide, continue with [Outdated host or device
software](#Outdated%20host%20or%20device%20software).

If the camera does not appear in either `oakctl list` or OAK Viewer:

 * Confirm that the device has finished booting and the front LED has settled into its normal state.
 * Re-check power and cable quality first. Most discovery failures are still power, cable, or port issues.
 * For USB, try a different USB3 port and cable, avoid unpowered hubs or adapters, and make sure USB communication is enabled with
   `oakctl usbd enable`.
 * For PoE, make sure the host and camera are on the same local network segment and that the switch port is active.
 * If the device appears in `oakctl list` but not in OAK Viewer, continue with [Firewall or network configuration blocks
   connection](#Firewall%20or%20network%20configuration%20blocks%20connection).

If the camera appears in `oakctl list` but OAK Viewer shows no reachable device, discovery methods may differ on your network.

Quick checks:

 * Update the camera and host tool to latest version
 * Verify that the host and camera are on the same subnet.
 * Allow `11491/udp` (discovery) and `11490/tcp` (XLink) through the host firewall.
 * Disable VPN temporarily.
 * If the host uses multiple interfaces such as Wi-Fi and Ethernet, make sure routing to the camera subnet uses the correct
   interface.
 * On managed networks, check for client isolation, blocked broadcast traffic, or ACLs that prevent local device discovery.

By default, OAK4 will try to get a dynamic IP address from DHCP server. If no DHCP server is available on the network (for
example, when connecting an OAK4 directly to your computer through a PoE injector), the camera will fall back to a
[link-local](https://en.wikipedia.org/wiki/Link-local_address) address.

To communicate with the device in this setup, configure your computer with a static IP in the `169.254.0.0/16` subnet, for
example:

 * Address: `169.254.10.112`
 * Netmask: `255.255.0.0`

Once configured, run `oakctl list` in the command line on your host computer, and you should see the camera detected.

Some PoE problems look like software issues but are caused by the network equipment.

 * OAK4 requires PoE+ (802.3at, 30 W) for full-power operation. Standard PoE (802.3af, 15 W) is not enough.
 * Try a different PoE+ injector, switch port, or patch cable if the device intermittently reboots or never reaches a stable blue
   light.
 * Passive or non-compliant injectors can still power the device but may trigger a red warning LED during startup.
 * If the switch is heavily loaded or slow to negotiate, try a direct connection through a known-good PoE+ injector.

If the device disconnects randomly, drops to USB2 speeds, or becomes unreliable over time:

 * Connect directly to a host USB3 port instead of a front-panel port, dock, or unpowered hub.
 * For a USB-only connection, a host that is not USB power-delivery (PD) capable may still provide about 15 W, which is enough for
   the camera to boot but can leave the link at USB2 speeds. In that case, disconnect and rotate the USB-C connector on the camera
   side or host side, then reconnect and check whether the link comes up at USB3 speeds, which are recommended for image
   streaming.
 * Replace the cable with a shorter, higher-quality USB-C cable.
 * If the host port cannot provide enough power, power the camera over PoE+ and use USB only for communication like shown in the
   [Power the camera](#Power%20the%20camera) section.
 * Secure the cable so vibration or movement cannot momentarily interrupt the link.
 * If the problem remains, try another host or a powered USB3 hub to rule out host-controller instability.
 * USB-C and the M8 connector are only mutually exclusive for USB data when the connected M8 peripheral requires USB connectivity,
   such as the M8 Controller Box or M8 WiFi Adapter. Accessories such as the M8 FSYNC Splitter, M8 FSYNC cabling, and the M8
   Debugging Adapter (OAK4) do not take over the USB data path, so USB-C can still be used for data with those connected. For
   connector details, see [OAK4 M8 Interface Guide](https://docs.luxonis.com/hardware/platform/deploy/oak4-m8-interface.md).

If you see a yellow light on boot, the camera has detected a power supply between 15 and 20 W and will boot into throttled
performance mode. This will also cause it to boot slower, so wait a bit longer until the blue light shines.

If the light glows orange, please contact [support@luxonis.com](mailto:support@luxonis.com) due to a potential device issue.

If pressing the reset button between 5 and 10 seconds does not enter Setup (blue light blinking) or Factory Reset (blue light
solid), the button might be malfunctioning. You can still switch to Setup mode with `oakctl adb shell agentconfd start-setup` or
do a factory reset with `oakctl adb shell agentconfd factory-reset`. To learn how to use ADB, see the [Advanced
guide](https://docs.luxonis.com/hardware/platform/deploy/oak4-deployment-guide/oak4-advanced.md).

### Need assistance?

Head over to [Discussion Forum](https://discuss.luxonis.com/) for technical support or any other questions you might have.
