{"id":13781913,"url":"https://github.com/BlocklyDuino/BlocklyDuino","last_synced_at":"2025-05-11T15:32:08.087Z","repository":{"id":5031853,"uuid":"6190813","full_name":"BlocklyDuino/BlocklyDuino","owner":"BlocklyDuino","description":"BlocklyDuino is a web-based visual programming editor for arduino.","archived":false,"fork":false,"pushed_at":"2023-07-04T14:06:26.000Z","size":15964,"stargazers_count":612,"open_issues_count":32,"forks_count":346,"subscribers_count":85,"default_branch":"gh-pages","last_synced_at":"2024-11-17T17:42:41.674Z","etag":null,"topics":["arduino","blockly"],"latest_commit_sha":null,"homepage":null,"language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":"nickhammond/ansible-logrotate","license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/BlocklyDuino.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.txt","contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2012-10-12T13:48:09.000Z","updated_at":"2024-11-14T11:28:45.000Z","dependencies_parsed_at":"2024-01-15T21:59:36.307Z","dependency_job_id":null,"html_url":"https://github.com/BlocklyDuino/BlocklyDuino","commit_stats":{"total_commits":181,"total_committers":18,"mean_commits":"10.055555555555555","dds":0.3370165745856354,"last_synced_commit":"265b1e0e0d711e2e2771d4fa0a4a40de9c44ac5d"},"previous_names":[],"tags_count":4,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BlocklyDuino%2FBlocklyDuino","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BlocklyDuino%2FBlocklyDuino/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BlocklyDuino%2FBlocklyDuino/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BlocklyDuino%2FBlocklyDuino/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/BlocklyDuino","download_url":"https://codeload.github.com/BlocklyDuino/BlocklyDuino/tar.gz/refs/heads/gh-pages","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":253588626,"owners_count":21932289,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["arduino","blockly"],"created_at":"2024-08-03T18:01:30.745Z","updated_at":"2025-05-11T15:32:06.243Z","avatar_url":"https://github.com/BlocklyDuino.png","language":"JavaScript","funding_links":[],"categories":["Libraries"],"sub_categories":[],"readme":"### Welcome to BlocklyDuino\n\n\u003e Check [BlockDuino v2](https://github.com/BlocklyDuino/BlocklyDuino-v2)\n\nBlocklyDuino is a **web-based visual programming editor for [Arduino](http://www.arduino.cc/)**.\n\nBlocklyDuino is based on [Blockly](https://developers.google.com/blockly/), the web-based, graphical programming editor. Provide static type language blocks and code generators for Arduino programming.\n\nBlocklyDuino also support [Grove](http://www.seeedstudio.com/wiki/GROVE_System) blocks to easily get started with microcontroller-based experimentation and learning.\n\n### Features\n\n* Programming Arduino with visually drag and drop code blocks\n* Generate fully compatible Arduino source code\n* Interactive Arduino board with 10+ predefined Grove sensor blocks\n* Load different on-site examples with url parameters\n\n### Demo\n\nBlocklyDuino is a web tool. You can give it a try at\n[Web](http://blocklyduino.github.io/BlocklyDuino/blockly/apps/blocklyduino/) to see the working BlocklyDuino.\n\nYou can link directly to examples\n* [demo 1](http://blocklyduino.github.io/BlocklyDuino/blockly/apps/blocklyduino/index.html?url=examples/blink.xml) make default LED blink\n* [demo 2](http://blocklyduino.github.io/BlocklyDuino/blockly/apps/blocklyduino/index.html?url=examples/servo_potentio.xml) control servo with potentio rotator\n* [demo 3](http://blocklyduino.github.io/BlocklyDuino/blockly/apps/blocklyduino/index.html?url=examples/click_color.xml) click button to change LED colors\n\nOr watch the [video demos](http://www.youtube.com/watch?v=_swiyXcUvNY)\n\n### Run locally on your web browser\nIf you want to install it locally. Get code from github and open `blockly/apps/blocklyduino/index.html` in your browser. \n\nThe preffered way is to put the `BlocklyDuino/web` folder into a web server and open the url like `localhost/public/blockly/apps/blocklyduino/index.html` for use.\n\n### Integrated Arduino upload\nTo avoid the tedious step of manually pasting code to the Arduino IDE, you can run a mini webserver that uses\nthe [Arduino IDE](https://www.arduino.cc/en/Main/Software) to upload the code to a connected Arduino board on Windows, Mac OS X and Linux systems.\nInvoke this command from the BlocklyDuino root folder:\n```\npython arduino_web_server.py \n```\n\nYou can optionally specify the port with `--port=COM3` (or `--port=/dev/tty.foo` on Linux and Mac); \nif you don't, it will try and guess which port to use.\n\nWhen the webserver is running, you can access BlocklyDuino itself on [http://127.0.0.1:8080/](http://127.0.0.1:8080/).\n\n### Usage\n1. Open browser to BlocklyDuino, drag and drop blocks to make an Arduino program\n2. Select the `Arduino` tab and copy all of the source code into an existing or new project in the Arduino IDE\n3. Press the `Upload` button in the Arduino IDE to burn the code into a connected Arduino board\n\nOR (if running `arduino_web_server.py`):\n1. Open browser to BlocklyDuino, drag and drop blocks to make an Arduino program.\n2. Select the `Arduino` tab and press the `Upload` button. (press the `Reset` button to upload an empty program)\n\nIn GNU/Linux OS (i.e. Ubuntu 18.04x64) \n1. Open one terminal, go the BlocklyDuino path and run:   \npython arduino_web_server.py --port=/dev/ttyUSB0   \n2. Open a new terminal and run:   \nfirefox http://127.0.0.1:8080/ \n3. Once BlocklyDuino is open in the browser, drag and drop blocks to make an Arduino program or \nload an example by clicking on `LoadXML` (e.g. /blocky/apps/blockyduino/examples/blink.xml or other in the same path)\n4. Press `Upload` and wait until you see `Program uploaded ok` and press OK!\n5. Close terminals with `Ctrl+c` or `Ctrl+d`\n\n### ChangeLog\n\nCheck changelog [here](https://github.com/BlocklyDuino/BlocklyDuino/blob/master/CHANGELOG.txt)\n\n### Authors and Contributors\nFred Lin (@gasolin).\n\nThanks Neil Fraser, Q.Neutron from Blockly https://developers.google.com/blockly/\nThanks Dale Low (gumbypp) for contribute the python server to pipe BlocklyDuino source to arduino board.\nThanks Arduino and Seeeduino guys for Arduino and Grove blocks.\n\nThe project is also inspired by [arduiblock](https://github.com/taweili/ardublock) and [modkit](http://www.modk.it/)\n\n### License\n\nCopyright (C) 2012~2015 Fred Lin gasolin+blockly@gmail.com\n\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *   http://www.apache.org/licenses/LICENSE-2.0\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FBlocklyDuino%2FBlocklyDuino","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FBlocklyDuino%2FBlocklyDuino","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FBlocklyDuino%2FBlocklyDuino/lists"}