Skip to content
Arduino blockly editor, based on the well known web-based visual programming editor
JavaScript HTML CSS
Branch: master
Clone or download
Pull request Compare This branch is 29 commits ahead, 1560 commits behind google:master.
Latest commit 7fbddef Nov 16, 2019
Type Name Latest commit message Commit time
Failed to load latest commit information.
blockly Blockly upgrade Nov 14, 2019
blocklyduino theme integrated Nov 16, 2019
.gitignore major upgrade Jun 4, 2019
.gitmodules major upgrade Jun 4, 2019
CHANGELOG.txt major upgrade Jun 4, 2019 Update Sep 28, 2019
package.json major upgrade Jun 4, 2019

Welcome to BlocklyDuino

BlocklyDuino is a web-based visual programming editor for Arduino.

BlocklyDuino is based on Blockly, the web-based, graphical programming editor. Provide static type language blocks and code generators for Arduino programming.

BlocklyDuino also support Grove blocks to easily get started with microcontroller-based experimentation and learning.


  • Programming Arduino with visually drag and drop code blocks
  • Generate fully compatible Arduino source code
  • Interactive Arduino board with 10+ predefined Grove sensor blocks
  • Load different on-site examples with url parameters
  • Theme choice


BlocklyDuino is a web tool. You can give it a try at Web to see the working BlocklyDuino.

You can link directly to examples

  • demo 1 make default LED blink
  • demo 2 control servo with potentio rotator
  • demo 3 click button to change LED colors

Run locally on your web browser

If you want to install it locally. Get code from github and open blocklyduino/index.html in your browser.

The preffered way is to put the BlocklyDuino/web folder into a web server and open the url like localhost/public/blocklyduino/index.html for use.

Integrated Arduino upload

To avoid the tedious step of manually pasting code to the Arduino IDE, you can run a mini webserver that uses the Arduino IDE to upload the code to a connected Arduino board on Windows, Mac OS X and Linux systems. Invoke this command from the BlocklyDuino root folder:


You can optionally specify the port with --port=COM3 (or --port=/dev/ on Linux and Mac); if you don't, it will try and guess which port to use.

When the webserver is running, you can access BlocklyDuino itself on


  1. Open browser to BlocklyDuino, drag and drop blocks to make an Arduino program
  2. Select the 'Arduino' tab and copy all of the source code into an existing or new project in the Arduino IDE
  3. Press the 'Upload' button in the Arduino IDE to burn the code into a connected Arduino board

OR (if running

  1. Open browser to BlocklyDuino, drag and drop blocks to make an Arduino program.
  2. Select the 'Arduino' tab and press the 'Upload' button. (press the 'Reset' button to upload an empty program)


Check changelog here

Authors and Contributors

Fred Lin (@gasolin) .

Thanks Neil Fraser, Q.Neutron from Blockly Thanks Dale Low (gumbypp) for contribute the python server to pipe BlocklyDuino source to arduino board. Thanks Arduino and Seeeduino guys for Arduino and Grove blocks.

The project is also inspired by arduiblock and modkit


Copyright (C) 2012~2015 Fred Lin

  • Licensed under the Apache License, Version 2.0 (the "License");
  • you may not use this file except in compliance with the License.
  • You may obtain a copy of the License at

Blockly Build Status

Google's Blockly is a web-based, visual programming editor. Users can drag blocks together to build programs. All code is free and open source.

The project page is

Blockly has an active developer forum. Please drop by and say hello. Show us your prototypes early; collectively we have a lot of experience and can offer hints which will save you time.

Help us focus our development efforts by telling us what you are doing with Blockly. The questionnaire only takes a few minutes and will help us better support the Blockly community.

Want to contribute? Great! First, read our guidelines for contributors.

You can’t perform that action at this time.