Recommendations for graphical language/platform for young students?

TLDR: any up-to-date recommendations for graphical programming languages that are compatible with Arduino? I have tried searching and am largely finding defunct projects with websites that haven't been updated in years (Visuino, Ardublock, miniBloq, Scratch 4 Arduino, just to name a few).

Long version: I work for a STEM education nonprofit designing robotics and electronics projects for K-12 students. We offer content at a range of difficulty levels, including plenty of text-based Arduino coding projects. For younger students with zero programming experience, we typically try to ease them into programming with a graphical language. Scratch is great for that if you just want to teach programming, but it's harder to get hardware involved. There used to be a Scratch-compatible USB device called the Picoboard: SparkFun PicoBoard - WIG-11888 - SparkFun Electronics but that's been discontinued for quite some time. You can use Scratch on a Raspberry Pi to learn to blink LEDs etc, but even without the supply chain issues, in general my experience has been that teachers/families with no prior experience have a harder time setting up a Raspberry Pi than an Arduino (e.g. many kids might only have access to a Chromebook at school - you can program an Arduino from a Chromebook, but you cannot use a Chromebook as an external monitor/keyboard for a Raspberry Pi, and most families don't have an extra monitor and keyboard laying around - so "$35 computer" is a bit of a misnomer if you also have to buy $200 worth of peripherals, but I digress).

So, rule out Raspberry Pi. There are tons of robot kits out there that offer graphical programming options, but many of them break the bank. LEGO Mindstorms was probably the most popular for years (now discontinued and succeeded by something called SPIKE), there's VEX, there are various other ones like Root and Sphero and mBot if you go Google around. Most of these run $100 minimum for the smallest/cheapest ones and the full-blown kits are easily $300+. While many full-blown Arduino "rover"-type robot kits and the official first-party starter kit are $100 or more, you can also get started with a simple project (Arduino, a few LEDs, a servo, etc) for much cheaper than that, so I would really like to stick with Arduino - IF I can find a good (i.e. up to date/supported) graphical language for it.

Any suggestions? If not, any recommendations for a platform other than Arduino? The other reason I'm hesitant to go with kits/Raspberry Pi is that the Arduino ecosystem is so much more long-term/stable - it was what, more than 10 years between the release of the Uno R3 and the Uno 4? Compare that to the more frequent release of new RPi boards or the evolution from NXT to EV3 to Spike for Lego/Mindstorms (maybe I'm forgetting one in there?). As a small org without the capacity to update resources every time someone releases a new product, it's much nicer to develop content for a more shelf-stable platform.

Thanks for any suggestions you can provide!

I've moved your topic to a more suitable location on the forum as the question does not involve the IDE 2.x

And I have no idea what is nowadays available.

Thanks, apologies for that (wasn't sure if "software" was still the best place to put it/if the answers may have changed based on anything new compatible with 2.x IDE).

does it need to be with real Arduino hardware ?

tinkercad coud be an option if you can go "virtual"

Yes, Tinkercad is great (I use it extensively for Zoom and YouTube videos - much easier to record/screen share the circuit and code side by side than to set up a separate physical camera to show the Arduino) but I need something that works with real hardware. It's not immediately clear to me what the graphical option in Tinkercad is built on or if it's compatible with the normal IDE somehow.

edit - I realize you could do the graphical programming in Tinkercad, convert to text code, then copy/paste that code into the IDE and upload, but ideally would like to avoid that. You can't convert BACK to blocks in Tinkercad once you've fully converted to text, so it would be hard to edit your program.

yes that's what I had in mind. but indeed it's one way, if you modify the code then all bets are off (but if kids don't understand C++, why would they touch the code?)

how old are your "younger students" ?

I run Raspberry Pi zero devices headless and connect to them using VNC to get graphic output and mouse and keyboard input and SSH for command line only control.
I use RVNC on my Android phones to connect.

There are VNC clients for chromebooks.

VNC is not the easiest thing to initially grasp and set up (especially for non techies), but once done it is painless to use.

Seems like Raspberry Pi might be a potential solution in that you could create a "standard" setup for the raspberry Pi with a set of easy to follow instructions for how to set up VNC.

The Pi zero W is about the same cost as an Arduino ($10-$15) but is so much more capable, powerful, with much more room to grow.
And also offers the ability grow from an inexpensive headless configuration to a more full fledged standalone system with monitor, mouse, and keyboard.
Raspberry Pi can also offer lots of additional capabilities and learning options since runs a real os (linux) which includes lots of development tools.
i.e. languages, debuggers, scripting tools, source control tools,
not to mention video and sound capabilities even when using in headless configuration.

--- bill

Sorry, I realize that "you can't use a Chromebook as an external monitor/keyboard" was an oversimplification and VNC is an option. I should have clarified that we are a virtual organization (we're a website with free educational materials but we don't do in-person programs). The options you mentioned are generally feasible for situations where you have knowledgeable on-site staff to do the initial setup, and you're right, once it's set up it's not too hard to use - but doing all the initial setup is a complete non-starter for families/teachers with zero experience. We also do already have more advanced content for both Arduino and Raspberry Pi - so the question here is more about finding the lowest possible barrier to entry way to blink that first LED.

Given that.
I'd focus on virtual cloud based (non hardware) based solutions.

In terms of using Raspberry Pi with VNC you could offer for sale a pre-loaded & configured SD card that would be already set up with an easy to use distro/desktop and preconfigured for certain tools, demos, etc., which would allow people to get up and running with VNC very quickly and easily using some pretty minimal instructions (how to get the client set up (on the their PC/Chrome box etc..)

--- bill

You might take a look at LabVIEW, from National Instruments; they have a student edition that is free, and I found this:

LabVIEW to Arduino

I worked in LabVIEW for years, it's good for a lot of things.

Thanks! It's been years but I used Labview as an undergrad. Didn't realize this existed and it hadn't popped up in my google searches so far, will look into it more.

Visuino was updated just couple of months ago, and since then I have posted few Betas. There is new official release that will be available in couple of weeks.
It supports vast number of various controllers, and even to some extend Raspberry Pi, so I would say it is reasonably up to date... :smiley:
There are also a lot of resources available for it, with new coming almost on daily basis, and it is already used by some universities and schools.
I would suggest to download and try it or at least watch some video tutorials, and then decide if it does the job :wink:

Thanks! Sorry I only glanced at the website and did not realize it was up to date unlike the others.

No worries :slight_smile: Hope you enjoy it!

Hello,
I have been working for a while on a very robust new block environment for Arduino.
Maybe you would like to try it: aele.dc.uba.ar
If so, I would appreciate your feedback to improve it.
Greetings.

1 Like

Hi @mitov ; I am doing a try on the tool which I think it is amazing the concept and such, so to start, thanks to you on helping people like myself that doesnt have code skills, but only ideas, to make things happen.

I am looking for basic info about the logic how the tool works which are not making sense in my brain right now. I gave a try o the very begining video where it shows how to use a switch key to toggle the inboard LED and I didnt get why should I connect the pin (marked on the board as OUT) but it will take an input signal with the switch. I odnt know if I made myself clear but this IN/OUT written on the pin board is making me confuse. In the case of using the switch on the Digitalpin2 (arduino nano example) which will receive after I push the button the 5V will go IN on the Digitalpin2 port of the board buton the software I connect it on the OUT port. So it doesnt make sense to me. Can you exlain better the logic about that?

Once again, thanks.

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.