Singular Blockly

A Visual Studio Code extension that provides a visual programming interface using Blockly for Arduino development, with multi-board support and internationalization.
Features
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
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:
- Blockly - Licensed under the Apache License 2.0
- PlatformIO - Licensed under the Apache License 2.0
- Arduino Core Libraries - Licensed under the LGPL
Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
| |