ArUco Quickstart (HVS - Raze)
This quickstart gets ArUco tag detection running on a single HVS - Raze camera stream.
What You Need
- An HVS - Raze running a HeliOS image
- Printed ArUco tags (this quickstart assumes
36h11)
Steps
-
Open the Web UI:
http://<device-ip>:5800/If mDNS is working on your network:
http://helios.local:5800/ -
Go to Devices and click Register stream.
-
In the register modal:
- Pick the camera device.
- Pick the backend (for on-device cameras this is typically
Libcamera). - Pick a mode (format + resolution + FPS).
- Click Register stream.
Notes for HVS - Raze:
- The built-in camera sensor is
OV9782. Start with theLibcamerabackend unless you have a specific reason not to. - For ArUco / mostly-mono work, prefer
NV12if it is available in the mode list. - If you select
NV12, also select the luma decodernv12-luma(it avoids extra decode/color work when you only need the luminance plane). NV12is cheap to handle (luma plane is directly usable for many CV steps).NV12avoids MJPEG decode work compared toMJPG.
-
Back on Devices, click the new stream card to open it.
-
Open the Controls tab and set noise reduction to
Fast(if available) to suppress sensor noise without heavy processing. -
Go to Pipelines and click New Pipeline.
-
Name the pipeline.
-
In Start from, choose Templates and pick:
ArUco Tags(template id:daedalus_aruco)
-
Click Create.
-
Go back to your stream (Devices > stream), open the Pipelines tab.
-
Click Add, check the pipeline you created, then close the assign dialog.
-
Drag the pipeline into the
1x1grid slot. -
Set Output to
frame.
At this point the stream preview should show the pipeline output (an annotated frame when using the ArUco templates).
Tuning (The 2 Settings That Usually Matter)
- Open the pipeline tuner (sliders icon next to the pipeline) and set Decode > Dictionary:
- For this quickstart:
36h11
- For this quickstart:
- If detections are unstable, reduce motion blur and improve lighting before touching thresholds.
Outputs You Can Expect From The ArUco Templates
The built-in ArUco templates expose multiple host output ports. Common ones:
frame: annotated frame (overlays + tag count)json: detections serialized as JSONdetections: structured detectionsmask: intermediate mask/debug view
If you need to pull a sample over HTTP (without the UI), the API supports per-stream output sampling:
http://<device-ip>:5800/v1/streams/<stream-id>/pipeline/outputs/<port>/sample
Other Ways To Attach And Tune
- Stream settings (backend/mode/codecs): open the stream, go to the Stream tab, then click Apply stream settings.
- Camera controls (exposure, gain, etc.): open the stream, go to Controls.
- Pipelines: attach/detach and pick which output is live in the stream preview from the Pipelines tab.
- Other stream sources: Register stream also supports
Netcam(remote MJPEG stream URLs from peers) andFile(replay from on-device media).