Meet the Minibloq


When you're first starting out in the world of embedded electronics, chances are you are going to start by tinkering around with the Arduino development platform and software. Even though it's not terribly difficult to get started, it can be a bit confusing for the true beginner. That is where Minibloq comes in.

Minibloq is a graphical programming environment for Arduino. Essentially, it lets you visualize and build simple projects on your computer screen before physically putting them together. This allows you to explore the way Arduino works (or won't work, if it's hooked up incorrectly) while learning more about circuits and embedded electronics.

Maybe the best part of this project is that it is open-source and will be free to the world if the developer can get enough funding on his KickStarter page. This has some awesome potential ramifications for the world of education if students can play around with Arduino and electronics for free! Nice work!


Comments 54 comments

  • Kickstarter is not a sketchy company nor is it a subsidiary of Amazon. I would highly encourage anyone interested to read up on Kickstarter. It is a funding platform that facilitates gathering monetary resources from the general public, a model which circumvents many traditional avenues of investment. Money pledged by donors is collected using Amazon Payments. Kickstarter takes 5% of the funds raised; Amazon charges an additional 3-5%. Unlike many forums for fundraising or investment, Kickstarter claims no ownership over the projects and the work they produce.
    As for this particular project, the Department of Education at SparkFun views this is an incredible tool for the classroom and/or for people just getting started with electronics. Having the opportunity for a good graphical interface that also shows code source is awesome. We’re excited to see how this project progresses! Did we mention that the project is open source freeware?

  • I don’t understand the hostility to this from some posters.
    Arduino itself uses a simplified C that allows people with no programming experience to produce some pretty sophisticated devices. Some will eventually outgrow the Arduino environment but they will have gained a foundation of knowledge that they can apply to the use of more powerful AVR tools.
    Most of those people however are adults who are skilled readers and have familiarity with mathematical concepts such as variables and operations, as well as linguistic conventions of syntax and punctuation.
    Simple though Arduino may be, it is still C and for many kids under the age of 12 or so, the language is difficult to understand. Why is “=” different from “==”? Why is “x++” the same as “x=x+1”? For kids who have not yet been exposed to high levels of logical reasoning and mathematical arguments, and who lack adult level linguistic skills, C is hard to “get”.
    Not that they can’t do it mind you. I know several highly motivated 12 year-olds who certainly can and do. For most however, the setup and programming of a fading lamp on Pin13 is a challenge that requires significant adult guidance. Having worked with several children who want to learn Arduino, it has been my experience that even the most motivated ones need several hours of one-on-one coaching before they feel comfortable wiring their own circuits and programming from scratch.
    A graphic blocks development environment may well alleviate a lot of the need for adult hand holding however. If Minibloq can help a kids get started in physical computing without the aid of an experienced/patient adult advisor, then a Kickstart contribution is money well spent.
    What I see this doing is allowing kids to set up Arduino to do a few pretty cool things in a very short time, using a programming environment that converts simple graphic elements into code. Once kids learn to do the simple things, they can look back at their own code for lessons about how the programming language actually works. Eventually they will grow beyond the graphic blocks and write “real” code in the more conventional way.
    For those who say that such an approach teaches sloppy programming, I would say that people who learned programming using Scheme would say the same about nearly every other high level language.
    For my part, if Minibloq flies, it may just be the tool I need to put together an Arduino “laboratory kit” suitable for a classroom of 6th graders.

    • If someone doesn’t have the will to do something, inform them of their possibilities, but do not draw them into it with little things like this. It will just lead them to believe they can do things that they can’t.

      • Many people seem to have the belief that because a particular skill came easily to them, others who fail to pick up that skill are simply lacking the drive to learn. I used to be such a person. When I was much younger, skiing and sailing came to me with almost no effort, as did reading. Later I had similar experiences with rock climbing and learning to fly.
        Eventually I had an opportunity to be a sailing instructor. My attitude was, “If I can do this, anyone can do it.” Fortunately I had one student early on who was quite dedicated and very smart, but simply could not understand the operation of a sailboat. From him I learned that just because something was simple for me did not mean that it was simple for everyone and failure to “get it” was not always a consequence of laziness or poor motivation.
        Moreover, I learned that those who lack a natural gift, can nevertheless become quite skilled, even to mastery with the benefit of good instruction. This insight encouraged me to attack mathematics, though I did so much later in life, having been firmly informed as a child that I simply did not have any innate ability in the area.
        Fortunately in the field of computing, projects such as LOGO, ALICE, PICAXE, and Arduino, have made programming and physical computing accessible to anyone who cares to be more than a technology consumer. These projects are not leading kids (or adults) “to believe they can do things that they can’t.” Instead they are building pathways that allow kids to begin to learn very complex and difficult things.

    • “Simple though Arduino may be, it is still C and for many kids under the age of 12 or so, the language is difficult to understand."
      It’s this way for ADULTS too! We’re not all possessed of keenly focused analytical minds for whom programming comes easily.
      I have a LOT of friends who would WANT to make car projects or E-Textile projects or "Around the Farm” projects that will run in fear at the thought of programming in a text editor.
      This may be the future. I’m backing this all the way.

      • You want to teach your kid to do time tables?
        First thing: Don’t tell them that you teaching them time tables.
        Second: Make it fun and make it simple. 2,4,6,8 who do we … 10, 12, 14….
        Do you know why Sesame Street does such a great job teaching kids and adults of second languages? Because they make learning fun.
        If someone was to dig up one of those TSR-80 Model III books on how to program in GW basic and do the same thing for C or C++, C would not be that difficult. I am sorry but it does not take a genius from the intellectual crystal tower of academia to turn any subject into something so boring that no one could learn how to rub two stick together to make a fire. It’s only sad that we allow people like that destroy our educational system.
        I remember my high school computer science teacher trying to teach Arrays to a bunch of high school kids. He came from the school of UNIX, and he could not bring down to our level what arrays were. I suggested people think of arrays like mail boxes in the post office. Each unit in an array has their own box number, and you can stick anything in that box and call it back up whenever you need to by that number. He could not get that. (We had great arguments over I$=Inkey$ and why you don’t need a Enter key for everything. Ever see an enter key on a coke machine? Or your car’s starter? I am with Nancy- just say no to UNIX’s and it’s UNIX’s Crystal Palace.)
        That’s 90% of why most people fail calculus- because the teachers don’t know how to teach in a way to make it fun and in a way people/kids can understand and relate to. It’s a great way of keeping people out of great cathedral of math.
        So when people tell me that C is too much for a kid age 12 or less, then I have to say you’re not teaching it in a way kids can relate to. C is like Basic, it has rules, grammar, and structure. The GW Basic that I remember does not have more than 75 words in it, unlike the how many of English? English is crazy with all its exceptions. Basic and C don’t have that many exceptions to their rules. Once you realize ‘=’ means your assigning something and ‘==’ means your comparing something any kid can understand that. Now C does not have all the rat nest problems that GW basic has, but still it’s not that hard to teach.
        Again, don’t tell them your teaching them something, just make it fun to do. Isn’t that part of what SparkFun is about? FUN? AKA: You don’t teach them how to parse a B-Tree right out of the gate in C. But then how many people who know C are parsing a B-tree with their Arduino here?
        As for kids afraid of wiring: I have been wiring circuits sense I was 7 years old and got my first Heathkit. Yes, I needed a parent to check my circuits the first few times out of the gate. But the more times I made burglar alarms, sirens, rain detectors the better I did.
        As for what this guy is doing: I hate to say it this is a lot like how Microsoft did it’s C++. Now before you jump all down my throat, you type a key word and all the stuff that is needed pops up. If you add a left bracket in C++ IDE, the right one pops up. Same way in Excel. The only difference here is that they are getting rid of all the spelling and words and going to just symbols. I can see this working for people who are dyslexic. As they say there are very few dyslexics in China.

  • Why is everyone that is into this type of stuff a giant skeptic?
    I think this is a great tool, and if the creator of it is asking for funding I don’t think that should be a problem. I don’t know anyone who would want to dedicated hours of work for everyone and their mother to use their creation, for nothing. He is offering it for free once the KickStarter campaign is over, along with the source, so just be patient. And I bet every person who has bashed MiniBloq, or said it is a bad idea, will probably be using it.
    Quit hating, start appreciating.

  • Looks very similar to Labview from National Instruments. Very Cool. Great instructional applications that are already in place in many schools.

    • Labview is the platform for FIRST robotics; it is however quite expensive - and tied to expensive platforms - significantly raising the bar on hands-on STEM; Lego uses LabView - and charges like $70 just for software - to kids!

    • no this is FREE !!!

    • Let’s hope it doesn’t turn into LabView.

  • I like Minibloq so far. I can program C but don’t know a lot about electronics yet. This program is helping me to learn it. I posted a video on youtube about it.http://www.youtube.com/watch?v=gnAm8S6k2z0

    • Hi, finally Minibloq v0.8.Beta has been released today. You can download it from the project’s page:
      http://minibloq.org
      It’s still a Beta, may have some issues, and there is still a long roadmap, but I will continue improving the project every week…
      My advice is to read also the prelimnary documentaiton page:
      http://blog.minibloq.org/p/documentation.html
      Cheers!
      Julián

  • Yay, I pushed it over the line, met the goal, and get a DuinoBot.Kids!
    You can still pledge and help out too!

  • Gotta love all the bashing on this. It makes me laugh, the same as when people bash on the Arduino. If I had kids, I would love to show them this.
    The Arduino is a platform dedicated to hobbyists, beginners, people who arent EEs, dont have ‘35 years of software and hardware design’ or dont know ‘25 programming languages’. Kids (and some adults as well) have problems with the abstractness of coding. This helps visualize the concepts. Its a stepping stone for learning the code behind it that powers it all.
    Also: please dont tell me what I should and shouldnt use my Arduino for. If I want to replace the TBI system on my Samurai with an Arduino powered replacement, I will do that.
    In the meantime, I hope noone here scoffing at this idea is actually in charge of trying to educate beginners on electronics.

  • We’re officially the only human who still doesn’t use a tablet.

  • So what happened to Modkit? then…? is it me? or are there a rash of people trying to make something that really is not that hard “simpler”? I’ve been about a while have lived thru 4GL’s, code generators, Novell’s flow chart based code generator… any now this “approach”.
    Not saying this is “wrong”… but is it really needed? does it truly enable people to achieve much? Im not that convinced. Typically all these approaches have so many limitations, that plainly out weigh the benefits and stall thru lack of funding…
    I know 6 year olds who cheerfully pick up writing all kinds of code… without any special tools… hmmm..

    • Hi All,
      I think the more options for getting kids involved in programming the better. It is then up to the parent or teacher to decide which is the best way to introduce things.
      If programming was like riding a bike, I see the Minibloq environment as the “big wheels” approach (google: big wheels if unfamiliar). Hand it over with no guidance and she can play around and figure out how to make it go. This can be a wonderful approach.
      Modkit’s blocks are like training wheels. Just an add on to the actual bike (C-code in Modkit’s case). With a little guidance the kid can get going quickly. The training wheels can be taken off at any time (switch to code view), but in most cases they are taken off when they get in the way.
      Teaching text code may require a lot of hand-holding just like it would take to teach a kid to ride a bike without training wheels. If you have the time (and programming experience) to hold handlebars, this is just as valid as the other approaches.
      Ed@Modkit

  • haha looks like the old Lego RCX 2.0 platform (that was a nice thing for beginner programmers)

    • Matt,
      That was my reaction as well. I used to volunteer teaching an after school class on technology to middle and high school students. I’ve seen things like this before. In fact, when my son was little he had a really cool piece of software that let him do this sort of thing to run programs on the computer. I don’t recall the software title, only that it involved raccoons. So I will not be as cynical as some of my fellow curmudgeons who are criticizing this effort. I wish them luck, and suggest that they add raccoons. Lots of raccoons. 8` . But no cake. The cake is a lie.

  • Why not teach kids how to program normally?

  • Interesting project. Paying for future development work is certainly reasonable (people have to eat!). But it is not “open source and free to the world if the developer gets enough funding.” Even once the funding is in, only those pledging $69+ get the source code (those pledging $39+ get an alpha version, but not the source). The source code stays hidden until, according to the kickstarter page, “some time after the release of Minibloq 1.0 beta.” Hiding source code until people agree to pay for future development may be justifiable (arguably), but hiding source until some unspecified, developer-chosen time after a beta is released seems pretty counter to open source principles.

    • Hi, I would like to say something, because what you are saying is a valid question. Please take this into account: I’ll do my best effort to short that “unspecified time” as much as possible. In fact, I hope to have the Beta published about a month after the kick project ends, and the sources about half a month after that (well that’s my hope, I’ll do my best). As I didn’t do something like a Kikcstarter project before, I had to look at other projects to see what they do to reward backers. Some of them were offering “beta testing invites” before the releases. Others were not even open source nor free. But as Minibloq will be free and the sources will be available, I just thought that offering a snapshoot of the code some time before the release, were an interesting reward. I understand what you are saying anyway, Why will I delay the sources after the Beta? Simple: I just want to publish nice code. I will also add some tools to compile it easy. Then I’ll work to finish the v1.0 too.

      • Thank you for your response. I don’t have experience getting funding from Kickstarter, so I don’t know what is effective, and it’s too late to change your plan anyway (people have paid for certain access levels). However, in general, it seems that opening up code quite early leads to better outcomes – potential flaws can be detected early in development, people have a sense that a project is active, etc. And people in this community are generally supportive: you’d get suggestions and help, not [much] sniping about code quality.
        In any case, a six week turnaround from getting funding to code availability isn’t all that long, so my point will be moot soon, as this will be fully open. Best of luck with the project.

        • Thanks for your answer too. I’m doing my best, I don’t have experience getting funding, and I don’t have experience building up an open source project that really works either. I published a port of FreeRTOS for Arduino in 2009 (called DuinOS), and some people really helped with it, but it was a very small project compared with Minibloq. I think with time, will need to setup a code repository (Mercurial?) too.

  • Since you’re featuring these projects asking for money/donations, might I suggest you take a look at http://opencores.org/donation. Essentially they’re taking donations to create a low-cost open-source SoC ASIC (OpenRISC, MMU, can run linux) - and if this comes to be (2012 Q1 is their target), then I think it would fit well in SparkFun’s portfolio to provide these chips and breakout boards or something.
    EDIT: And yeah, I’m not associated with opencores in any way, I just want that chip to become reality. And this was my only “spam post” on this project, promise.

  • I honestly can’t wait for Minibloq to be released. I’m an EE student, and I know that the department head is always looking for new ways to introduce electronics to kids. The entire math and science department recently did a show for a group of 3rd graders. Minibloq and some Conductive play dough would be a great thing to show off next time. I doubt that the 3rd graders would really grasp the concept of the microcontroller, but it would defiantly make a good activity for middle/high school kids on a field trip, especially if we built a few simple robots and turned them loose to program them.
    As for KickStarter, The Gameduino and B-squares that have been featured here recently were both funded by KickStarter. If I ever come up with something that i want to release like this, I’ll definitely use kickstarter.

  • Looks like a reeeaaalllyyy shiny ModKit with squares instead of Scratch-like interlocking pieces. Cool.

  • I’ve never been anything but positive here on SF, but this isn’t it. The idea is good, yeah, but, no, it needs another approach. Also i dont see why they need money :).

  • My favorite embedded development tool is the Picaxe! It is definitely designed for the educational market. However, it is still powerful enough for experienced programmers. It is so fast, and easy. But, unlike the Arduino environment, the Picaxe IDE gives you a simulator so you can see the active pins, ADC values, and the contents of EEPROM and flash registers. This, I think really ties the electronics and the code together nicely.

    • Roger,
      I would not class Picaxe as a serious embedded development tool. Picaxe is in a group I class as “tinkertoys”. Don’t get me wrong, tinkertoys have a place, and I use some of them, including Picaxe. But I have 35 years of hardware design and software development behind me, and I’ve got to say that anyone who feels that Picaxe has a place in serious hard core embedded development is either new to the game, or strictly a hobbyist. Many of my projects involved things which could hurt people and break things. Some of it was military, and some scientific or industrial. But I can’t imagine doing any of those things with a Picaxe, Basic Stamp, or other hobbyist tools. Yes, these things are cool and fun. Yes, you can do a lot with them. But please don’t use them for medical devices, fuel injection controllers, industrial motor controllers, weapons guidance, or any one of the myriad other non-hobbyist serious embedded control apps for which they are wholly unsuited.

      • You say that you’ve worked on military projects… I’ve seen plenty of military projects and prototypes where they used VERY simple tools. You don’t need a super computer for tasks that are trivial when all things are considered. As a matter of fact, the simple chips are often the better option.
        Now if what you’re saying is that the tools used in these aren’t necessarily more advanced, but just less prone to error, then I do agree with you. Though in prototypes, they still often use very similar tools to the arduino and picaxe just because they’re so easy to use for a proof of concept.

      • rwizard,
        I will definitely take your words into serious consideration the next time I am putting together a missile guidance system in my basement…REALLY? Will all of the “hardcore” embedded designers trolling SF forums please raise your hands. The whole idea of Sparkfun is to bring electronics to the masses, yes, even to electronic’s dirty little secret…hobbyists. Everything has its place, even PICAXE.

      • I use the Arduino platform to control a 60Lb combat bot…
        is that dangerous? Or is it dangerous to use a Arduino to control a 120lb combat bot with saws and a butane flame thrower…..
        (I think it adds a level of excitement to testing in the labs) lol

        • This entirely accepted as good practice at Aperture Science Laboratories.

        • Arduino doesn’t allow step through debugging - so yes, on that point alone, it is dangerous to use Arduino for anything serious. (I love ‘em and use 'em, but for the world’s most popular DIY embed platform, it is highly deficient).

    • The Picaxe is not powerful.

      • Power isn’t everything.

      • The PICAXE is godlike, yer its nothing compared to our 64 bit computers but its such a powerful tool to start with.

      • What?! “The Picaxe is not powerful.”?! You obviously don’t know anything about PICAXE (Not “Picaxe”). I don’t know how to explain that it’s powerful to some Man-Machine who’s powered by ARM or some REALLY powerful processor. It’s not as powerful as ARM but hey, it’s an 8-bit chip. What do you expect?

  • another thing for beginners… lol… I think in a few years, 5 years old kid are gonna learn about electronics and think it’s actually easy lol
    there should be more “easy to learn” stuff for other kind of projects… like how can I protype a robot chassis that can get better efficience… and point out the possible problems… like where it could “break” or something like that. It’s not dificult for someone who already know about it… and would be good. Surelly it would not be useful for all kind of applications (like arduino isn’t), so it would not have a bunch of chassis models… 5 or 6, is enought.
    Or maybe a program to help prototyping eletromagnetic stuff… like how much speed can a steel projectile get after passes trought a magnet or an energized coil(specifying it’s characteristics). etc…
    there is a ton of this electronics for beginners programs… there was a GUI based one for arduino already, I don’t know the name of it… but I know that I saw it here at sparkfun’s blog.
    well whatever… let’s focus on things that are not made already… yes that we can improve the existing “tools”… but it’s way better to make a new tool that will give 40% more eficience (fast, easy to learn, etc… ) to something that we do not have anything… than to upgrade an existing tool that give is 70% eficience, and get it to 80%… I don’t know if I could make my self clear.
    don’t want to troll… just saying what I think about it…

    • I agree; this is just a visual code editor. It does nothing to help teach what it really takes to make good software, which is knowledge and experience with algorithms, logic, object oriented design, etc.
      The whole thing just smells fishy. Why does Julián need $4300 (really more like $3900 after Kickstarter and Amazon fees are subtracted) and why is he using the controversial Kickstarter organization to get it? Perhaps a clever strategy to help develop a new RobotGroup (a company that Julián works for) product (the DuinoBot Kids Controller) since Kickstarter doesn’t do business funding? I’m all for investing in creative startups, but be careful about throwing any of your money into this one.
      And isn’t the Arduino tool chain already free?

      • Well,I’m Julián. I don’t understand well (sorry for my English also). I didn’t even know that Kickstarter was controversial. Sorry, I live in Argentina, work a lot of hours in a robotics company, and I’m a teacher at public university too (Universidad de Buenos Aires). I started this a lot of time ago, as a side project, but worked most on the design, from the needs I saw in classroom. Also, a lot of people helped with the project, because we saw a specific problem: Chidlren in classrooms has some specific problems (with syntax errors for example), and sometimes there is no much class time either. With this kind of tool we can focus on the problem. Minibloq shows the generated code as well (this is a difference with other existing graphical tools). And as this is a side project, I saw in Kickstarter a way to accelerate the implementation, because I’m working Sundays, nights, and other non-working days. That’s all. The soft will be free and the sources will be available as well.

      • I think the point of hands-on applications at the very young, is not to convey the compound conjunctive, but to break the ice of unfamiliarity and plant a seed of self-confidence - for some the mere opportunity to get their hands on a technology is sufficiency to learn it. Certainly my 9 year old doesn’t ask how to “use” a computer.
        As for the cost - I think Julian is looking at putting some serious effort into free software, and needs to pay rent that month. (This project should be nominated for Summer of Code btw)

      • I don’t know if I’m dumb or if my enlgish is not that good… but I didn’t get what you tried to say… did you mean this guys are trying to make money with this? (not making this a free tool?)

  • Woot! This is one of the most exciting things I’ve seen come along in a while. I’m all over this.

  • It’s like LEGO for programmers, but I’ll stick with my Fezes

  • not the most talkative presenter-quite a contrast to the Dia techstyles video I just watched. Cool project - I could see this being used in middle school.


This Week

This Month

Heartbleed

Happy Arduino Day!

SXSW Create 2014