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

A visual, real time programming envrionment for the Arduino!

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:


Hobby Servo - This tutorial shows how to use a Custom Arduino node to control a servo using Arduino's Servo library. The same technique can be used to use just about any Arduino library code in an Embrio project.


Rotary Encoder With Interrupts - This tutorial uses a pre-built node group to encapsulate a 5 pin rotary encoder. A custom Arduino node wires up 2 interrupt routines to count ticks. The amount of ticks per rotation can be set, and roll over can be turned on and off at run time. ...


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...