Automation power measurements with Otii Product Suite
Automating low power measurements, along with battery testing and validation, in the development of embedded and IoT devices is essential for enhancing their energy efficiency, reliability, and operational lifespan.
Automated testing with Otii Product Suite can be set up with Otii Arc/Ace and Otii Automation Toolbox which gives the access to Otii TCP Server API and scripting possibilities (Python, Java, C#, Matlab). Using this API you can control Otii hardware and software from any application that includes support for standard TCP sockets.
In addition to MacOS, Windows and Ubuntu Otii Automation Toolbox also supports Raspberry Pi.
The set-up is highly customizable and scalable. The basic one includes a Otii Arc/Ace and device under test (DUT) for simplest case of low power measurements. Additional measurements like collection of the RX and digital inputs can be done on the expansion port.
In the case of firmware and software iterations on the DUT, where a debugger is used for flashing and debugging, an additional switching board can be included to avoid manual switching between the measurements and debugging.
The first step is to install the TCP client. TCP clients for Python, Java, C#, and MATLAB are available on our GitHub.
The TCP configuration and connection, as well as the TCP commands, are all gathered here. Otii TCP Server can be run using either the Otii desktop client or the Otii command-line interface.
Automated power measurements are highly customizable. The basic steps include configuring the Otii Arc/Ace, setting up the Otii project, recording data, and analyzing the data. Here is an example of the most basic measurements that can be performed.
Integration with Jenkins
Otii Automation Toolbox enables integration with any continuous integration and development setup.
Here is an example of low-power measurement integration in the CI setup using Jenkins and Python.
Tips & tricks
▶︎ Working in C#? Here is an example of automating power measurements with C#.