Cognitive Vision icon Cognitive Vision — Microsoft Cognitive Vision integration for ARC: real-time object, face, emotion detection, OCR, confidence data and script-triggered robot actions. Try it →
 
Camera Source (ezb) Robot Skill

Camera Source (Ezb)

by Synthiam Inc.

Publishes an EZB camera as an ARCx video source for tracking, recording, and AI skills over the network, with processed or raw view.

Requires ARCx v7 (Updated 10/6/2026)
Tags: Camera
Compatible with: Compatible with Microsoft Windows 10 or 11 Windows Compatible with ARM Linux (Raspberry pi, etc) ARM Compatible with Linux Linux Compatible with MacOS MacOS

How to add the Camera Source (Ezb) robot skill

  1. Load the most recent release of ARCx on a compatible operating system (Get ARCx).
  2. Press the + Skills menu from the top menu bar in ARCx.
  3. Choose the Camera category tab.
  4. Press the Camera Source (Ezb) icon to add the robot skill to your project.

Don't have a robot yet?

Follow the Getting Started Guide to build a robot and use the Camera Source (Ezb) robot skill.


How to use the Camera Source (Ezb) robot skill

Makes the camera on an EZB - any board whose firmware streams video, such as the EZ-Robot EZ-B v4 camera - a video source in ARCx.

Every camera skill in ARCx works the same way: it publishes a named video source that other skills subscribe to. Face Tracking, Object Training And Tracking, Video Recorder and Autonomous AI all look for a video source by name - the name is this skill's window title.

Unlike the USB camera skill, this one connects over the network directly to the camera's own address and port. It does not need the EZB Connection skill to be connected, although in practice the same board is usually connected there too.

Requirements

  • An EZB with a camera, powered up and on the network.
  • Its address. ARCx's EZB scanner finds cameras on the local network and offers them in the address box.

Several instances are allowed, one per camera. Give each a distinct window title, because that title is how other skills refer to it.

Adding it to a project

  1. Add the skill (Camera category).
  2. In the Camera address box at the top of the window, pick the camera the scanner found, or type the address yourself.
  3. Press Start.
  4. Rename the skill's window title to something meaningful ("Head Camera"), then point your tracking and recording skills at that name.

The address format

address or address:port. The port defaults to 24 when it is not given, so 192.168.1.1 and 192.168.1.1:24 are the same thing. Anything after a space is ignored, which is what lets you pick an entry from the scanner that reads 192.168.1.1:24 (EZ-B v4 Camera).

The window

Camera Source (ezb)  <a href='/Support/Skills/Skills-Overview' target='_top'>robot skill</a> window

  • Camera address - the address box. It is disabled while the video is running, so stop the feed to change it.
  • Start / Stop button. While running it shows the live frame rate, for example Stop (18 FPS). Intermediate states say Starting and Stopping.
  • Show Processed checkbox - switches the picture between the raw camera image and the processed image, which carries the markup drawn by detection skills.
  • The video fills the rest of the window.

Configuration

Camera Source (ezb) configuration settings

The address and the processed/original choice live in the window itself. The configuration dialog holds one setting:

Setting Meaning Default
Delay between frames (ms) Throttles how often a frame is pushed to the browser, to save bandwidth and CPU in the UI. It does not slow the camera down or affect detection - those still run at full rate. 0 disables the throttle. 100

The address (Address) and Show Processed (ShowProcessedVideo) are saved with the project too.

The Window tab sets the robot skill's window title, its size on the workspace and notes about what it does in this project.

Window configuration tab

Processed versus original

Two images exist for every frame:

  • the original, straight from the camera;
  • the processed image, which each detection skill draws on as the frame passes through.

The checkbox only changes what you see. Other skills choose for themselves which they want.

Troubleshooting

Symptom Cause
"No EZB address entered" The address box is empty.
It says Starting and never runs Wrong address or port, the camera is not powered, or it is on a different network. The address being attempted is written to the ARCx log.
The address box is greyed out The video is running. Press Stop.
The scanner offers nothing The camera is not on the same network segment, or its broadcast is blocked by the router or a firewall. Type the address by hand.
Frame rate is low An EZB camera streams over the network; wifi signal strength is usually the limit.
Another skill cannot find the source Skills look the source up by window title; if you renamed this skill, update them.

See also

  • Camera Source (usb) - a USB or built-in camera instead
  • Ezb Connection - connecting to the board itself
  • Face Tracking, Object Training And Tracking, Video Recorder - consumers of this source

Control Commands for the Camera Source (Ezb) robot skill

There are Control Commands available for this robot skill which allows the skill to be controlled programmatically from scripts or other robot skills. These commands enable you to automate actions, respond to sensor inputs, and integrate the robot skill with other systems or custom interfaces. If you're new to the concept of Control Commands, we have a comprehensive manual available here that explains how to use them, provides examples to get you started and make the most of this powerful feature.

Control Command Manual

This robot skill has 7 control commands, listed below. Send them from a JavaScript or Python script, from Blockly, or from another robot skill.

The first value is always the window title, which is the name in the title bar of the robot skill on your workspace. It starts out as Camera Source (ezb), which is what every example below uses. If you rename the robot skill, or add a second copy of it to the project, use the title as it appears on that window instead.

ControlCommand() can be shortened to CC(), and both spellings work in JavaScript and in Python. The examples are JavaScript; Python is the same call, except that true and false are written True and False.

GetFPS

The current frames per second of the video feed

Syntax

ControlCommand("Camera Source (ezb)", "GetFPS")

Returns: Integer [-2,147,483,648 to 2,147,483,647]

Example

var result = ControlCommand("Camera Source (ezb)", "GetFPS");

IsActive

Is the video feed started? Stays true while a lost connection is being retried

Syntax

ControlCommand("Camera Source (ezb)", "IsActive")

Returns: Boolean [true or false]

Example

var result = ControlCommand("Camera Source (ezb)", "IsActive");

IsProcessShown

Is the processed video feed the one being displayed?

Syntax

ControlCommand("Camera Source (ezb)", "IsProcessShown")

Returns: Boolean [true or false]

Example

var result = ControlCommand("Camera Source (ezb)", "IsProcessShown");

ShowOriginal

Show the original, unprocessed video feed

Syntax

ControlCommand("Camera Source (ezb)", "ShowOriginal")

Returns: Boolean [true or false]

Example

var result = ControlCommand("Camera Source (ezb)", "ShowOriginal");

ShowProcessed

Show the processed video feed

Syntax

ControlCommand("Camera Source (ezb)", "ShowProcessed")

Returns: Boolean [true or false]

Example

var result = ControlCommand("Camera Source (ezb)", "ShowProcessed");

Start

Start the video feed

Syntax

ControlCommand("Camera Source (ezb)", "Start")

Returns: Boolean [true or false]

Example

var result = ControlCommand("Camera Source (ezb)", "Start");

Stop

Stop the video feed

Syntax

ControlCommand("Camera Source (ezb)", "Stop")

Returns: Boolean [true or false]

Example

var result = ControlCommand("Camera Source (ezb)", "Stop");

This list is read out of the robot skill itself each time its package is uploaded, so it matches the published version (v7).


ARC Pro

Upgrade to ARC Pro

With ARC Pro, your robot is not just a machine; it's your creative partner in the journey of technological exploration.

#5  

This robot skill has been updated to v5.

What has changed

updated to use new threading features of ARCx v2026.10.04.01