ArduBlock Studio — Two Ways to Code Arduino Visually
ArduBlock Studio is a powerful visual programming IDE for Arduino that transforms the way you create embedded projects. Drag, drop, and connect colorful blocks to build complete Arduino programs — the tool automatically generates optimized C++ code, compiles, and uploads directly to your board.
There are now two versions of ArduBlock Studio: the original Offline Desktop edition and the brand-new Online Web edition. Both share the same mission — making Arduino programming accessible to everyone — but they differ significantly in interface, features, and workflow.
ArduBlock Studio WEB —
RECOMMENDED
The most up-to-date version, with the most features and the most active development.
The Web edition runs entirely in your browser at ardublockstudio.com.br or ardublockstudio.web.app — no installation, no setup, no drivers to fight with. It's the version where all new features land first and where active development happens.
What makes the Web version special
- Zero installation — runs directly in Chrome, Edge, Firefox, or Opera. No Python, no pip, no downloads.
- Completely redesigned interface — modern dark theme, refined layout, and a smoother UX. The Web interface is significantly different from the desktop version and reflects the latest design direction of the project.
- Direct upload from the browser — uses the Web Serial API to flash your Arduino straight from Chrome, no Arduino IDE or avrdude required.
- Remote compilation backend — sketches are compiled on a dedicated server via arduino-cli, then the resulting
.hexis flashed through your browser. - AI-powered features (Premium) — generate blocks from a text prompt, translate C++ line by line, and create programming quizzes, all powered by Groq's LLM API.
- Real-time collaboration — share projects with collaborators and edit the same workspace simultaneously.
- Cloud project storage — projects are saved to Firebase and synced across devices with your Google account.
- Modern block library — 150+ blocks across 25+ categories, including sensors (GY-33, TCS230, UV, joystick, encoder), motors (DRV8833, L298N, A4988, TB6612), Ethernet W5100, crypto (AES-128, SHA-256, HMAC), Bluetooth HC-05/HC-06, interrupts, pointers, arrays, bitwise operations, exponentials and logarithms, and much more.
- Visual C++ library builder — create complete Arduino libraries (
.h+.cpp+keywords.txt+library.properties) using visual blocks. - Built-in 2D + 3D plotters — visualize analog sensors in real time with Chart.js (2D lines, XY, multi-series) plus a 3D plotter for scatter clouds, parametric surfaces, and XYZ trajectories.
- Minimap, block search, linter, auto-format, presentation mode, PNG export — quality-of-life tools baked in.
- Multilingual — English, Portuguese, Spanish, Japanese, Korean, and Hindi.
- Powered by Blockly v13.
- Project export — save and share your work as
.ardublockfiles (JSON + XML) for backup or transfer.
Who it's perfect for
- Teachers who want students to start coding instantly, without installing anything
- Students and beginners in STEM, robotics, and IoT
- Makers who need to prototype quickly on any machine
- Anyone who wants access to the latest features first
Open the Web version: ardublockstudio.com.br
ArduBlock Studio DESKTOP — Offline Edition
The original desktop edition. Fully offline, PyQt6-based, and ideal for classroom environments without reliable internet.
The Desktop edition is a native Python application built with PyQt6 and PyQt6-WebEngine. It bundles Blockly v11 inside an embedded web view and communicates with the Python backend through QWebChannel. Everything runs locally — including compilation via arduino-cli and upload via pyserial.
What makes the Desktop version special
- 100% offline — works without internet. Ideal for labs, classrooms, and environments with restricted connectivity.
- Native desktop application — installable on Windows, macOS, and Linux.
- Local compilation — uses the
arduino-clibinary installed on your machine. - ISP programmer support — upload via AVRISP mkII, USBasp, Arduino as ISP, and other external programmers.
- Extension system — add custom blocks, categories, and features dynamically.
- 50+ Arduino boards supported — from the classic UNO to modern Portenta and ESP32.
- Project history — automatic versioning and backup of your work.
- PDF export — generate beautiful documentation of your projects.
- Bilingual (EN/PT) — English and Portuguese interface.
Note: the Desktop interface differs substantially from the Web version. The Web version has received more recent updates, a redesigned UI, and several features that are not yet available on Desktop (such as AI-powered block generation, real-time collaboration, the browser-based 2D/3D Serial Plotter, and 6-language support).
Who it's perfect for
- Classrooms without reliable internet access
- Users who prefer a native desktop application
- Makers who need ISP programmer support
- Researchers prototyping locally
Quick Start (Desktop)
git clone https://github.com/iagolirapasssos/ArduBlock-Studio.git
cd ArduBlock-Studio
pip install -r requirements.txt
python3 main.py
Pre-built binaries are available in the Releases section of the GitHub repository.
Which version should you choose?
| Feature | ||
|---|---|---|
| Installation required | ||
| Works offline | ||
| Most recent features | ||
| Interface design | Legacy | |
| Languages supported | ||
| Blockly version | v11 | |
| AI features (Groq) | ||
| Real-time collaboration | ||
| Cloud project storage | ||
| Browser-based Serial Plotter (2D + 3D) | ||
| Visual C++ library builder | ||
| Bitwise / interrupt / pointer blocks | ||
| ISP programmer support | ||
| PDF export | ||
| Extension system | ||
| Direct upload from browser |
Rule of thumb:
- Want the latest features and the newest interface → use the Web version.
- Need to work offline or with ISP programmers → use the Desktop version.
We need your help!
ArduBlock Studio is hosted on GitHub and we're actively looking for contributors — whether you're a Python developer, JavaScript enthusiast, UI/UX designer, documentation writer, or just passionate about Arduino, there's a place for you!
GitHub Repository: github.com/iagolirapasssos/ArduBlock-Studio
Ways to contribute
- Report bugs and suggest features
- Submit pull requests (Python/PyQt6, JavaScript/Blockly, Arduino)
- Translate to new languages
- Improve documentation and tutorials
- Create custom extensions and block libraries
- Enhance the UI/UX design
- Write tests and improve code quality
Tech Stack:
- Desktop: Python 3.10+ · PyQt6 · PyQt6-WebEngine · QWebChannel · Blockly v11 · arduino-cli · pyserial
- Web: HTML5 · CSS3 · JavaScript · Blockly v13 · Web Serial API · Firebase (Auth + Firestore) · Groq API · Chart.js · arduino-cli (backend)
- Shared: Firebase · arduino-cli ·
.ardublockproject format
First-time contributors welcome! Check our Issues page for good first issue tags.
Support the project
- Star the repo to help it reach more makers
- Spread the word — share with your local makerspace, school, or Arduino meetup group
- Try the Web version and give us feedback
Let's make Arduino programming accessible to everyone, together. ![]()
#ArduBlock #Arduino #VisualProgramming #BlocklyIDE #ArduinoProjects #STEM #EdTech
TL;DR
Try the Web version (latest)
ardublockstudio.com.br
Desktop version (offline)
GitHub Releases
Contribute
github.com/iagolirapasssos/ArduBlock-Studio
The Web version features a completely redesigned interface, receives more frequent updates, supports 6 languages, includes 2D + 3D plotters, AI features, real-time collaboration, and cloud sync.
The Desktop edition is 100% offline, supports ISP programmers, and is ideal for classrooms without internet access.
For the newest features and the modern experience, start with the Web version.



