Arduino Blockly Simulator Released

259 views
Skip to first unread message

glase...@gmail.com

unread,
Feb 19, 2021, 3:48:21 PM2/19/21
to Blockly
Hello,

I built an online Arduino IDE that uses Blockly. It comes with a built-in simulator as well. It's like video editing for code. It also allows you to upload code directly to the Arduino from the website. Right now, that feature only works with Chrome.

https://electroblocks.org

It uses sapper / svelte as the frontend framework.  It also uses firebase to store all the Blockly files for the users.  I also built some built lessons like Scratch.  It also uses typescript as the main language.


If anyone wants to contribute, please let me know.  Any feedback you have is appreciated.  

Thank you for all the hard work you all do to keep this stuff going.  I appreciate it!

Noah

glase...@gmail.com

unread,
Feb 19, 2021, 3:51:27 PM2/19/21
to Blockly
Also here is the code it's all open source and free.  Forgot to mention that in the post.

Beka Westberg

unread,
Feb 20, 2021, 11:35:15 AM2/20/21
to blo...@googlegroups.com
Hi Noah,

It is so cool to see this released! I love how much care you put into designing your blocks language, with the icons on each block, the really visible help text, and the clear warnings when I mess something up haha. I feel like I can put something workable together really easily, even though I don't have an arduino and don't know how they work hehe.

Plus the website looks really nice! I love how the arduino work area automatically updates when I add new components, and shows me how to set them up. The video lessons look really great too! I watched the one about making a high-five machine and it made me wish I had the stuff to build it hehe.

One thing I'm curious about is your debugger :D I don't think I can try it out since (as mentioned before) I don't have an arduino. Do you have a video that goes over how it works? I think adding debugging capabilities to blocks-based language is a really interesting challenge, and I'd love to know more about how you tackled it. Did you take any inspiration from the MakeCode debugging talk at the 2019 summit? Or was all of this stuff in place before that?

Thank you so much for sharing this Noah! I really enjoyed getting to try it out :D

Best wishes,
--Beka


--
You received this message because you are subscribed to the Google Groups "Blockly" group.
To unsubscribe from this group and stop receiving emails from it, send an email to blockly+u...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/blockly/95139b60-c773-4c36-aaa4-5cc880a45bf1n%40googlegroups.com.

Noah

unread,
Feb 20, 2021, 3:21:35 PM2/20/21
to blo...@googlegroups.com
Thank you for your kind word.  They mean a lot to me.  

So I was not able to do as good of a job as they did.  I do have a debugging block that allows you to pause the Arduino and see all the variables that are being stored in the Arduino.  When I get a lot better at c, I would like to write firmware that provides more dynamic debugging on the Arduino with Blockly. 

Here is the youtube video showing how to do it.


Total side note, but one feature that would be amazing is to print the values of the variables inside the blocks.  I know that would be a lot of work.

example.png

Thank you for all your work.  I am planning on adding your +/- blocks to this real soon.  

Noah

Beka Westberg

unread,
Feb 22, 2021, 5:17:23 PM2/22/21
to blo...@googlegroups.com
Hi Noah,

Thanks for sending me that video about the debugging! It was really cool to get to see it in action :D Being able to step through your program like that seems to be really helpful for debugging, and it's cool to see different blocks-based applications gravitate towards that.

> Total side note, but one feature that would be amazing is to print the values of the variables inside the blocks.  I know that would be a lot of work.

That is a really cool idea! I think App Inventor had a prototype that did something similar at one point... maybe it printed the variables as the program ran, but didn't allow you to pause? I can't exactly remember :/ But either way it never got merged into the core website.

I think that in certain environments you could get it working by embedding info about block IDs into your generated code (I think that's what the App Inventor prototype did too), but I'm not sure if you could get something like that working with Arduino. Even if you could I'm sure it'd be a lot of work, like you said hehe.

> I am planning on adding your +/- blocks to this real soon.  

Haha rad! I can't wait to see how this evolves over time :D

Keep up the awesome work!
--Beka

Reply all
Reply to author
Forward
0 new messages