Visual, real-time, agent based programming for Arduino. Now available for Windows, Mac, and Linux.

Agent Based Programming

An agent is a little piece of a program that has one job. Agents connect to and turn on and off other agents. An Embrio program is made up of multiple agents running in parallel.

Real Time Connection

Work with a live connection to your Arduino, see how your program works as you build it!

Compiles To Arduino

When your program is done it can be compiled to run entirely on your Arduino! The profiler tool gives you accurate resource usage information while you work.

Learn more by going through the growing library of video tutorials, for example:


Fade LED - This tutorial shows you how to use an Output node and a repeating Timer node to make an LED fade on and off.


Color Fading RGB LEDs - This project shows how to randomly fade the colors of RGB LEDs, as well as control their speed and brightness with potentiometers. The project also demonstrates how to encapsulate groups of nodes as Functions which can be reused multiple times.


Autonomous Car - In this 3 part project we’ll see how to program an autonomous robot car using Embrio. The car has 3 behaviors. It wanders around, avoiding obstacles by turning away from near by walls and stopping before hitting a wall. Every so often it stops and...

Recent Activity

5/20/2018 - New Forum Post

Reusable Node Groups

EmbrioAdmin: There is only one copy of each agent in a program and all agents are always running. When you drag an agent onto another node screen you are making a link to the agent. A node group is a template

5/19/2018 - New Forum Post

Interface behaviour a bit odd

EmbrioAdmin: That is a weird one... I cannot reproduce it on my Linux VM. Looking at the code that raises the error you copied looks like it should just report and squash the error, I don't see how it would effec

5/11/2018 - New Forum Post

4-Pin Ultra Sonic doesnt working

alexamway: i not professional. maybe you can just make Video for Tutorial page ? [blush] how to right .... you show pls[confused]

3/16/2018 - New Tutorial

Bezier Curve Node

The bezier curve node lets you convert a linear input to a curved output. It is especially useful for working with physical devices that have a non linear response, or adding ease in and out throughout a project for a more natural look.

3/5/2018 - New Library Item

I2C 20x4 LCD

This node works with any standard I2C 20x4 LCD module.

2/24/2018 - New Library Item

Pololu Maestro Servo Controllers

This node lets you control a bunch of servos with the Pololu Maestro family of servo control boards using the maestro-arduino library. A servo control board is great because it moves all of the hardware and software resources needed to control servo motors off of the Arduino and only takes up 2 pins to control a large number of servos. The board creates the smooth PWM signals needed to run the servos. You can also use these boards to control anything that's controlled by a PWM signal like LEDs.

2/24/2018 - Embrio Software Update


New Features
Can create "static" variables in declaration section to be shared by all instances of a node definition.

2/22/2018 - Embrio Software Update


New Features
Right click on empty area of tree view, don't show right click
Don't print every auto save
Open "rename" box when adding a new folder and select the new folder in the tree

Bugs Fixed
Config only inputs on Arduino nodes were using wrong value at compile time

2/20/2018 - New Library Item

TM1637 4 Digit Display

This node lets you use any 4 digit display that uses the TM1637 LED Driver library.

2/15/2018 - Embrio Software Update


Bugs Fixed
Fixed string input passing in Arduino connected mode.

1/2/2018 - New Tutorial

Servo Control with UI

This tutorial shows how to control a Servo with an Arduino via a user interface running on a PC, connected by a serial cable. The project contains two controllers, one to run on the Arduino, and one to run on the PC with a UI made with HTML, CSS, and jQuery. The two controllers communicate with built in serial communication nodes.

1/2/2018 - New Tutorial

Form Editing Basics

Embro lets you create programs with a user interface to run on a computer. Pages are creating using HTML, CSS, and jQuery. This video tutorial gives an overview of the Embrio form editor.