MCPcopy Index your code
hub / github.com/BlocklyDuino/BlocklyDuino

github.com/BlocklyDuino/BlocklyDuino @v1.4

Chat with this repo
repository ↗ · DeepWiki ↗ · release v1.4 ↗ · + Follow
158 symbols 363 edges 146 files 45 documented · 28%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

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.

We also have Google+ Page.

Features

  • 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

Demo

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

Or watch the video demos

Run locally on your web browser

If you want to install it locally. Get code from github and open blockly/apps/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/blockly/apps/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:

python arduino_web_server.py

You can optionally specify the port with --port=COM3 (or --port=/dev/tty.foo 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 http://127.0.0.1:8080/.

Usage

  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 ino_web_server.py):

  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)

ChangeLog

Check changelog here

Authors and Contributors

Fred Lin (@gasolin) .

Thanks Neil Fraser, Q.Neutron from Blockly https://developers.google.com/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

License

Copyright (C) 2012~2015 Fred Lin gasolin+blockly@gmail.com

  • 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 *
  • http://www.apache.org/licenses/LICENSE-2.0

Core symbols most depended-on inside this repo

a
called by 29
blockly/blockly_compressed.js
b
called by 22
blockly/blockly_compressed.js
c
called by 15
blockly/blockly_compressed.js
d
called by 13
blockly/blockly_compressed.js
verify_DB_
called by 12
blockly/tests/jsunit/blockly_test.js
css
called by 10
blockly/apps/blocklyduino/spin.js
e
called by 9
blockly/blockly_compressed.js
ins
called by 8
blockly/apps/blocklyduino/spin.js

Shape

Function 134
Method 18
Class 6

Languages

TypeScript69%
Python31%

Modules by API surface

blockly/build.py16 symbols
blockly/apps/blocklyduino/blockly_helper.js15 symbols
blockly/apps/blocklyduino/spin.js13 symbols
blockly/apps/blocklyduino/FileSaver.min.js12 symbols
blockly/tests/jsunit/blockly_test.js10 symbols
blockly/i18n/common.py10 symbols
blockly/blockly_compressed.js8 symbols
blockly/core/realtime-client-utils.js7 symbols
blockly/i18n/xliff_to_json.py6 symbols
arduino_web_server.py6 symbols
blockly/generators/arduino/grove.js5 symbols
blockly/arduino_compressed.js5 symbols

For agents

$ claude mcp add BlocklyDuino \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact

Ask about this repo answers extend the page