A Visual Studio Code extension that provides a visual programming interface using Blockly for Arduino development, with multi-board support and internationalization.
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
A Visual Studio Code extension that provides a visual programming interface using Blockly for Arduino development, with multi-board support and internationalization.
Features
🎯 Multi-Board Support
Arduino Uno
Arduino Nano
Arduino Mega
ESP32
Super Mini (Lolin C3 Mini)
🌐 Internationalization Support
Multiple language support
Automatic language detection based on VS Code settings
Supports the following languages:
English (en)
Spanish (es)
Portuguese (pt-br)
French (fr)
German (de)
Italian (it)
Russian (ru)
Japanese (ja)
Korean (ko)
Traditional Chinese (zh-hant)
Polish (pl)
Hungarian (hu)
Turkish (tr)
Bulgarian (bg)
Czech (cs)
🧩 Rich Block Categories
Arduino I/O Operations
Functions with parameter support
Custom threshold functions with analog input support
Configurable sensor pins and threshold values
Multiple output types (numeric, boolean, string)
Variables with rename/delete capabilities
Lists and Arrays
Logic Operations
Loops
Math Operations
Text Operations
💾 Workspace Management
Automatic state saving
Project persistence
Board configuration management
Code generation to Arduino (.cpp) files
Automatic PlatformIO configuration generation
Automatic platformio.ini preview mode management
🛠 Development Features
Real-time code generation
Integrated board configuration
Visual block programming interface
Drag-and-drop block management
Zoom controls and trashcan
Custom theme support
PlatformIO integration for hardware upload
Requirements
Visual Studio Code 1.96.0 or higher
Basic understanding of Arduino programming concepts
Required Extensions:
PlatformIO IDE Extension
C/C++ Extension (ms-vscode.cpptools)
Usage
Open or create a folder in VS Code:
This extension requires a workspace folder to store its files
Use File > Open Folder... or File > New Folder
Make sure you have write permissions in the folder
Open the extension using:
Click the wand icon (🪄) in the status bar
Click the Singular Blockly icon in the activity bar
Select your target board from the dropdown menu:
The extension will automatically create and configure platformio.ini
First-time board selection requires a workspace reload
Create your program using the visual blocks:
Drag blocks from the toolbox categories
Configure block parameters
Connect blocks to build your logic
Changes are auto-saved and persist between sessions
The extension will automatically:
Generate Arduino code in src/main.cpp
Save workspace state in blockly/main.json
Update PlatformIO configuration
Provide real-time code(.cpp) generation
Supported Boards and Platforms
Each board is configured with specific PlatformIO settings for optimal compatibility:
AVR Based
Arduino Uno
Platform: atmelavr
Board: uno
Arduino Nano
Platform: atmelavr
Board: nanoatmega328
Arduino Mega
Platform: atmelavr
Board: megaatmega2560
ESP32 Based
ESP32 Dev Module
Platform: espressif32
Board: esp32dev
Super Mini (Lolin C3 Mini)
Platform: espressif32
Board: lolin_c3_mini
Note: The extension will automatically generate the appropriate platformio.ini configuration when you select a board, ensuring the correct platform settings for hardware upload.
Known Issues
Please report any issues on our GitHub repository.
License
This project is licensed under the Apache License 2.0 - see the LICENSE file for details.
Third-Party Licenses
This project incorporates the following third-party components: