ARC provides an event-based programming model. Robot skills will execute scripts triggered by events. For example, scripts execute when the camera detects an object and begins tracking. Or, a script executes when a button is pressed on a joystick device. Or, a script can be executed when instructed by a Robot Skill function or ControlCommand(). Each robot skill will contain various event scripts that are respective to its behavior. ARC provides a few programming languages embedded in the application that are covered here.

Synthiam has developed the ARC software to scale between beginner and advanced users. Our mission is to make robot programming accessible and increase the likelihood of success.


(Very easy)

Designed for learning the basics of programming, RoboScratch introduces a programming interface exclusive to ARC. With RoboScratch, function blocks are added to the workspace to create a sketch. There are blocks such as wait for the camera to see an object, wait for speech, or execute a movement action. Link blocks to instruct robots to perform behaviors and complete tasks.



Blockly programming provides the user with graphical blocks that represent programming functions or subroutines. Blockly allows users to access advanced technologies creatively without needing to know the programming syntax by typing with a keyboard.



Syntax programming is available in three scripting languages JavaScript, EZ-Script, and Python. All robot skills support any of the scripting languages to interact with each other for custom behaviors. By using the powerful ControlCommand messaging system, have events from robot skills send triggers to other robot skills within the project.



Compile programs and libraries which interface with the ARC API. Make robot skills to distribute in the robot skill store, or simply use the existing framework to accelerate robot development. Access existing robot skills or the ARC API framework with C++, C, C#, VB, and more.

Block Programming (beginner)

As opposed to text-based programming, block-based programming refers to programming language and IDE that separates executable actions into modular portions called blocks. These blocks are generally represented with icons that can be clicked and dragged to reorder them.

Text-Based Programming (intermediate/advanced)

Robot Skill Programming

Custom robot skills can be created by users or companies wanting to add their service/peripheral to ARC. Robot skills are created using any manage CLR-supported languages, such as C# or C++. To learn how to create a custom robot skill, view the create robot skill documentation.