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.
As first step is to install the TCP client. TCP clients for Python, Java, C# and Matlab can be found on our Github.
The TCP configuration and connection as well as the TCP commands are all gathered here. Otii TCP Server can be run either using 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, the Otii project, recording data and analyzing data. Here is an example of a most basic measurements that can be performed.
Integration with Jenkins
Otii Automation Toolbox enables integration with any continuous integration and development set-up.
Here is an example of low power measurements integration in CI set-up with Jenkins using Python.
Tips & tricks
▶︎ Working in C#? Here is an example of automating power measurements with C#.