What is Spotflow?

Introducing the observability platform for embedded devices

Spotflow is an observability platform designed specifically for embedded devices.

It provides a clear, unified view of your entire device fleet - including overall stability, deployed firmware versions, and the causes of crashes or issues occurring in the field. When you need to go deeper, Spotflow lets you inspect individual devices by collecting and visualizing logs, metrics, and crash dumps.

We offer first-class integration for Zephyr RTOS, ESP-IDF, and Nordic nRF Connect SDK. Other platforms can be integrated easily using our MQTT-based protocol.

Our goal is to provide an all-in-one observability solution for embedded devices. Visit our roadmap to see what we are working on next.

Components

Devices send telemetry to Spotflow MQTT broker. The telemetry is stored in a database and analysed so it can be later viewed in the web app.

Spotflow consists of two main components:

  • Device Module: A lightweight library that you can integrate into your Zephyr or Nordic nRF Connect SDK device firmware. It automatically collects metrics, logs and core dumps and sends them to Spotflow's telemetry backend.
  • Cloud Platform: System that receives, processes, and stores telemetry data from your devices. It provides a web interface for monitoring and analyzing your device fleet's behavior.
    • MQTT Broker: A message broker that receives telemetry data from your devices.
    • Event Storage: A storage system build around a highly optimized columnar data store.
    • Event Processors: A set of services that extract useful information from the telemetry data.
    • Web App: A web interface that allows you to view and analyze the events collected from your embedded devices.
Log detail.
Overview Dashboard in Spotflow web app showing device health metrics and firmware versions.

Why choose Spotflow?

We are building Spotflow with the goal of minimal friction for setting up while providing deep insights into your embedded devices. To name a few of the key features:

  • Minimal setup: Integrating your device with Spotflow requires just a few lines of code. Then our device module will automatically collect all the necessary telemetry.
  • Great visibility into device fleet: Our web interface provides a clear overview of your entire device fleet, including stability metrics, firmware versions, and more.
  • Works when internet connection is not available: Our device module buffers logs within volatile memory, ensuring that logs are collected even when the device is offline. Once the device is back online, it will automatically send the buffered logs to Spotflow.
  • Optimized transport format: We use a custom transport format based on CBOR. This format is designed to have minimal overhead, ensuring that logs are transmitted efficiently over the network.
  • Fine-tunable to work on resource-constrained devices: You can configure the sizes of the log buffers, allowing you to optimize memory usage based on your device's capabilities.
  • Rich querying capabilities: Our web interface provides powerful querying, allowing you to filter and search logs based on their contents and metadata like device id, timestamp, and more.
  • Quick insights into firmware crashes: Our AI agent automatically analyzes each crash report to provide you with a root cause analysis and suggestions for fixing the issue.

Supported platforms

Zephyr, nRF SDK and MQTT integration to Spotflow diagram.

Spotflow currently aims to provide best-in-class experience for Zephyr RTOS, Nordic nRF Connect SDK, and ESP-IDF. With these platforms, the integration is as simple as adding a few lines of code to your device's firmware. Then you can use the standard logging macros to log messages, which will be automatically collected and sent to Spotflow.

Other devices can be integrated using the MQTT protocol. This approach provides the biggest flexibility, allowing you to send logs from any device that supports MQTT.

Learn how to connect your device

See the quickstart guides below to learn how to connect your specific device to Spotflow.

How is this guide?