# 4. Software & System

SMHUB is powered by a **Linux-based operating system** with an integrated **Node.js runtime** and a suite of **smart home applications**. This software foundation provides both **enterprise-grade stability** and **DIY flexibility**.

---

## 4.1 Operating System

- **Base:** Lightweight Linux distribution optimized for embedded controllers.
- **Runtime:** Node.js preinstalled for native execution of Node.js applications.
- **Package Management:** Extendable via Linux packages and Python scripts.
- **Update System:**
    
    
    - Secure firmware updates.
    - Individual application updates independent of OS.

---

## 4.2 Preinstalled Applications

### Zigbee2MQTT (Z2M)

- **Preinstalled by default**.
- Works with onboard CC26xx or EFR32XX Zigbee radios.
- Publishes device data to MQTT.
- Compatible with Home Assistant, OpenHAB, Node-RED, etc.
- Local dashboard for Zigbee pairing and monitoring.

### Matterbridge

- **Preinstalled by default**.
- Bridges Zigbee/Thread devices into the Matter ecosystem.
- Compatible with Google Home, Apple Home, Amazon Alexa, SmartThings.

### Node-RED

- **Preinstalled by default**.
- Visual, flow-based automation editor.
- Includes libraries for MQTT, Z2M, and Matterbridge.
- Accessible via web browser.

### Mosquitto MQTT Broker

- **Preinstalled and running by default**.
- Provides the MQTT backbone for Zigbee2MQTT, Node-RED, and Matterbridge.
- Allows additional MQTT clients to integrate seamlessly with SMHUB.

---

## 4.3 System Services

- **Networking**
    
    
    - Ethernet (default).
    - Wi-Fi 2.4 GHz and 5 GHz (AP and Client modes).
    - Bluetooth 5.0 with BLE.
- **VPN Support**
    
    
    - WireGuard preinstalled.
    - Secure remote access tunnels.
- **USB Passthrough**
    
    
    - Full passthrough of USB dongles to the host stack.
    - USB protection logic for safe host/device switching.

---

## 4.4 Built-In Visual System

- **Ambilight System**
    
    
    - Runs continuously by default.
    - Uses 12 × WS2812B RGB LEDs for system visualization, notifications, or ambient effects.
    - User-configurable patterns and colors.
- **Service LEDs**
    
    
    - Indicate power, network status, and radio activity.

---

## 4.5 Features in Development

- **Buzzer Control**
    
    
    - System and user notifications.
- **Audio Output (3.5 mm jack)**
    
    
    - System alerts, notifications, and future media playback.
- **IR Transmitter &amp; Receiver**
    
    
    - IR learning and replay for remote-controlled devices.
- **Extended LED Controls**
    
    
    - Custom animations and media sync in Ambilight.

---

## 4.6 Developer Options

- Full **SSH access**.
- Node.js environment ready.
- Support for Python scripting and Linux daemons.
- Exposed GPIO, UART, I²C, and SPI for DIY hardware extensions.