Awesome Open Source
Awesome Open Source

Otto Blockly

This is a free and open source visual programming language based on Blockly from Google & MIT, to generate C/C++ code, compile and upload to any Arduino. Compatible with any Otto DIY robot or Arduino related boards. It is the perfect software to get you started into coding and STEM robotics.

Watch the video to see all the main features


This software can work offline by installing it on your computer for Windows (master branch) or for Linux operating systems. You can download the latest release version from here. After the software is installed in your PC, it is ready to use immediately, no need to import Arduino libraries or any additional boards because it comes with a copy of the Arduino CLI, it is all in one software!, ready to upload codes directly to your robot or any other Arduino project via USB.

If your computer do not recognize the USB device or Otto, you have to install the CH340 or CH341 or FTDI driver that is in the "driversUSB" folder or download from this link

MAC and Chrome versions are under development,you will need a Virtual Machine or use the online version of App

Online App

Otto Blockly is also a web tool. You can give it a try here. and you can use it from any operative system including chrome books. But you will need to do an initial setup following the steps here then the USB device will be recognized by Chrome browser and you can upload code directly from the internet!

How to Use

  1. Open any example.
  2. Connect your Otto robot.
  3. Select Arduino nano and the USB port where Otto is connected.
  4. Upload and yes is that easy you can even just click upload and the code will be automatically compiled!

Drag , drop, mix, play and create your own codes.Join the Otto Builder community, see all the cool stuff we are making with Otto BLockly and post your ideas!

Learn more of how to use Otto blockly here

We also have the Scratch 3.0 version! Otto Scratch AI

Otto Scratch AI is more child friendly coding interface and you can do Artificial Intelligence interactions, we will be slowly combining these two projects but now they serve to different purposes; Otto Blockly can create, compile and upload native Arduino code, it works offline. Otto Scratch AI needs a previously uploaded firmware to get the commands via Bluetooth, requires the internet because it is connected to AI servers.

## Support us by buying our awesome STEM robot kits

Help us add new Languages

We are translating Blockly for Otto for the international community, you are welcome to contribute with the languages you know, it will benefit you and everyone in your community.

The more people helping to translate the better, it is important to translate while understanding the context, or what is the robot actually doing, to be accurate.

  1. Go to lang folder and duplicate the Arduino_en.js Blockly_en.js and msg_en.js files from english,
  2. Rename them according to your ISO language code, for example fr is for French,so the files are renamed like this: Arduino_fr.js Blockly_fr.js and msg_fr.js
  3. Edit the files with any code editor software like Visual Studio Code translating only the english part after = in between the quotes "" in visual studio is the text in red.
  4. Then pull a request here in github or just attach the files in an new issue.

How to Contribute

Contributing to this software is warmly welcomed. There are 5 ways you can contribute to this project:

  1. Test and report. Let us know if there is something missing in the issue section.
  2. Helps us solve current issues or other bugs.
  3. Suggest or request new blocks.

You can do this basically by forking, committing modifications and then a pull requests. Please explain the changes and make sure they have been tested.

Just make sure to keep consistency in the naming and make a record of the change or improvement made.

Welcome to the Otto DIY development team! Thanks for your contribution.


Thanks to all these great people it has been possible to make this project:

Get A Weekly Email With Trending Projects For These Topics
No Spam. Unsubscribe easily at any time.
Python (1,141,503
C (276,465
Arduino (21,591
Robot (1,628
Arduino Ide (313
Standalone (308
Microbit (200
Blockly (149
Related Projects