Git Product home page Git Product logo

blocklyduino's Introduction

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.

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 arduino_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)

In GNU/Linux OS (i.e. Ubuntu 18.04x64)

  1. Open one terminal, go the BlocklyDuino path and run:
    python arduino_web_server.py --port=/dev/ttyUSB0
  2. Open a new terminal and run:
    firefox http://127.0.0.1:8080/
  3. Once BlocklyDuino is open in the browser, drag and drop blocks to make an Arduino program or load an example by clicking on LoadXML (e.g. /blocky/apps/blockyduino/examples/blink.xml or other in the same path)
  4. Press Upload and wait until you see Program uploaded ok and press OK!
  5. Close terminals with Ctrl+c or Ctrl+d

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 [email protected]

  • 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

blocklyduino's People

Contributors

antunderwood avatar arachnid avatar bmcage avatar carlosperate avatar cyberlane avatar gasolin avatar grahack avatar gumbypp avatar kant avatar meln1k avatar mjhoy avatar mxochicale avatar neilfraser avatar prabindh avatar rachel-fenichel avatar sebcagnon avatar sebcanet avatar stevoleeto avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.