{"id":20493512,"url":"https://github.com/microflo/microflo-example-arduino","last_synced_at":"2025-10-30T19:44:16.877Z","repository":{"id":78819606,"uuid":"85124595","full_name":"microflo/microflo-example-arduino","owner":"microflo","description":"Quick start for MicroFlo on Arduino - clone and go!","archived":false,"fork":false,"pushed_at":"2017-12-31T22:00:49.000Z","size":12,"stargazers_count":15,"open_issues_count":3,"forks_count":2,"subscribers_count":0,"default_branch":"master","last_synced_at":"2025-03-27T08:11:14.366Z","etag":null,"topics":["arduino","flowhub","microcontroller","microflo"],"latest_commit_sha":null,"homepage":null,"language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/microflo.png","metadata":{"files":{"readme":"README.md","changelog":null,"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,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2017-03-15T21:55:03.000Z","updated_at":"2022-05-02T22:52:50.000Z","dependencies_parsed_at":null,"dependency_job_id":"264137f0-3b96-4e12-bd21-217d8ec97e86","html_url":"https://github.com/microflo/microflo-example-arduino","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/microflo%2Fmicroflo-example-arduino","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/microflo%2Fmicroflo-example-arduino/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/microflo%2Fmicroflo-example-arduino/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/microflo%2Fmicroflo-example-arduino/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/microflo","download_url":"https://codeload.github.com/microflo/microflo-example-arduino/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248750756,"owners_count":21155778,"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","flowhub","microcontroller","microflo"],"created_at":"2024-11-15T17:34:59.385Z","updated_at":"2025-10-30T19:44:16.756Z","avatar_url":"https://github.com/microflo.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# microflo-example-arduino\n\nStarting point for programming [Arduino](http://arduino.cc) devices with [MicroFlo](http://microflo.org).\n\n## Prerequisites\n\nYou need to have the following software already installed.\n\n* [Arduino IDE](https://www.arduino.cc/en/main/software) (version 1.6+)\n* [Node.js](https://nodejs.org/) (version 4.2+) installed.\n* A modern web-browser. For example Mozilla Firefox or Chrome\n\nMicroFlo should work on any modern desktop OS, including Windows, Mac OSX and Linux.\n\n### Supported boards\nAny board with Arduino IDE support should work.\nFor some boards you may need to install additional Arduino \"cores\" using the Arduino \"board manager\".\n\nTested boards:\n\n* Arduino Leonardo\n* NodeMCUv3 ESP8266 (change LED pin to 2)\n\n## Setting up\n\n### Download this repository\n\nYou can download this example either using git:\n\n    git clone https://github.com/microflo/microflo-example-arduino.git\n\nor [download as a ZIP](https://github.com/microflo/microflo-arduino/archive/master.zip) from Github.\n\n### Install dependencies\n\nMicroFlo is available via the [NPM](https://npmjs.org) package manager (included with Node.js).\n\nThe dependencies are already set up in the [package.json](./package.json). Install them using:\n\n    npm install\n\n### Generate the MicroFlo firmware\n\nThis will create an Arduino sketch which includes: the MicroFlo runtime, the components and the initial/default graph. \n\n    npm run generate\n\n### Upload to the board\n\nOpen the Arduino sketch in the Arduino IDE.\n\n    arduino build/blink/blink.ide\n\nThen upload it to the board like normal.\nFirst check the board details under `Tools`, then run `Sketch -\u003e Upload`.\n\nIf the upload was successful, the on-board LED should now be blinking around 3 times per second.\n\n## Programming with Flowhub\n\n### Start the runtime adapter\n\nTo let the Flowhub IDE talk to the microcontroller, need to run `microflo runtime`.\nThis is configured in package.json, so you can start it using:\n\n    npm start\n\nIf the port is not autodetected correctly, you can specify it manually using `npm start --port /dev/ttyUSB99`.\n\n### Open in Flowhub\n\nWhen the runtime has started, it will show a URL in the console like\n\n`http://app.flowhub.io#runtime/endpoint?protocol%3Dwebsocket%26address%3Dws%3A%2F%2Flocalhost%3A3569%26id%3D7ed165ff-3f5c-498b-b5ef-14fbbd739165`\n\nCopy/paste the URL shown into your browser, and load the page. You should now see the default \"Blink\" graph.\n\nTo make changes, hit the \"Edit as Project\" button. Try to click on the first node, and change how often the timer changes.\n\n## Using custom components\n\nYou can add/remove components to be included in the build in `components.json`.\nComponents that are specific to your project should be put in `components/` folder.\n\nSee [components/Custom.hpp](components/Custom.hpp) for an example.\n\n## Using a modified graph as the default program\n\nWant your edited program to start automatically when the microcontroller is reset or power-cycled.\n\n* In Flowhub, click the graph settings and then the download button\n* Save this file as `graphs/myprogram.json`\n* In `package.json` update all occurrences of `graphs/blink.fbp` with `graphs/myprogram.json`\n* Rebuild by doing `npm run generate` and upload it using Arduino IDE\n\n## Running automated test with fbp-spec\n\n    TODO: document\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmicroflo%2Fmicroflo-example-arduino","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmicroflo%2Fmicroflo-example-arduino","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmicroflo%2Fmicroflo-example-arduino/lists"}