Programming Arduboy via Blocks

I am using the Arduboy with students.
They have already built a diy cheap version and now it is time to program it.

I think they will be better off using blocks and the base program I am preparing looks like this:

It will have a lot of limitations but this way they will manage to build something.

Lucky for me we used the i2c screen as this block system doesn’t have spi. (So it can’t program the real arduboy)

Advantages:
Blocks coding. Very important.

Disadvantages:
Doesn’t work with OG arduboy
Not useful for big complex games
Slow. I measured 24 fps.
Arduboy functions not available.
Music with RTTTL stops the game.
Some more, I will update.

5 Likes

Would love to see you update this as you go. I’m getting ready for running my first Arduboy STEM program in a few weeks at my kid’s school. Very neat approach you have in mind here.

Unfortunate about the lack of SPI support in that block system, so it wouldn’t work for our units. Very cool to see though. The students will have a blast with that!

Personally I’ve never liked block programming, but I’m glad to see someone has actually managed to get something working purely from a “can it be done?” (or rather “can anyone be bothered to get it working?”) standpoint.

I messed around with a similar block editor for a while to show my daughter the basics of programming.
It has pretty extensive AVR and component support. Including Arduino Pro Mini, i2c OLED, RGB LED, buzzer and so on.
For beginners, it’s pretty handy to get interest for more complex designs in the future

Ahh! That’s amazing. I’ve always wanted to support development of a block editor for the Arduboy.

There are a few versions of this for arduino, but none of them have the Arduboy library built in.

This combined with the emulator and built in tutorials and a sprite and music editor would be arduboy in it’s final form as far as I’m concerned.

Let me know if I can help in any way or if you have any idea how to help scale this!

I would not choose block programming for a project of mine. It is just what I found my (not Computer Science specialized) students can use.

There is an easier and better block system for portable games, makecode arcade. It has sprites, camera, tilemaps, physics, collisions, music, and very very easy to use. But the console would be more complex/expensive and I don’t know how to build and understand one.

Arduboy is in the sweet spot, or at least very near.

One option I have is trying to make the blocks for Mixly. It is an open source block system for arduino. But I don’t know how hard it can be.

It would be AWESOME!

At least it has the sprite editor. Take a look at this magnificient tool from the arduinoblocks people:
http://www.arduinoblocks.com/web/help/olededitor

1 Like

I’m hoping to hire a software developer sometime soon who can take on these projects full time!

1 Like

Technically nor am I (on paper).

This is an excellent point.

To be perfectly honest, I think it’s lacking a few basic tools.
At the very least I think you should be able to drag the mouse and draw rectangles.

Also, that’s actually the wrong format for Arduboy’s screen.

On a related note, will your students be using Windows computers at all?


The bigger issue would be how easy it is to add support for a library.
I’m under the impression it’s somewhat difficult in the majority of cases.

Sometimes i am too positive/optimistic.

The main problem with arduinoblocks is that it is not open source so i think there is no way to add anything. It is just a temporary solution.

My students use mostly windows10 and a mac here and there. Why?

They can try the great arduboy games available and make something simple by themselves. It will be fun.

Well that’s a nuissance.

Because if they’re on Windows they should be able to use this:

Oh yes i will consider it. Maybe too complex. We will be making pong-like games.

I already have a nice pong in arduinoblocks working for our i2c arduboy with very few blocks.

Oh well and it would be easy to make them arduboy og compatible. Just downloading the ino, changing the oled initialization, installing a couple libraries and uploading from arduino ide.

This web arduinoblocks is using the open source blockly.

Imagine combining that with all the other existing tools for arduboy.

They use a separate console program to handle the connection web/board, compiling and uploading. More powerful boards can connect directly to the browser but not arduino micro.

I couldn’t lead something like that but I would certainly help with whatever I can.