{"id":15011981,"url":"https://github.com/formulahendry/vscode-iot-utility","last_synced_at":"2026-04-04T06:35:42.154Z","repository":{"id":85969300,"uuid":"85284046","full_name":"formulahendry/vscode-iot-utility","owner":"formulahendry","description":"IoT Utility for Visual Studio Code: Arduino, Espressif, Raspberry Pi, mbed and more","archived":false,"fork":false,"pushed_at":"2018-12-08T13:36:46.000Z","size":2149,"stargazers_count":67,"open_issues_count":6,"forks_count":16,"subscribers_count":9,"default_branch":"master","last_synced_at":"2025-03-25T23:15:18.741Z","etag":null,"topics":["arduino","esp8266","espressif","iot","mbed","platformio","raspberry-pi","visual-studio-code","vscode","vscode-extension"],"latest_commit_sha":null,"homepage":"https://marketplace.visualstudio.com/items?itemName=formulahendry.platformio","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/formulahendry.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2017-03-17T07:39:37.000Z","updated_at":"2024-09-12T04:51:07.000Z","dependencies_parsed_at":null,"dependency_job_id":"bf795604-f89f-4435-bfd4-cf51412001de","html_url":"https://github.com/formulahendry/vscode-iot-utility","commit_stats":{"total_commits":33,"total_committers":4,"mean_commits":8.25,"dds":"0.21212121212121215","last_synced_commit":"8d98a3520040dd6d1c64c3a2973c439334ecddd1"},"previous_names":[],"tags_count":13,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/formulahendry%2Fvscode-iot-utility","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/formulahendry%2Fvscode-iot-utility/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/formulahendry%2Fvscode-iot-utility/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/formulahendry%2Fvscode-iot-utility/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/formulahendry","download_url":"https://codeload.github.com/formulahendry/vscode-iot-utility/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248512512,"owners_count":21116615,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["arduino","esp8266","espressif","iot","mbed","platformio","raspberry-pi","visual-studio-code","vscode","vscode-extension"],"created_at":"2024-09-24T19:41:58.417Z","updated_at":"2025-10-29T08:10:33.359Z","avatar_url":"https://github.com/formulahendry.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# IoT Utility\n\n[![Join the chat at https://gitter.im/formulahendry/vscode-platformio](https://badges.gitter.im/formulahendry/vscode-platformio.svg)](https://gitter.im/formulahendry/vscode-platformio?utm_source=badge\u0026utm_medium=badge\u0026utm_campaign=pr-badge\u0026utm_content=badge) [![Marketplace Version](https://vsmarketplacebadge.apphb.com/version-short/formulahendry.platformio.svg)](https://marketplace.visualstudio.com/items?itemName=formulahendry.platformio) [![Installs](https://vsmarketplacebadge.apphb.com/installs-short/formulahendry.platformio.svg)](https://marketplace.visualstudio.com/items?itemName=formulahendry.platformio) [![Rating](https://vsmarketplacebadge.apphb.com/rating-short/formulahendry.platformio.svg)](https://marketplace.visualstudio.com/items?itemName=formulahendry.platformio) [![Build Status](https://travis-ci.org/formulahendry/vscode-platformio.svg?branch=master)](https://travis-ci.org/formulahendry/vscode-platformio)\n\nIntegrate [PlatformIO](http://platformio.org/) into Visual Studio Code on top of [PlatformIO Core](http://docs.platformio.org/en/stable/core.html). Cross-platform Build System without external dependencies to the OS software: 550+ embedded boards, 25+ development platforms, 15+ frameworks. Arduino and ARM mbed compatible.\n\n*Atmel AVR \u0026 SAM, Espressif 8266 \u0026 32, Freescale Kinetis, Intel ARC32, Lattice iCE40, Microchip PIC32, Nordic nRF51, NXP LPC, Silicon Labs EFM32, ST STM32, TI MSP430 \u0026 Tiva, Teensy, Arduino, ARM mbed, libOpenCM3, ESP8266, etc.*\n\n## What's New in v0.3.0\n\n**Discover devices connected via Ethernet, Wi-Fi and USB**: Press `F1` and then select/type `IoT Utility: Discover Device`. (Make sure you have installed [device-discovery-cli](https://github.com/Azure/device-discovery-cli))\n\n```\n\tIP Address    MAC Address       Type                                    Host Name\n\n\t10.172.14.69  08:00:27:d7:27:ef raspberrypi (Raspberry Pi)              raspberrypi\n\t10.172.15.84  00:15:5d:0f:9d:01 tessel (Tessel 2)                       tessel2\n\t10.172.14.219 00:0c:29:35:fa:9f huzzah (Adafruit HUZZAH ESP8266)\n\t10.172.15.98  78:2b:cb:b5:1c:9c ?\n```\n\n## Note\n\nIf you want to build IoT projects connected to an IoT cloud service. You could take a look at [aka.ms/azure.iot](https://aka.ms/azure.iot) for Microsoft Azure IoT projects and resources.\n\nIf you are already using Azure IoT services, you could use [Azure IoT Toolkit](https://marketplace.visualstudio.com/items?itemName=vsciot-vscode.azure-iot-toolkit) extension for better development experience.\n\n## Features\n\n* Build PlatformIO project specified in [Project Configuration File platformio.ini](http://docs.platformio.org/en/stable/projectconf.html#projectconf)\n* Upload firmware to devices specified in [Project Configuration File platformio.ini](http://docs.platformio.org/en/stable/projectconf.html#projectconf)\n* Open Serial Monitor\n* Set baud rate for Serial Monitor\n* Search for library in [PlatformIO Library Registry](http://platformio.org/lib)\n* Install library from [PlatformIO Library Registry](http://platformio.org/lib)\n* Quick way to open PlatformIO Terminal\n* Automatically or manually add Include Path to `c_cpp_properties.json` for [C/C++ extension](https://marketplace.visualstudio.com/items?itemName=ms-vscode.cpptools)\n* Combined `Build`, `Upload` and `Open Serial Monitor` with one command\n* Discover devices connected via Ethernet, Wi-Fi and USB\n\n## Prerequisites\n\n* Install [PlatformIO Core](http://docs.platformio.org/en/stable/installation.html)\n\n## Setup\n\n* Use existing project\n\n  If you have an existing PlatformIO project, open the project folder directly in VS Code\n\n* Create new project\n\n  In terminal, run `platformio init --board \u003cyour_board_identifier\u003e` to initialize a new PlatformIO project, then open the project folder in VS Code. Refer to [User Guide](http://docs.platformio.org/en/stable/userguide/cmd_init.html) for `platformio init` command. For how to find Board Identifier, you could refer to [this](http://docs.platformio.org/en/stable/quickstart.html#board-identifier).\n\n## Usage\n\n* **Build PlatformIO project**: Use shortcut `Ctrl+Alt+B`, or press `F1` and then select/type `PlatformIO: Build`, or right click the Text Editor and then click `PlatformIO: Build` in context menu\n\n![build](images/build.gif)\n\n* **Upload firmware to devices**: Use shortcut `Ctrl+Alt+U`, or press `F1` and then select/type `PlatformIO: Upload`, or right click the Text Editor and then click `PlatformIO: Upload` in context menu\n\n![upload](images/upload.gif)\n\n* **Open Serial Monitor**: Use shortcut `Ctrl+Alt+S`, or press `F1` and then select/type `PlatformIO: Open Serial Monitor`, or right click the Text Editor and then click `PlatformIO: Open Serial Monitor` in context menu\n\n![openSerialMonitor](images/openSerialMonitor.gif)\n\n* **Search for library**: Click the `Library` item in the Status Bar at the bottom, or press `F1` and then select/type `PlatformIO: Search Library`, then type the query to search for library. Refer to the [User Guide](http://docs.platformio.org/en/latest/userguide/lib/cmd_search.html#description) for the query syntax.\n\n![searchLibrary](images/searchLibrary.gif)\n\n* **Install library**: Click the `Download` icon in the Status Bar at the bottom, or press `F1` and then select/type `PlatformIO: Install Library`, then type library id or name to install. Refer to the [User Guide](http://docs.platformio.org/en/latest/userguide/lib/cmd_install.html#usage) for the detailed usage.\n\n![installLibrary](images/installLibrary.gif)\n\n* **Quick way to open PlatformIO Terminal**: Click the `Terminal` icon in the Status Bar at the bottom, or press `F1` and then select/type `PlatformIO: Open Terminal`\n\n![openTerminal](images/openTerminal.png)\n\n* **Add Include Path to `c_cpp_properties.json` for C/C++ extension**: Press `F1` and then select/type `PlatformIO: Add Include Path to Settings`. Wait for some seconds, then the PlatformIO libraries will be automatically added into Include Path of `c_cpp_properties.json`. (**Note**: Do not modify `c_cpp_properties.json` manually since the `c_cpp_properties.json` will be fully regenerated and your manual changes will be lost.)\n\n* **Combined `Build`, `Upload` and `Open Serial Monitor` with one command**: Click the `Right Arrow` icon in the Status Bar at the bottom, or use shortcut `Ctrl+Alt+A`, or press `F1` and then select/type `PlatformIO: Build, Upload and Open Serial Monitor`. `Build`, `Upload` and `Open Serial Monitor` will be run one by one.\n\n![buildUploadAndOpenSerialMonitor](images/buildUploadAndOpenSerialMonitor.png)\n\n* **Discover devices connected via Ethernet, Wi-Fi and USB**: Press `F1` and then select/type `IoT Utility: Discover Device`. (Make sure you have installed [device-discovery-cli](https://github.com/Azure/device-discovery-cli))\n\n```\n\tIP Address    MAC Address       Type                                    Host Name\n\n\t10.172.14.69  08:00:27:d7:27:ef raspberrypi (Raspberry Pi)              raspberrypi\n\t10.172.15.84  00:15:5d:0f:9d:01 tessel (Tessel 2)                       tessel2\n\t10.172.14.219 00:0c:29:35:fa:9f huzzah (Adafruit HUZZAH ESP8266)\n\t10.172.15.98  78:2b:cb:b5:1c:9c ?\n```\n\n## Settings\n\n* `platformio.baudRate`: Set baud rate for Serial Monitor. (Default is **9600**)\n* `platformio.showHelpInfo`: Whether to show help info when opening PlatformIO Terminal. (Default is **true**)\n* `platformio.autoUpdateIncludes`: Whether to add Include Path to `c_cpp_properties.json` automatically. (Default is **true**)\n\n## Telemetry data\n\nBy default, anonymous telemetry data collection is turned on to understand user behavior to improve this extension. To disable it, update the settings.json as below:\n```json\n{\n    \"platformio.enableTelemetry\": false\n}\n```\n\n## Change Log\n\nSee Change Log [here](CHANGELOG.md)\n\n## Issues\n\nCurrently, the extension is in the very initial phase. If you find any bug or have any suggestion/feature request, please join the chat on [Gitter](https://gitter.im/formulahendry/vscode-platformio) or submit the [issues](https://github.com/formulahendry/vscode-platformio/issues) to the GitHub Repo.\n\n## Contributions\n\nContributions are warmly welcome! Please follow the [Contribution Guide](CONTRIBUTING.md) to setup development environment. \n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fformulahendry%2Fvscode-iot-utility","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fformulahendry%2Fvscode-iot-utility","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fformulahendry%2Fvscode-iot-utility/lists"}