---
title: "Installation"
description: "Learn how to install WebSerial for various platforms including Arduino IDE and PlatformIO. This guide covers both Library Manager and manual installation methods, with special instructions for PlatformIO users."
---

import { Callout, Tabs } from 'nextra/components'

# Installation

Learn how to effortlessly set up WebSerial, a sleek, web-based tool for remote debugging and logging. This guide walks you through the installation process, from initial setup to first use, helping you upgrade your projects with ease and style.


## Dependencies

WebSerial depends on the following libraries present in your libraries folder. Please stricly install the compatible versions of these dependencies only! Using any other version might break WebSerial or may cause WebSerial to work partially.

**Install dependencies based on your platform:**

<Tabs items={['ESP8266', 'ESP32', 'RP2040+W', 'RP2350+W']}>
  <Tabs.Tab>
    - [ESP8266 Arduino Core](https://github.com/esp8266/Arduino) >= **v3.1.2**
    - (ESP32Async) [ESPAsyncTCP](https://github.com/ESP32Async/ESPAsyncTCP#v2.0.0) @ **v2.0.0**
    - (ESP32Async) [ESPAsyncWebServer](https://github.com/ESP32Async/ESPAsyncWebServer#v3.8.1) >= **v3.8.1**
  </Tabs.Tab>
  <Tabs.Tab>
    - [ESP32 Arduino Core](https://github.com/espressif/arduino-esp32) >= **v3.3.2**
    - (ESP32Async) [AsyncTCP](https://github.com/ESP32Async/AsyncTCP#v3.4.9) >= **v3.4.9**
    - (ESP32Async) [ESPAsyncWebServer](https://github.com/ESP32Async/ESPAsyncWebServer#v3.8.1) >= **v3.8.1**
  </Tabs.Tab>
  <Tabs.Tab>
    - [Pico Arduino Core](https://github.com/earlephilhower/arduino-pico) >= **v5.4.1**
    - (ayushsharma82) [RPAsyncTCP](https://github.com/ayushsharma82/RPAsyncTCP#v1.3.2) >= **v1.3.2**
    - (ESP32Async) [ESPAsyncWebServer](https://github.com/ESP32Async/ESPAsyncWebServer#v3.8.1) >= **v3.8.1**
  </Tabs.Tab>
  <Tabs.Tab>
    - [Pico Arduino Core](https://github.com/earlephilhower/arduino-pico) >= **v5.4.1**
    - (ayushsharma82) [RPAsyncTCP](https://github.com/ayushsharma82/RPAsyncTCP#v1.3.2) >= **v1.3.2**
    - (ESP32Async) [ESPAsyncWebServer](https://github.com/ESP32Async/ESPAsyncWebServer#v3.8.1) >= **v3.8.1**
  </Tabs.Tab>
</Tabs>

<br/>

## Install WebSerial

Please follow the instructions below to install WebSerial based on your development environment. WebSerial can be installed in both Arduino IDE and PlatformIO, making it versatile for various projects.
&nbsp;

<Tabs items={['Arduino IDE', 'PlatformIO']}>
  <Tabs.Tab>
    You can install WebSerial in the following ways in Arduino IDE.

    #### 1. Library Manager

    Go to Sketch > Include Library > Library Manager > Search for "WebSerial" > Install

    #### 2. Manual Installation

    ##### Windows

    1. Download the [Repository](https://github.com/ayushsharma82/WebSerial/archive/master.zip)
    2. Extract the .zip in `Documents > Arduino > Libraries > {Place "WebSerial" folder Here}`

    ##### Linux

    1. Download the [Repository](https://github.com/ayushsharma82/WebSerial/archive/master.zip)
    2. Extract the .zip in `Sketchbook > Libraries > {Place "WebSerial" folder Here}`

    #### 3. Import through Arduino IDE

    1. Download the [Repository](https://github.com/ayushsharma82/WebSerial/archive/master.zip)
    2. Go to `Sketch > Include Library > Add .zip Library > Select the Downloaded .zip File.`
  </Tabs.Tab>
  <Tabs.Tab>
    You can install WebSerial in the following ways in PlatformIO.

    <Callout type="info">
    <b>Required Changes in platformio.ini</b>

    As WebSerial supports multiple architectures (ESP8266, ESP32 & RP2040), PlatformIO will try to include all the platform dependencies automatically which will often result in compilation errors. To mitigate this issue, please follow these steps:

    1. Delete `.pio/libdeps` folder (if it exists) in your project before proceeding.
    2. Open `platformio.ini` file of your project.
    3. Add the following line inside your `platformio.ini` file:

        ```ini
        lib_compat_mode = strict
        ```

    4. Save the changes to the `platformio.ini` file.
    </Callout>

    #### 1. Library Manager

    Go to PlatformIO Menu > Libraries > Search for "WebSerial" > Install in your project.

    #### 2. Manual Installation

    1. Download the [Repository](https://github.com/ayushsharma82/WebSerial/archive/master.zip)
    2. Extract the .zip in `lib` folder of your project
  </Tabs.Tab>
</Tabs>
