> For the complete documentation index, see [llms.txt](https://docs.thinger.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.thinger.io/arduino.md).

# DEVICES

The Thinger.io platform is designed to support almost any microcontroller or device with communication capabilities, whether it uses Ethernet, WiFi, or GSM. This flexibility allows you to choose the hardware that best suits your needs without being forced to purchase specific vendor-compatible hardware. This is crucial when designing your IoT projects.

**Steps to Connect Your Device:**

1. **Configure Your SDK**:
   * Ensure your SDK is configured according to the previous [SDK Setup instructions](/sdk-setup.md).
2. **Start with Default Examples**:
   * Open the Arduino IDE or Visual Studio Code with PlatformIO.
   * Navigate to the default examples provided by Thinger.io.
   * In the Arduino IDE, go to **File > Examples > thinger.io** and choose an example for your device.
   * In Visual Studio Code, open the PlatformIO Home and select an example project compatible with your hardware.
3. **Upload the Example Code**:
   * Modify the example code if necessary to fit your specific hardware setup.
   * Upload the code to your device following the instructions for your development environment.

By following these steps, you can start connecting your device to the Thinger.io platform and leverage its full range of features.

{% hint style="info" %}
The best way to start connecting your device is by using the Arduino IDE and loading an example for your device from the Thinger.io client library in File > Examples > thinger.io.
{% endhint %}

Please select the device typology you want to connect to get detailed instructions for each specific device.

{% content-ref url="/pages/-Mj8Sd2KlZKo8VqQ1hRc" %}
[ESPRESSIF ESP32](/arduino/espressif-esp32.md)
{% endcontent-ref %}

{% content-ref url="/pages/-Mj8SZoUb2cvaSBw\_XvA" %}
[ESPRESSIF ESP8266](/arduino/espressif-esp8266.md)
{% endcontent-ref %}

{% content-ref url="/pages/-Mj8Skc5ofdBSkBvvzzD" %}
[ARDUINO ETHERNET](/arduino/arduino-ethernet.md)
{% endcontent-ref %}

{% content-ref url="/pages/-Mj8SiQ856hVoDzZmBIo" %}
[ARDUINO WIFI](/arduino/arduino-wifi.md)
{% endcontent-ref %}

{% content-ref url="/pages/-Mj8StCSrI88IZbcOmLW" %}
[ARDUINO GSM](/arduino/arduino-gsm.md)
{% endcontent-ref %}

{% content-ref url="/pages/-Mj8VbuGU6au7jZ3NBIv" %}
[OTHER DEVICES](/arduino/other-devices.md)
{% endcontent-ref %}


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.thinger.io/arduino.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
