Hello World — build and run in minutes
The edgeembed-sdk is the open-source
(Apache-2.0) SDK for building on the EdgeEmbed runtime: the public C API headers, a ROS 2
bridge node, and a hello-world example. It follows an open-core model — the SDK is
open so you can build, test, and contribute freely; the deterministic engine itself
(libedgeembed.so) is a separate, closed, commercially-licensed component, available as
an evaluation build for non-production trials.
This page runs the SDK's hello-world example on an ordinary x86-64 Linux PC: clone the SDK, fetch the evaluation runtime, build the example, and fire one event through the deterministic engine. No target hardware, no NDA.
Repository: github.com/EdgeEmbedAI/edgeembed-sdk
Prerequisites
- A Linux x86-64 machine (tested on Ubuntu 22.04).
build-essentialandcmake≥ 3.20.curl(used to fetch the evaluation runtime) and the cJSON runtime librarylibcjson1.
sudo apt install -y build-essential cmake curl libcjson1
Step 1 — Clone the SDK
git clone https://github.com/EdgeEmbedAI/edgeembed-sdk.git
cd edgeembed-sdk
The repository contains the public headers (include/), the ROS 2 bridge
(ros/edgeembed_ros/), and the example (examples/hello_runtime/). The runtime engine is
not in the repo — you fetch it next.
Step 2 — Fetch the evaluation runtime
./tools/fetch-runtime.sh
This downloads the public Linux x86-64 evaluation build — libedgeembed.so plus a
sample bundle — from the latest release
into runtime/. The runtime's behavior is architecture-independent, so evaluating on a
laptop is a faithful trial. The runtime is evaluation-licensed (see
LICENSE-RUNTIME);
production use needs a commercial license — contact@edgeembed.com.
Step 3 — Build and run the example
cmake -S examples/hello_runtime -B build && cmake --build build
./build/hello_runtime
You should see:
EdgeEmbed 2.0.1 — event id=1, submitted=1, completed=0
hello EdgeEmbed: OK
That's the whole loop working end to end: hello_runtime initialises the runtime, loads
runtime/sample_bundle, submits one event (evt_alpha), drives the decision loop a few
steps, and reads back the diagnostics — one event submitted, processed by the deterministic
engine, with the runtime version reported. The example source
(examples/hello_runtime/hello_runtime.c)
is Apache-2.0; the engine it links is the evaluation runtime.
Step 4 — Point it at your own bundle
The example takes an optional bundle-directory argument, so you can run any bundle you build against the same headers:
./build/hello_runtime path/to/your_bundle
Behavior is declared in the config bundle (events, policy, action mapping), not in the engine code — see Bundle architecture for the shape of a bundle.
What's next: wire the runtime into your application through the C API — see the
SDK integration and HAL integration guides. To
feed ROS 2 topics into the runtime as events, use the ROS 2 bridge node under
ros/edgeembed_ros/ in the SDK.