Minibloq

Minibloq is a graphical development environment for Arduino and other platforms. Its main objective is to help in teaching programming. It is specially used in robotics at elementary, middle and high schools. It's widely used in Argentina, where in the San Luis province alone, more than 60000 children have been trained with this software in public schools.

How it works
Minibloq is basically a graphical code generator with some IDE capabilities. It's self-contained and every distribution includes the complete [toolchain] needed to compile (or interpret, depending on the selected target) and deploy the code to the selected hardware target. Every code block is configured in XML. Since its first public version, the code is generated in real time (for this purpose uses Scintilla). Here are some examples of code generated for Arduino:

Since the v0.82 version, it also can be used as an IDE for conventional programming of Arduino and other physical computing boards.

miniSim
Since the v0.82 version, miniBloq includes miniSim: a small 2D robot simulator, aimed specially for kids. It's a very simple tool to help teaching basic robot programming to kids whom do not own a real robot. miniBloq features some simple blocks that controls a small simulated robot with some remembrances to Logo, where the robot can draw a small environment (a maze, for example) and then use a sensor to interact with that environment. miniSim is under the same license as miniBloq, and has been programmed in Python, using PyGame. miniSim is the official simulator software used by the Educ.Ar educational program from the Argentine Government.

Operating systems
miniBloq runs under Windows and Linux, in principle, without dependencies. The v0.81 version is distributed both as a Windows installer (exe) or as a single multiple OS compressed file, which contains the Windows and the Linux versions. This last distribution was designed to be portable, so the user can run in from a pen drive in any of these operating systems. The version v0.82 comes only in Windows version, since the Linux is under development. However, a preliminary Linux version can be downloaded from a branch from miniBloq's GitHub repository.

Derivative software
There are derivative versions of miniBloq made for specific platforms by third party teams or private companies:
 * AERobot: an Affordable Education Robot: This is a project from a Team at Harvard University, winner of the African Robotics Network 2103/2014 Design Challenge
 * ArcBotics miniBloq for Sparki: Specific miniBloq version made from a pre-release of the v0.82 for the ArcBotics' Sparki robot.
 * Lego Duino: Hobbyist project made by J. Benschop to help teaching robotics to kids using Lego and open source robotics hardware and software.

Publications
There are some activity books available online as PDF about miniBloq and educational robotics:
 * miniBloq + Arduino (Spanish)
 * SparkFun RedBot & RedBoard with miniBloq

Web articles

 * Hack a Day
 * Arduino
 * SparkFun
 * Seeedstudio
 * TechCrunch
 * Maker Masters