news

ESP Insights: A Framework for Building Robust Software Faster

Shanghai, China
Jul 29, 2021

With our new device observability framework, you can spot and solve any firmware issues promptly.

In multiple discussions with our customers, we have noticed a pattern. As software development progresses and gets closer to the alpha and beta versions, developers’ understanding of  the internal state of the firmware tends to dwindle. What is initially visible to the developer, through console logs and the command-line interface (CLI), becomes hidden when the firmware is packaged into the final ID. The trial or beta runs indicate that there may be issues, but there is no quick way to recreate them in a dev/QA environment.

To tackle this problem, we created ESP Insights, a device observability framework that allows developers to remotely peek into their firmware and get detailed information about its execution. This way they can analyze it and pinpoint any issues on time. Our device observability platform should help organizations save valuable engineering resources, allowing them to speed up firmware development and fix issues early on.

How It Works

The Insights agent in the firmware leverages the Wi-Fi connectivity and allows devices to post information on firmware execution to the Insights cloud. The Insights cloud collects this information from all the deployed devices, and compiles them into meaningful representations. Firmware developers can view this information through a web-based dashboard called the Insights dashboard.

More specifically, with the preview release of ESP Insights, developers can:

  • Observe any critical logs or errors that the firmware has generated during its execution.
  • Monitor the register dump and the backtrace in case of firmware crashes, so that the root cause of the problem can be understood.
  • Look at a device’s timeline showing all events of interest.
  • Add custom events to the above-mentioned timeline.
  • Observe firmware metrics, such as the amount of free heap over a timeline.
  • View the current values of certain variables of interest.

Benefits of ESP Insights:

1. Launch Products Faster

      • Beta test-runs expose the product to a real-life uncontrolled environment: the development board is packaged into an industrial design and actually deployed in the user’s home. The idea of these runs is to deliver information to the engineering team about firmware stability and issues, as the latter might be observed within the user’s environment. ESP Insights allows developers sitting at their desks to view stack backtraces and register dumps for firmware running on devices in these runs.

      • The turnaround time for fixing issues is much shorter for developers that have detailed information on those issues. Most teams spend enormous amounts of time recreating issues, based on the insufficient user-visible symptoms reported to them. ESP Insights captures and reports details about errors or warnings as observed on the device firmware. Of particular interest are events generated just before a crash. ESP Insights preserves these events throughout a device reset, so that they are reported to the cloud once the device is functional again.

2. Fix Issues Before they Snowball

      • Monitoring Device Health with the help of key metrics, such as available free memory or the largest free block, allows developers to understand the kind of stress imposed on the device, and avoid this in upcoming firmware versions.

    • Detailed Crash Backtraces on the ESP Insights console allow developers to start working on any issues even before customers notice them.

Integration with ESP RainMaker

Currently, the preview release of ESP Insights works with ESP RainMaker. This way, we leverage the ESP RainMaker platform for device-authentication and device-cloud transport. However, we will soon follow up the preview release with another one for customers who wish to use the ESP Insights framework on its own.

Getting Started

Please refer to the Getting-Started section for all the details on how to set up ESP Insights on your ESP32.

We are truly excited about this journey with ESP Insights. Our release is a step towards what, we believe, will be a rich platform assisting developers to build more robust software faster in novel ways.

Share this article
Reuse this content