> ## Documentation Index
> Fetch the complete documentation index at: https://docs.hyperwisor.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Arduino — Install

> Install the Hyperwisor Arduino library and its dependencies.

The Hyperwisor Arduino library is an abstraction layer for ESP32 devices. It
handles Wi-Fi provisioning, realtime communication, OTA, and GPIO management out
of the box.

<Note>
  This library works with **ESP32 only**, and is licensed for use exclusively with
  NIKOLAINDUSTRY hardware and software platforms.
</Note>

## 1. Install the library

<Card title="hyperwisor-iot-arduino-library" icon="github" href="https://github.com/nikolaindustry/hyperwisor-iot-arduino-library">
  Get the library on GitHub.
</Card>

Clone or download it into your Arduino `libraries/` directory:

```bash theme={null}
cd ~/Documents/Arduino/libraries/
git clone https://github.com/nikolaindustry/hyperwisor-iot-arduino-library.git
```

Then include it in your sketch:

```cpp theme={null}
#include <hyperwisor-iot.h>
```

## 2. Install required dependencies

Install these from the Arduino Library Manager
(**Sketch → Include Library → Manage Libraries…**):

| Library     | Author                     |
| ----------- | -------------------------- |
| ArduinoJson | Benoit Blanchon            |
| WebSockets  | Markus Sattler (Links2004) |

## 3. Install the ESP32 board package

1. **File → Preferences**
2. Add this URL to **Additional Board Manager URLs**:
   ```
   https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json
   ```
3. **Tools → Board → Boards Manager…**, search `esp32`, and install
   **esp32 by Espressif Systems**.

These libraries ship with the ESP32 board package and need no separate install:
`WiFi`, `WebServer`, `HTTPClient`, `WiFiClientSecure`, `Preferences`, `Update`,
`DNSServer`, `Wire`.

## 4. Verify

Open the **BasicSetup** example, select your ESP32 board, and upload. On the
serial monitor (115200 baud) you should see the device initialize and print its
device ID.

<Card title="Next: Provisioning" icon="wifi" href="/firmware/arduino/provisioning">
  Get the device onto Wi-Fi and linked to an account.
</Card>
