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 multiple options of microcontrollers. Compatible with any Otto DIY robot, Arduino or ESP8266 and ESP32 related boards. It is the perfect software to get you started into coding and STEM robotics.
This software can work offline (standalone) by installing it on your computer. Depending on your operating system the installation files are already available or you have to create them yourself.
Download the installer from the releases page. After the software is installed in your PC, it is ready to use immediately, you do not need to import Arduino libraries or any additional setup for the boards because it comes with a copy of the Arduino CLI, it is all in one software!, you will be 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
For Linux operating systems go to this repo.
- Open any example.
- Connect your Otto robot.
- Select your board and the USB port where Otto is connected.
- Upload and yes is that easy you can even just click upload and the code will be automatically compiled!
Drag, drop, connect, 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!
Leave your mark by translating Blockly, you are welcome to contribute with any languages you know, by fixing mistakes you see, 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 and what is the robot actually doing to be accurate.
- Go to the lang folder and duplicate the Arduino_en.js Blockly_en.js and msg_en.js files from English
- 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
- 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.
- Then open a pull request here in github or just attach the files in a new issue.
You will need to have installed the node.js tools in your computer. The version must be the 12.0
- Clone or download the source code.
git clone https://github.com/OttoDIY/blockly.git
- OPEN GIT BASH as Administrator and cd in folder
cd blockly
- Install required tools.
npm install -g build-tools npm install -g windows-build-tool (this command is not working ok. If the log is held then you must install python 2.7 before because the problem is with the python installation.) npm install -g node-gyp
- Install required node modules. Execute following on the source code directory
npm install
- Install Arduino CLI get arduino-cli.exe from https://github.com/arduino/arduino-cli/releases and place it under compilation/arduino
cd compilation/arduino curl -fsSL https://raw.githubusercontent.com/arduino/arduino-cli/master/install.sh | sh mv bin/arduino-cli ./ rm -rf bin
- Execute following to install required tools
cd compilation\arduino arduino-cli core update-index arduino-cli core install arduino:avr@1.8.3 arduino-cli core install arduino:samd@1.8.9 arduino-cli core install arduino:megaavr@1.8.6 arduino-cli core install esp8266:esp8266@2.7.4 arduino-cli core install esp32:esp32@1.0.4 arduino-cli core update-index
- Build (creates .exe and .zip) You can use electron-builder to pack your electron app in zip, nsis (Installer), portable (App without installation) formats.
cd ../../ # ( go back to the repository’s top directory) npm run compiler or build --win --ia32 export PATH=$PATH:node_modules/.bin npm install electron-builder@22.13.1 build --mac --x64 electron-builder --mac --x64
Contributing to this software is warmly welcomed. There are 5 ways you can contribute to this project:
- Test and report. Let us know if there is something missing in the issue section.
- Helps us solve current issues or other bugs .
- Suggest or request new blocks.
You can do this basically by forking, committing modifications and then open a pull request. 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 and open projects, it has been possible to make this software:
- Blockly
- Blockly@rduino
- Blocklino
- BlocklyDuino
- Blocklyduino for MRTduino
- Ardublockly
- Oscar Ferruz
- Bodo Minea
- Takuji Kawata
- Nicolas Nca78
- Iván R.
- Node.js
- Bootstrap
- Font Awesome
- JQuerry
- electron
- electron-builder
- Serialport
- arduino-builder
- arduino-cli
- winAVR
- Avrdude
- microbit
- micropython
- Python
- ampy
- pyflakes
- NSIS
- masayloBlockly
- Escornabot