A usual question you have when designing a device is the autonomy of your battery and the power consumption of your device. By the past I’ve tried different tools for this usage. Starting with USB sticks power consumption, only working for high consuming devices. They are low precision. Going to multimeter tools with USB connectivity precise but sampling at 3-5Hz only. During a certain time I’ve plan to make a solution on my own and finally I’ve found the OTII tool from QOITECH on the recommendation of friends from Sigfox community.
Here is my experience with that tool.
I’m writing this post having bought a OTII for myself, at the regular price from regular shop. I’m using this tool since a couple of week and I’m happy of this purchase. For making this post, I’ve ask to QOITECH a temporary license of the premium license to be able to test the advanced feature. They positively respond to this request and I thank them for this. This is the only relation I have with QOITECH, I’m totally free of my opinion for writing this post. (Said differently, I’m never pay to write any blog post)
What is Otii tool ?
This tool is measuring the electric current request by your circuit. It can be used as a power source and measure the electric current drive this way. It can be used as a electric current probe by connecting it in parallel of a (small) resistor on your board. OTII tool is able to measure electric current with a dynamic range of 500nA to 5A, with 5nA resolution, at a speed of 4000 samples per second. This is where this tool is really interesting: covering a large electric current range with a “high” frequency sampling.
You can get some graph like this one with your electric current consumption and zoom on it like to see the recurrent pic on this screen capture are 68,5ms and 26,8mA.
On top of this basic but efficient feature you can add logs from a serial port and see the electric current and log altogether. In the following picture you can see an example of time selection where you have the electric current consumption and the associated serial logs highlighted.
On the picture above you can see how is it hard to identify the highlighted part in the serial log windows. This is something to improve for QOITECH.
The tools comes with a software license you can add for an extra cost to add some features like simulate a battery and test your circuit on different battery conditions like fresh new, 50% used, 90% used… and see what the impact is. With the premium license you can run scripts. Where the OTII is really powerful is when you start generating your real battery profile based on your real circuit consumption. Once made your can make a simulation really closed from reality and test the real device conditions.
What about price
The OTII electric current measurement tools can be acquire for a really correct price around 500€. Regarding the quality and the tool capacity to measure at high frequency small electric current as high current I consider this price as a good one. It is not expensive for a company making IoT and accessible to makers.
I’m less convinced about the Premium option. It allows to access really interesting features like the battery profiling and provides a set of standard battery profiles. For a company, the price of 400€ / year is really accessible for a weekly use of billed use for customers. For maker this option makes the product expensive as you need to premium feature 2-5 times per year. It makes the battery profiling cost at 100€ and this is not possible.
I’m convinced the Qoitech company should create different offers: the yearly one for IoT companies and Weekly one at a price of 10-14€ or create a Maker price for non professional use under 75€… This could help makers to get full benefit of this great product. I know they can manged short time licenses as they gave me one for the test.
Battery profiling, killer feature for IoT
One of the very cool feature of the OTII tool is about battery profiling. This feature is only accessible with Premium option. It allows to create your battery profile based on the consumption profile you want. As an example, in IoT, you have long period at really low electric current followed by high electric current peak during signal transmission. Battery documentation will not give you interesting information as the usual graph are constant electric current consumption. Thanks to this tool you can test your battery with the exact device electric current profile or something looking like it but accelerated. You can also place your batteries in different condition (cold, warm…) to create different profiles.
Once your have the profile, you can use it, applied your your circuit to test your circuit at different battery state. 100%, 50% used… that way you can detect electrical, decoupling… bugs related to the battery voltage drop as an example.
Demo on a LiFePo4 battery
The battery profiling is based on script execution. Script template are available in the help menu. The script is easy to modify and for sure you can make your own script for complex profile. The basic script allow to create a low electric current period and a high electric current period as a number of loops to execute. You just need to run the script and wait to get the profile. The scripts automatically stops under a certain voltage or the given number of iterations.
In the example above you see a LiFePo4 discharge test ; at least the first iterations. In the picture above you can see the overall discharge curve
The voltage variation is related to the electric current pics vs sleep period. This graph is the battery voltage graph. We can take a look to the electric current summary and learn a lot about the battery capacity.
According to the manufacturer, the battery capacity is 900mAh, assuming @3.2V the nominal voltage. The discharge curve shows a different reality with 277mAh @ 3.2V.
Once the profile created, it is possible to use it as a source of energy for the board, delivered by the OTII tool:
Once selected, it is possible to simulate the battery state at any point of the discharge curve. It is also possible to follow the discharge curve.
This is useful to simulate how the circuit will work at its end of battery life and ensure you will have no unexpected behavior.
The system is extrapolating the voltage range from the measured data (here for 2A, not measured during the test)
When the power consumption profiles matter
By doing different test with different consumption profile you verify the manufacturer information and approximate your real conditions. You can detect differences as seen previously. You can also compare the impact of pics versus constant consumption like in the following example:
The red line is corresponding to the discharge curve for a constant electric current equivalent to the average electric current consumed by pic/sleep switches in the green curve. You can notice the impact of this kind of switches on the battery duration for this type of battery.
Understand alkaline battery end-of-life
On the next example, you can see the impact of the electric current on the voltage of a AA battery at end-of-life for a 50mA / 0,1mA profile:
We show a total capacity preserved with this consumption profile but we can see in the last 3rd of the battery life a large voltage drop on electric current need, even with 100mA. As a consequence, you can see what could happen to your powering circuit when starting a radio transmission…
As you can see, the OTII tool is really useful to understand how your battery is working regarding your electric current profile and its discharge state. This is really useful ! The only negative point in my point of view is the limited number of batteries already profiled in the library. Regarding the price of the premium license, I was expecting hundreds of battery profiles with different electric current profiles registered. There are less than ten. So you need to make yours.
Once the battery profiled, you can simulate multiple batteries in Series or Parallel. The Series simulation will be limited by the maximum voltage of 3,75V.
Other main features
Multiple electric current measurement
The OTII is acting as a power source and it measure electric current over this source. This way you can measure your overall circuit consumption. If you want to measure the electric current of a specific subsystem, you can use the ADC+/- pins and connect them over a resistor. This serial resistor have to be connected on the subsystem power line. This means to use all the tool capability you need during the design phase to think about it and place resistors on subsystem power line. Once done, you can watch in parallel these two power line and search for correlations ;).
Multiple voltage measurement
Like for the electric current, you can have multiple voltage sensor. The power source (this one can simulate a real battery and vary on electric current driven), the ADC source to see the impact on a subsystem or the powering circuit, and the SENSE source. ADC (16b) and SENSE (12b) sources are analog to digital converters. They are limited to 5.5V.
The OTII have a Serial port to capture the communications and link them with the power graph. You can also use the Serial ports connected to your computer as a Serial source. Honestly, this did not worked correctly every-time. I’ll investigate this a bit later. The feature is really something we need as if you want to trace a serial port connected to an USB connector on the board, you need it.
The serial port feature logs time with precision, this is also useful to measure procedure duration or clock drift. I’ve a lot of difficulties to find a correct serial console having this feature on Windows and Mac, so OTII tool is solving this problem for me.
The OTII tool also provides 2 input GPIOs and 2 output GPIOs. These pin will allow to measure a GPIO state, for tracing a specific function consumption, the use of GPIO instead serial print is a really better approach. You can do it easily.
The output GPIO, in my point of view, mainly make sense for scripting. You can easily automate operation by triggering the GPIO. For sure, even manually, I’ll find ways to use them.
Electric current profile comparison
The OTII software allows to display off the measure make on one project with different colors. This way you can easily identify a difference of electric current profile over different tests. As an example you can see the gain of optimizing you code or modifying your deep-sleep code from a reference you saved on your project.
As seen on the picture on the left here we see two battery discharge with different profiles and we can compare them. We can do the same on a circuit power consumption profile with 2..10 or more graphs
OTII tool has some limitations, the first one is the tool capacity to provide, at highest accuracy, voltage from 0,5V to 3,75V on USB power and 0.5V to 4.55V with external DC adapter. So you won’t be able to simulate multi-cell powering in most of the cases. For measuring the electric current consumption, you can bypass this limit using the ADC+/- input over a resistor. (don’t forget to add serial resistor on your power lines to be able to do this). The use of a resistor will reduce the electric current range. As an example 1ohm will let you measure +/- 81mA range where the power simulator range is 1uA to 5A.
The sampling rate at 4Khz is really good but you need to consider this frequency as 4000 cycle at 16Mhz. proximately 4000 instructions at a such frequency. As a consequence you will not really see what is happening on short interruptions.
Day to day usage
The OTII tool is stable, I’ve used it with long scripts running over 5 days without any problem. I recommend to un-check the graph display on such long scripts. This is accelerating the display when you want to control your script execution.
The software have a lot of updates, as much as I saw, they are minor updates. There are not a lot of new features coming in the different updates but minor evolutions and small fixes. It’s good to see a monthly updates, it a good sign of an active project where we can expect to have future evolutions. The service approach is also a warranty of an evolutiv product.