ArduBlock: a open source graphical programming language for Arduino integrated with the IDE

<a href="http://blog.ardublock.com/">ArduBlock</a> is a graphical programming languages that integrated with the Arduino IDE. It's originally inspired by <a href="http://scratch.mit.edu/">MIT's Scratch</a>. 

looks promising, ill check

looks promising, ill check it out thxz :slight_smile:

Thanks! Any feedback and

Thanks! Any feedback and suggestions are appreciated!

For absolute beginners and

For absolute beginners and small kids this might have some use. But for anyone writing programs that is over 20 lines, this would probably be rather useless.

I like it. It looks clean

I like it.   It looks clean and is easy to read.

I think I would like to see some indenting on the loops and If / Then statements, to make the resulting code even easier to read.

does it support / assist in every command in the language?

perhaps you could show something more complicated like an obsticle avoidance program.

why?i don’t see why 40 lines

why?

i don’t see why 40 lines of code would be any different then 2x20.

■■■■ either works or it doesn’t.

It probably will work, but

It probably will work, but how readable is it in this graphic version.
If you’re testing it out, try loading a somewhat bigger sketch with multiple tabs and some more function. Is it still as intuitive and easy to read?

Looks nice, but as with the

Looks nice, but as with the other similar graphical projects, it lacks a very important feature: a User Function block, that will allow users to write their own function using regular blocks and save it or collapse it and then use it as a single block in their program. 

Can you add this feature?

Finally you found your way

Finally you found your way to LMR :slight_smile: Good luck with your project. I am sure some of the beginners will benefit of it.

I agree with you. But don’t

I agree with you. But don’t forget, this is a UI for beginners, they do not write programs longer than 20 lines in the beginning. After the first success they probably switch to the IDE directly after they understood how the code works. It’s like a homepage builder…the first steps are done with these but then the people want more and type their code in an editor :wink:

User defined function blocks
We are working on this and have gone through a few designs and tested them with our primary target kids from 6 and up. We found the designs still assume too much understanding of underlying constructures: function calls and parameters. There are still a few more designs to test out.

In the mean time, we are building a backend so gadgets makers for example robot car can encapsulate their moving logic in “forward” “backward” “left” and “right” as blocks.

I agree that big scratch
I agree that big scratch using this are not going to be easy to read but it’s not the intention of this to constructure large program. We prefer to hide complexity in encapsulated blocks so the beginners can easily get to something useful and get interested in learning more. The visible code generation is to assist the transition to textual based program once they are comfortable.

Thanks! Almost all commands
Thanks! Almost all commands in the Arduino library are supported except interrupts. We don’t think that will be used much at this level.

Will run the generated codes through a beautifier soon.

As far as graphical

As far as graphical programming user interfaces I like the PICAXE approach better.
http://www.picaxe.com/Software/PICAXE/Logicator-for-PICAXE/
It’s not great but here at least the user learns to read and understand a flowchart and that is a good practice for any programmer.  Personally I use the free yEd Graph Editor for my flowcharts http://www.yworks.com/en/products_yed_about.html

This really works! Planning

This really works! Planning to use it with kids soon.

One great feature is it’s embedded in the Arduino IDE but does not replace it. So you can put the ArduBlock window and the Arduino IDE Code window side by side. When you click Generate in ArduBlock, the code pops up in the IDE window, so people can learn C++/Arduino coding as well, and even hack that code to do other things. Cool!

And I can’t wait for the User Function drawer. I want to implement LOGO for simple low-cost beginner robots that use continuous rotation servos.

I taught robotics to kids with Lego Mindstorms, and the drag-drop is a way to get kids really started into programmig.  I bet some kids will look at the generated code window and go "Cool! I gotta learn about THAT ! "

@taweili did a LOT, repeat LOT of sophisticated coding to make this work!

Regards, Terry King …On the Mediterranean in Italy

[email protected]

Thanks for the kind words.

Thanks for the kind words. Keep the feedback coming. Thanks. 

Hi,thanks for posting. I’m

Hi,thanks for posting. I’m new on a mac and also on Arduino ide. Can someone tell me were exactly the .jar folder goes and do I have to connect the board to make it work? I’ve tried a few things but it doesn’t work. Do you have to create the Tool folder or whatever? Thanks

Very interesting

I have been playing around with Scratch and Lego Wedo with my 8 year old child and I think this tool can be an interesting tool to try out.

I’ll check it ASAP.

Congratulations

Installation

Here is a blog post about installation. It’s a bit messy way to install. :frowning: We are looking to make a installer soon. 

http://blog.ardublock.com/2011/10/25/install-ardublock-arduino-ide/

On Mac, you need to install it under:

/Users/[YOUR USER NAME]/Documents/Arduino/tools/ArduBlockTool/tool/ardublock-all.jar


Thanks! I had a lot of fun

Thanks! I had a lot of fun playing this with my 7 years old daughter. Look forward to hearing from you. Kids are the main demograph we are developing this for. ;)