All Projects β†’ microflo β†’ microflo-example-arduino

microflo / microflo-example-arduino

Licence: other
Quick start for MicroFlo on Arduino - clone and go!

Programming Languages

javascript
184084 projects - #8 most used programming language
C++
36643 projects - #6 most used programming language

Projects that are alternatives of or similar to microflo-example-arduino

microS2
microS2 - An esp32-s2 based development board πŸš€
Stars: ✭ 18 (+20%)
Mutual labels:  microcontroller
libavrutil
Easy to use, lightweight and unified library for performing common microcontroller tasks
Stars: ✭ 21 (+40%)
Mutual labels:  microcontroller
tinyfont
Text library for TinyGo displays
Stars: ✭ 37 (+146.67%)
Mutual labels:  microcontroller
perf counter
A dedicated performance counter for Cortex-M systick. It shares the SysTick with users' original SysTick function without interfere it. This library will bring new functionalities, such as performance counter, delay_us and clock() service defined in time.h
Stars: ✭ 197 (+1213.33%)
Mutual labels:  microcontroller
EnvOpenPico
An open source RP2040 MCU Board Family
Stars: ✭ 87 (+480%)
Mutual labels:  microcontroller
mTower
mTower is Trusted Execution Environment specially designed to be used on MicroController Units (MCUs) supporting ARM TrustZone technology (e.g., Cortex-M23/33/35p). mTower operates well under restrictions typical for such environment – small RAM and ROM sizes, relatively low performance, absence of rich OSes providing variety of services availab…
Stars: ✭ 34 (+126.67%)
Mutual labels:  microcontroller
zmu
zmu - Emulator for Microcontroller Systems
Stars: ✭ 70 (+366.67%)
Mutual labels:  microcontroller
ersatz80
Z80+ARM=BUGS
Stars: ✭ 13 (-13.33%)
Mutual labels:  microcontroller
ch552tool
An open sourced python tool for flashing WCH CH55x series USB microcontroller with bootloader v2.30, v2.31 & v2.40.
Stars: ✭ 98 (+553.33%)
Mutual labels:  microcontroller
pigweed
pigweed.dev
Stars: ✭ 134 (+793.33%)
Mutual labels:  microcontroller
DemOS
Free, simple, extremely lightweight, stackless, cooperative, co-routine system (OS) for microcontrollers
Stars: ✭ 18 (+20%)
Mutual labels:  microcontroller
arm nn examples
How to run deep learning model on microcontroller with CMSIS-NN
Stars: ✭ 21 (+40%)
Mutual labels:  microcontroller
avr-ds18b20
AVR library for controlling DS18B20 temperature sensors
Stars: ✭ 52 (+246.67%)
Mutual labels:  microcontroller
m4vga-rs
VGA-style video output for STM32F4 processors, in Rust
Stars: ✭ 122 (+713.33%)
Mutual labels:  microcontroller
pikascript
Ultralightweight Python engine that can run with 4KB of RAM and 32KB of Flash (such as STM32G030C8 and STM32F103C8), and is very easy to deploy and expand.
Stars: ✭ 855 (+5600%)
Mutual labels:  microcontroller
picovoice
The end-to-end platform for building voice products at scale
Stars: ✭ 316 (+2006.67%)
Mutual labels:  microcontroller
arduino
required (and optional) source files for the Arduino development environment, specifically the hardware/arduino sub-directory, to support xmega processors
Stars: ✭ 18 (+20%)
Mutual labels:  microcontroller
ewok-kernel
A secure and high performances microkernel for building secure MCU-based IoTs
Stars: ✭ 69 (+360%)
Mutual labels:  microcontroller
ML-MCU
Code for IoT Journal paper title 'ML-MCU: A Framework to Train ML Classifiers on MCU-based IoT Edge Devices'
Stars: ✭ 28 (+86.67%)
Mutual labels:  microcontroller
IOIO-OTG
Development Board for Android
Stars: ✭ 23 (+53.33%)
Mutual labels:  microcontroller

microflo-example-arduino

Starting point for programming Arduino devices with MicroFlo.

Prerequisites

You need to have the following software already installed.

  • Arduino IDE (version 1.6+)
  • Node.js (version 4.2+) installed.
  • A modern web-browser. For example Mozilla Firefox or Chrome

MicroFlo should work on any modern desktop OS, including Windows, Mac OSX and Linux.

Supported boards

Any board with Arduino IDE support should work. For some boards you may need to install additional Arduino "cores" using the Arduino "board manager".

Tested boards:

  • Arduino Leonardo
  • NodeMCUv3 ESP8266 (change LED pin to 2)

Setting up

Download this repository

You can download this example either using git:

git clone https://github.com/microflo/microflo-example-arduino.git

or download as a ZIP from Github.

Install dependencies

MicroFlo is available via the NPM package manager (included with Node.js).

The dependencies are already set up in the package.json. Install them using:

npm install

Generate the MicroFlo firmware

This will create an Arduino sketch which includes: the MicroFlo runtime, the components and the initial/default graph.

npm run generate

Upload to the board

Open the Arduino sketch in the Arduino IDE.

arduino build/blink/blink.ide

Then upload it to the board like normal. First check the board details under Tools, then run Sketch -> Upload.

If the upload was successful, the on-board LED should now be blinking around 3 times per second.

Programming with Flowhub

Start the runtime adapter

To let the Flowhub IDE talk to the microcontroller, need to run microflo runtime. This is configured in package.json, so you can start it using:

npm start

If the port is not autodetected correctly, you can specify it manually using npm start --port /dev/ttyUSB99.

Open in Flowhub

When the runtime has started, it will show a URL in the console like

http://app.flowhub.io#runtime/endpoint?protocol%3Dwebsocket%26address%3Dws%3A%2F%2Flocalhost%3A3569%26id%3D7ed165ff-3f5c-498b-b5ef-14fbbd739165

Copy/paste the URL shown into your browser, and load the page. You should now see the default "Blink" graph.

To make changes, hit the "Edit as Project" button. Try to click on the first node, and change how often the timer changes.

Using custom components

You can add/remove components to be included in the build in components.json. Components that are specific to your project should be put in components/ folder.

See components/Custom.hpp for an example.

Using a modified graph as the default program

Want your edited program to start automatically when the microcontroller is reset or power-cycled.

  • In Flowhub, click the graph settings and then the download button
  • Save this file as graphs/myprogram.json
  • In package.json update all occurrences of graphs/blink.fbp with graphs/myprogram.json
  • Rebuild by doing npm run generate and upload it using Arduino IDE

Running automated test with fbp-spec

TODO: document
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].