Battery emulator

Can we emulate a battery and program pulsed load in otii software and find out what’s the battery efficiency for the given load?

Hi and welcome to the forum.

With Battery Toolbox, you can connect a battery to the main terminal and load it with pulses to see the behavior, yes.
I am happy to help you setting this up, but I need to know more about your use case. Either describe more in this post or contact us at, please.

Best regards,

Thanks for the reply!

Instead of connecting the battery and characterizing it, I would like to know if Otii can be emulated as battery based on the input I give, like its parameters and load profile


You do not need to discharge a battery to create a battery profile, you can also create it with information from a datasheet. The battery profiles are just .json files and you can find some examples at our GitHub (GitHub - qoitech/otii-battery-profiles: Battery profiles for Otii). So if you can make your own battery profiles, then Otii Arc can emulate the battery based on data from this file.

Best regards,

Hello, thanks again for the quick response!!

So you mean that battery profile and its pulsed load can be written in a json file and added in the software so that otii emulates it and calculate the life time?


The battery characteristics can be manually written in the .json file, but this does not give you information when your Device Under Test (DUT) stops functioning due to that the battery dropped below your cut-off voltage. So you still need your DUT for this to work.

If you are interested in calculating theoretical battery lifetime, then you can use our free Otii Battery Life Estimator (information here → Qoitech Documentation) that both can take real measured data from your DUT or from theoretical values. This estimator do not use the battery profiles .json files but instead you type in the useable capacity, that you might be able to read from the battery datasheet.

Best regards,


Let me elaborate my test method.

I do not want to connect the DUT (module+battery), instead want to feed in the load profile onto the otii. This load profile is pulsed load current and the document here says we can feed in only constant parameters. Can you help me out here?


I am sorry, but I do not follow your use case.
Is this the correct assumption:

  1. You have information about battery characteristics, like a battery datasheet or similar
  2. you have information about the DUT characteristics, what you call pulsed load. I guess that means information about cycle time and consumption in active mode and sleep mode.

From 1 & 2 you would like to calculate battery lifetime.
Is this correctly understood?

Best regards,

Yes that’s absolutely correct…

I am waiting for the solution… ! could you please help me out here?


You can use Otii Batteri Life Estimator, just download the free Otii software (Download - Otii by QOITECH) and start the Battery Life Estimator.

From the battery datasheet, you probably can find an estimate that shows how many mAh that you can expect to get out from the battery in a use case that is similar to yours. This is the value that you should enter in Capacity.
Then from the information you have regarding the Device Under Test, you enter active and sleep current consumption and duration.
You also have the possibility to add information about battery self discharge, if this is mentioned in the battery datasheet.
If you would like to add a safety margin, then this is also possible.
Calculate will then calculate the estimated battery lifetime, based on the information you have added.

To get a more accurate battery life estimate, you need to have an Otii Arc with a Battery Toolbox, the DUT and the batteries.

Best regards,

Thank you so much for the solution.

I would also like to know if I can use pulsed load for example pulse of x mA for period of x ms, y mA for y ms and then sleep for z ms.

I tried your solution wherein I could enter only average current for specific time.


You are welcome!

Your pulsed load is handled in the same way.
In the field for active, you just enter the average for period x and y together and calculate yourself the average current consumption for those periods.
Average active current = ((x mA * x ms) + (y mA * y ms))/(x ms + y ms)
Active time = x ms + y ms
Then you enter period z as the sleep period.
This will give you the same result as if you had 3 periods where you enter duration and average current consumption.

This calculator do not take into consideration the battery internal resistance or DUT cut-off voltage, so this information must be covered in the battery capacity field. This capacity field should then be your battery available capacity for this specific use case.

To be more accurate, I suggest to use Otii Battery toolbox and measure on your real system DUT and battery.

Best regards,

Thank you, this is clear!!

So, with the Otii Battery toolbox do you suggest that we first profile the battery and then power the DUT using this and then it calculates the battery life?

If that’s the case, I don’t see an option to add custom battery. The options are limited as mentioned below


Yes, this is what I suggest for the most accurate battery life estimate.
The steps are:

  1. Profile your DUT, to understand the power consumption profile
  2. Profile the intended battery according to the data you got in step 1
  3. Let Otii Arc emulate the profiled battery while you power your DUT, to find out how much battery capacity is possible to use before the DUT dies.

When you have profiled a battery in step 2, the battery profile will be added in the list of batteries.
The list of batteries you see now is just examples.

To do the above, you need a Battery Toolbox license.
There are descriptions how to do this here:
(Look at Feature Demo - Battery Toolbox)

You can also find information in the user manual:

Best regards,

1 Like

Thanks a lot. I now clearly understand how I can emulate the battery and power it to the DUT to calculate its lifetime.

Thanks once again. I have the battery toolbox license and will try this method and get back to you if there are queries.

Thanks for the demo link…!



I have tried this method and not able to emulate the battery. The details are below.

  • I profiled the battery with the given load and battery datasheet. Started profiling by connecting battery to otii.


Then I stopped it, and save the profile.

  • Now when DUT is connected to otii, I want to use the emulated battery as source. But I am not able to find it in the drop down lists.

Why is the profiled battery not getting saved?

I have followed the steps mentioned in the demo video. Can you please help me out here?

While starting the profiling, should we keep connected otii to the battery until it reaches its cut off inorder to have its complete profile?

When the profiling of the battery stops, you should click on the button “Save profile” next to “Start” button.
The battery profile will then be stored, as a .json file, in \Documents\otii\batteries\dischargeprofiles (for windows users and similar for Ubuntu/Mac) and the battery will also be available in Otii application → Project Settings → Supply tab as a supply (Battery Toolbox required)
While the battery profiling is ongoing, there is also a log file written in \Documents\otii\batteries\profiling.

You do not need to profile until you reach your exit conditions, but then you are not able to calculate your estimated battery life correctly, as you only have some data from the battery.

Best regards,

Thanks for the response!

I am not able to see the .json file in \Documents\otii\batteries\dischargeprofiles after I clicked ‘save profile’