Built-In Test (BIT) SDK

Overview

The Built-In Test (BIT) SDK is a comprehensive testing solution for Linux embedded systems, similar in architecture to GStreamer's plugin-based framework. BIT provides automated hardware validation, continuous health monitoring, and manufacturing test capabilities.

Architecture

BIT follows a dynamic plugin architecture inspired by GStreamer:

  • Plugin-Based Tests: Each test is a shared library (.so file) loaded at runtime
  • Inspection Tool: bit-inspect works like gst-inspect to discover and examine available tests
  • Dynamic Discovery: Tests are automatically discovered from the plugin directory
  • Extensible: Add new tests by dropping plugins in the standard location

This design allows you to: - Deploy only the tests relevant to your hardware - Add custom tests without recompiling the framework - Inspect test capabilities and configuration before running - Update individual tests independently

Components

  • bit-manager: Main test orchestrator that loads test plugins, schedules execution, manages logging, and publishes results
  • bit-learn: Interactive configuration generator that detects your hardware and creates TOML config files with sensible defaults
  • bit-inspect: Test inspection tool that lists available tests and displays detailed information about each test's configuration and capabilities (similar to GStreamer's gst-inspect tool)
  • bit-monitor-cli: Command-line monitor that subscribes to test results over Zenoh and displays real-time pass/fail status
  • bit-monitor-gui: Qt6-based graphical monitor with color-coded status displays for PBIT, CBIT, and FBIT test results

Test Types

PBIT (Power-On Built-In Test)
Hardware validation tests run once at system startup to verify components are present and functional.

CBIT (Continuous Built-In Test)
Ongoing system health monitoring at configurable intervals to detect degradation over time.

FBIT (Factory Built-In Test)
Manufacturing and production validation tests for quality assurance.

Key Features

  • Zero-Configuration Start: bit-learn auto-detects hardware and generates configs
  • Hardware Discovery: Auto-detects CPUs, disks, network interfaces, USB/PCI devices, sensors
  • Systemd Integration: Runs as a native systemd service with journal logging
  • Real-Time Monitoring: Subscribe to test results via Zenoh messaging
  • Extensible: Write custom tests for your specific hardware needs

Quick Start

Install the Debian package:

# Install the package
sudo dpkg -i bit-manager_*.deb

# Generate configuration for your system
sudo bit-learn

# Enable and start the service
sudo systemctl enable --now bit_manager

View results:

# Check service status
sudo systemctl status bit_manager

# Follow logs in real-time
sudo journalctl -u bit_manager -f

Documentation

System Requirements

  • Linux kernel 4.4 or later
  • systemd (recommended for service integration)
  • Hardware permissions for certain tests (CAN, GPIO, serial ports require root or capabilities)

License

Copyright © 2025 Astute Systems PTY LTD. See LICENSE file for details.