Skip to content
| Marketplace
Sign in
Visual Studio Code>Programming Languages>Thinger.ioNew to Visual Studio Code? Get it now.
Thinger.io

Thinger.io

Thinger.io

|
8,687 installs
| (1) | Free
Thinger.io integration for OTA updates.
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

Thinger.io

A Visual Studio Code extension that provides remote OTA updates over Thinger.io for devices based on Arduino Framework. Supported boards (any board with an OTA header in the Thinger.io Arduino Library):

Boards Compression
Espressif ESP32, ESP32-S2, S3, C3, C5, C6, P4, Arduino Nano ESP32, Seeed XIAO ESP32 zlib
Espressif ESP8266 gzip (with ATOMIC_FS_UPDATE)
Raspberry Pi Pico W, Pico 2 W (Arduino-Pico core) gzip (with THINGER_OTA_COMPRESSION 1)
Arduino Portenta H7, Opta lzss
Arduino Nano 33 IoT, MKR WiFi 1010
Arduino Nano RP2040 Connect
Arduino MKR NB 1500
Arduino UNO R4 WiFi (experimental)
Thinger NB-IoT Core (BC660) zlib

This extension integrates with PlatformIO to automatically build and upload the firmware to your devices over the Internet.

Features

  • OTA updates directly from the Internet over Thinger.io
  • Device switcher to search & select the target device for the update
  • Real-time device connection status
  • Compatible with multiple PlatformIO configuration environments inside a Project
  • Automatic build and upload over the Internet in a single click
  • OTA with compression (zlib, gzip or lzss, as requested by the device)
  • Per-device OTA timeout and block size, with optional overrides for slow connections
  • OTA check: warns before installing a firmware built for different hardware

OTA Check

Devices sharing the same board can have different hardware (PCB model, sensors, display...). To avoid installing the wrong firmware, declare the hardware fields in the sketch before including the OTA header (requires Thinger.io Arduino Library 2.47.0 or newer):

#define THINGER_OTA_CHECK(FIELD) \
    FIELD("PCB_MODEL", "SENSOR_I2C") \
    FIELD("PCB_VERSION", "V2")
#include <ThingerESP32OTA.h>

The fields are embedded in the firmware and reported by the device. Before updating, the extension compares the fields of the running device with the ones of the new firmware:

  • Equal fields: the update starts as usual.
  • Different fields, or a firmware without fields for a device that has them: the changed, added and removed fields are shown, and the update needs confirmation. When updating a product, the answer can be applied to all its devices (Continue for All or Skip All).
  • Devices without fields are updated as usual.

An equal firmware version does not skip the update when the fields do not match. Fields are case-sensitive strings: up to 16 fields, with keys up to 32 bytes and values up to 128 bytes.

The device also enforces the check: it rejects any update whose fields are not equal to its own, unless the update was confirmed. Devices with OTA check require this extension version 1.2.0 or newer.

Recommendations

  • To improve performance in the OTA update, set Application > Proxy > Proxy Support to fallback instead of default override.

Requirements

  • VSCode PlatformIO extension for building firmware.
  • Thinger.io Arduino Library (2.41.0 or newer for per-device timeouts, 2.42.0 or newer for Raspberry Pi Pico, 2.47.0 or newer for OTA check).

Extension Settings

This extension contributes the following settings:

  • thinger-io.host: Thinger.io instance host. Defaults to community instances.
  • thinger-io.port: Thinger.io instance port. Defaults to 443.
  • thinger-io.ssl : Use SSL/TLS encryption. Default to true.
  • thinger-io.secure: Verify SSL/TLS connection. Defaults to true.
  • thinger-io.token: Thinger.io instance token for access devices.
  • thinger-io.otaTimeout: Override the OTA timeout in seconds. Defaults to 0 (use the device timeout, or 30 seconds if the device does not report one).
  • thinger-io.otaBlockSize: Override the OTA block size in bytes. Defaults to 0 (use the device default). Useful to reduce the packet size on slow connections.
  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
  • Your Privacy Choices
  • Consumer Health Privacy
© 2026 Microsoft