Snap interfacing

Tags: #<Tag:0x00007f5ce7891070>


After the few workshop I did with Snap! software to pilot robot, I really enjoyed. I also saw some drawbacks which are very cosmetic for many.
I now imagine I make a robot, artistic robot with high tech stuff. I want now the robot to be programmed by children using Snap!

What are the different ways to make such an interface ? How to build personnalized blocks ? Is there only HTTP REST API way ? Or could I program a specific block ?

Thank you for your help.


You can make your own block in Snap, using right click “make a block”.

You choose the category and the name

You can add variables if you click on the “+” sign


an easy way is to run a Python Flask server ( and make some entries (

for exemple for ErgoJr you have (in'/motors/<motors>/get/<register>')
def get_motors_registers(motors, register):
    motors = motors.split(';')
    return ';'.join(str(rr.get_register_value(m, register)) for m in motors)

In snap! just make a right clic to “make a new block” select your parameter and use the url block and split block to return the good answer