• Stars
    star
    451
  • Rank 96,968 (Top 2 %)
  • Language
    JavaScript
  • License
    Apache License 2.0
  • Created over 10 years ago
  • Updated 6 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Visual programming for Arduino. Based on blockly, implements Arduino code generation and facilitates program uploading.

Ardublockly

Ardublockly is a visual programming editor for Arduino. It is based on Google's Blockly, which has been forked to generate Arduino code.

The ArdublocklyServer Python package initialises a local server to be able to compile and load the Arduino code using the Arduino IDE.

This is all packaged in a self contained executable desktop application for Windows, Mac OS X, and Linux.

Ardublockly desktop program screenshot

Features

  • Generates Arduino code with visual drag-and-drop blocks
  • Uploads the code to an Arduino Board
  • Useful "code block warnings"
  • Compatible with a wide range of official Arduino Boards
  • Works on Windows / Linux / Mac OS X

Ardublockly is still under development and a few features are not yet implemented. A to-do list can be found in the TODO.md file.

Currently tested under Windows with Python 2.7 and 3.4 and in Linux and MacOS X with Python 2.7.

Cloning the repository

Please note that there are submodules in the repository that need initialisation. So, to correctly clone the Ardublockly repository:

git clone https://github.com/carlosperate/ardublockly.git
cd ardublockly
git submodule update --init --recursive

Installing

The desktop application is available for Windows/Mac/Linux and runs as a stand-alone executable that can be downloaded from the Ardublockly repository releases page.

You will also need the Arduino IDE version 1.6.x or higher.

Development builds

You can also test UNSTABLE development builds automatically generated every time an update is added to the GitHub repository:

Linux build Windows build Mac OS X build
Linux Build Status Windows Build status Mac Build Status
Download Link Download Link Download Link

"Core version" (Python server only)

If you prefer, the core software can be used by running only the Python server, which loads the web interface on your local browser (Chrome recommended).

Full installation instructions for this version can be found in this Github repository Wiki.

The quick version: Clone this repository, initialise all submodules, and execute:

python start.py

This will work on Windows, Linux (including ARM) and Mac OS X, with Python >2.7 or >3.4

Running

  1. Install Ardublockly.
  2. Install the Arduino IDE version 1.6.x or higher (latest version is always recommended).
  3. Run Ardublockly as defined in your installation method.
  4. Configure Ardublockly to locate the Arduino IDE following these instructions.

Online Demos

A demo of the latest release of Ardublockly main interface can be found in the following two links (to load the code into an Arduino it requires the full Ardublockly application to be downloaded and run on your computer):

Ardublockly

WebApp screenshot responsive design

Ardublockly classic

WebApp screenshot

Documentation

The documentation, including installation instructions, configuration instructions, and developer information can be found in the Ardublockly GitHub repository Wiki.

To download the documentation you can git clone the wiki data:

git clone https://github.com/carlosperate/ardublockly.wiki.git

Credit

This project has been inspired by BlocklyDuino.

Blockly original source is Copyright of Google Inc. https://developers.google.com/blockly/. A list of changes to the Blockly fork can be found in the Blockly subdirectory README file.

License

Copyright (c) 2016 carlosperate https://github.com/carlosperate/

Unless stated otherwise, the source code of this projects is licensed under the Apache License, Version 2.0 (the "License"); you may not use any of the licensed files within this project except in compliance with the License.

The full document can be found in the LICENSE file.

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

More Repositories

1

awesome-microbit

A curated list of BBC micro:bit resources.
HTML
1,004
star
2

awesome-pyproject

An Awesome List of projects using the pyproject.toml Python configuration file.
928
star
3

arm-none-eabi-gcc-action

GitHub Action to set-up the `arm-none-eabi-gcc` GNU Arm Embedded Toolchain.
TypeScript
83
star
4

LightUpPi-Alarm

Raspberry Pi Alarm Clock with sunrise lighting, coffee machine control, physical snooze button, and Android companion app:
Python
34
star
5

docker-qemu-rpi-os

Docker images with Raspberry Pi OS running on QEMU
Dockerfile
28
star
6

download-file-action

GitHub Action to download a file from the internet into the workspace to use in your workflow.
JavaScript
27
star
7

microbit-dev-env

Easily install and configure a development environment for the BBC micro:bit in C/C++, MakeCode, and MicroPython using Vagrant (virtual machine).
Shell
25
star
8

Blockly-gPIo

Raspberry Pi visual programming using blockly, with GPIO control and simple simulation.
JavaScript
22
star
9

ubittool

Utility to extract the contents of flash from a micro:bit, including MicroPython user code.
Python
16
star
10

LightUpDroid-Alarm

Android companion app for the LightUpPi Alarm (Raspberry Pi Alarm Clock)
Java
14
star
11

docker-microbit-toolchain

Docker image with the BBC micro:bit C/C++ toolchain 🐳
Shell
12
star
12

python-serial-pc-control

Control your PC keyboard and mouse via serial messages.
Python
9
star
13

rpi-os-custom-image

Raspberry Pi OS images with autologin and ssh enabled
Python
8
star
14

bloaty-action

GitHub Action to run Bloaty McBloatface: a size profiler for binaries
Python
8
star
15

python-portable-macos

An attempt to make a portable version of Python for macOS to pack Python applications into self-contained executables
Python
7
star
16

PebbleQuickHue

Pebble smartwatch app to facilitate quick control of Philips Hue light bulbs
C
5
star
17

pxt-banana

Example of a MakeCode extension with C++
TypeScript
5
star
18

mkdocs-awesome-list-plugin

MkDocs Plugin to inject social media cards for each entry in an awesome-list.
Python
5
star
19

microbit-blocks-python

micro:bit blocks ported to generate Python code for the MicroPython implementation
JavaScript
2
star
20

ArduinoCore-Template

C++
2
star
21

micropython-microbit-pc-control

Python
2
star
22

carlosperate.github.io

Personal GitHub Pages website powered by Pelican:
CSS
2
star
23

Tangible-Programming

Physical blocks analysed by a Raspberry Pi to control an Arduino Robot. Used to introuce the basics of programming logic with tangible objects and effects.
Java
1
star
24

heli-challenge

Ball balancing game powered by a M0+ uC and FreeRTOS.
C
1
star
25

IrRemoteController

Arduino Leonardo Sketch to control a computer (emulating a keyboard and mouse) using an IR remote
Arduino
1
star
26

other-projects

Python
1
star