Arduino Diary – Week 4

Brief recap; every Wednesday afternoon, a group of us are mucking about with Arduino, just to stretch understanding of that space, fuel our imaginations with some different approaches, and have fun doing it.  And drink tea, and eat biscuits.

This has been a bit of a busy week; working hard on existing stuff, pitching some new stuff, and looking after the wee fella a bit as Helen felt under the weather.

So I didn’t make it down to Brighton for our Arduino group session.

But I did find time to interview (via email) Julián da Silva Gillig in Argentina.

Julián is the creator of Minibloq which I mentioned last week; it’s a program he’s created which lets you visually piece together the code you need for a vast range of Arduino-type boards… you’ll get the idea from this video:



I’m a massive fan of the idea behind the program, so thought I’d find out a little bit more about it and where it might go next…


JVW: When did you start thinking about solving the problem that Minibloq addresses?

JdSG:  Well, really, in 1995.  I was 18 and was making parallel port interfaces and some elementary sensors to teach robotics in primary (and some secondary) schools.  I don’t remember the details, but I wanted to have a simple graphical software to program those physical devices.  I did not know enough to implement the thing that year.

But I started to work anyway.  Finally, in 1997, I released Minibloques.  It was not open source but was free.  After that, I never stopped thinking about this kind of environment, but I started to work for different companies, and did not have the time to work on it.

This is screenshot of the original Minibloques:


JVW: Why did you start Minibloq?

JdSG:  After some years with regular work (but always trying in my leisure to design something to teach robotics), I finally quit the company where I was working and started a small robotics company with 2 friends.

We were making heavy robots, like this one for example:


We also made an educational building system called Multiplo:


It became evident that we were needing something like Minibloq to compete with other systems for schools, and to grow our (small) market share, so I started personally to design it.

Finally, in 2007, I left the company, and my arrangement with my friends was to keep Multiplo as my own IP.

At the end of that year 2 things happened: First: I knew Lucio and Monica from RobotGroup, so Multiplo became a product of RobotGroup.

Secondly, I got funding from the Argentine governemnt to start working on a generic software framework for robotics (called “XDF”).  Minibloq was part of the XDF.

Multiplo became full Arduino compatible in 2009 (it was already AVR based so it was easy).  As RobotGroup was focusing more and more on schools it became evident that the C/C++ of the Arduino syntax was not positioning well the product to teach to children, or some beginners.

So I accelerated the development of Minibloq.  But I wanted to make it open source, free and compatible with Arduino, Maple and as many boards as possible.  And I needed the Kickstarter support fot that.

There is the “why”: it was a long process.


JVW: Who is it for?  I’m a pretty bad, hacky coder, and something in me just went ‘YES’ when I saw it?  

JdSG:  Children and beginners at the moment.  In the future, it may grow, who knows?


JVW: Don’t take this the wrong way, but Minibloq looks like a game – is that intentional?

JdSG:  Don’t worry!  It’s more or less intentional.  I took a design decision that was to use as less text as possible in the blocks, specially to make it independent from the human (ie: English, Spanish, Japanese…) and from the generated computer language (Minibloq is a generic code generator for imperative and OOP languages).


As I’m not a designer, I looked for open source / free icons.  And based on the icons I found (made by other people, or course), the aesthetics were involving.  Anyway, both the icons, the colours, and other things on the look and feel are customisable in the XML block files.  Future block developers may change the appearance of the program a lot.


JVW:  What would you like to see Minibloq achieve in the future?

JdSG:  Right now, the most immediate goal is to build a user community, as big as possible.  Regarding the software itself, there are some short term goals, and an extensive long-term roadmap.

But once the sources become released, and if there is an active user community, I think there can appear new things that I just not imagine now.

The more important short-term objectives are to have it running natively in Mac OS X and in Linux, the complete internationalization (with translations to many languages) and the necessary improvements to let users to add their own blocks and hardware.

Some friends are helping with the Linux and Mac OS X versions, and a lot of people from different countries offered to translate the soft once the internationalization subsystem becomes ready.

After these goals, there are a lot of things to improve, and to be added, and I don’t know where this should go…


JVW: Thank you very much, Julián

I think Minibloq is a fascinating project, for many reasons…

On the grander scale, it encapsulates the way in which small groups and individuals can start creating and sharing ideas across many borders and timezones, creating versions from previously open materials, and then opening up what they create for others to build upon.

And at a more precise level, it’s looking to take physical computing and putting it in the hands of people who have an idea (or at least interest in exploring what they could do), and creating a programming shortcut so they don’t have to be able to read and write code.

This sort of shift, as it starts happening in lots of smaller pockets of culture like this, is vaguely similar to when reading and writing stopped being the preserve of the priests and monks, and started to be something that ordinary people tried.

And we all know how that turned out.
Please follow Julián on twitter here, and the Minibloq blog here, and help him grow the community by taking part.