In the previous article we have seen the main features of this ultra low power regulator.
Now I want to show the main uses of this breakout board.

The simplest method to use it is to choose the output voltage that you need and with the VSEL table connect the VSEL pins to the correct voltage (to obtain a logic level “LOW” connect them to GND, to obtain a logic level “HIGH” connect it to 5V of arduino),

A typical circuit for a standalone application should be like this:
EN pin must be connected to 5V if you want the desired voltage on VOUT pin, VS1, VS2, VS3, VS4 all tied to 5V generate 3V3 to the Vout.
To obtain a different output voltage change VSEL configuration following the table below:

This is the simple way to use this board however with a microcontroller like arduino you can change the Vout every time you want without perform any hardware modification!

You can made a circuit like this for example:
I connected all possible pins to have access to all features of TPS62740 but some pins like PG,CTRL and LOAD should remain unconnected and you can control VOUT without any problems also with only other pins.

So, setting PIN 3 (EN) to a “HIGH” value activate the regulator, PINs 4,5,6 and 7 set the desired Vout voltage and changing these 4 PINs you can change VOUT every time you want so this can be very useful, for example, when you are developing a new circuit and you must choose the better voltage value for your application.

On firmware site, this is a code example for this circuit:

int voltageSequence = 0;
int voltageArray[] = {0,0,0,0};
bool isEnable = false;
bool isLoadEnable = false;
int arduino3v3ref = 3349;

void setup() {
// put your setup code here, to run once:
pinMode(2,OUTPUT);//CTRL
pinMode(3,OUTPUT);//EN
pinMode(4,OUTPUT);//VS1
pinMode(5,OUTPUT);//VS2
pinMode(6,OUTPUT);//VS3
pinMode(7,OUTPUT);//VS4

pinMode(8,INPUT);//PG

SerialUSB.begin(115200);
}

void enable()
{
digitalWrite(3,HIGH);
isEnable = true;
}

void disable()
{
digitalWrite(3,LOW);
isEnable = false;
}

void enableLoad()
{
digitalWrite(2,HIGH);
isLoadEnable = true;
}

void disableLoad()
{
digitalWrite(2,LOW);
isLoadEnable = false;
}

bool pgStatus()
{
if(digitalRead(8) == 1){
return true;
}
else{
return false;
}
}

int readVout()
{
int value = analogRead(0);
value = (value * arduino3v3ref)/1023;
return value;
}

int readLoad()
{
int value = analogRead(1);
value = (value * arduino3v3ref)/1023;
return value;
}

void loop() {
// put your main code here, to run repeatedly:

delay(5000);
enable();

while(1){
enable();

for(int i=0;i<16;i++){
voltageSequence = i;

voltageArray[3] = voltageSequence%2;
voltageSequence = voltageSequence>>1;//prepare number for next extract

voltageArray[2] = voltageSequence%2;
voltageSequence = voltageSequence>>1;

voltageArray[1] = voltageSequence%2;
voltageSequence = voltageSequence>>1;

voltageArray[0] = voltageSequence%2;
voltageSequence = voltageSequence>>1;

digitalWrite(4,voltageArray[3]);
digitalWrite(5,voltageArray[2]);
digitalWrite(6,voltageArray[1]);
digitalWrite(7,voltageArray[0]);

delay(100);

SerialUSB.print("power Good: ");
SerialUSB.println(pgStatus());

delay(100);

float setVoltage= 1800 + i*100;
SerialUSB.print("set voltage value to ");
SerialUSB.println(setVoltage);
SerialUSB.print("voltage value read: ");
int vOut = readVout();
SerialUSB.println(vOut);
SerialUSB.println();

disableLoad();
delay(100);
SerialUSB.println("disabled load");//print on serial the value of voltage measured
SerialUSB.print("load value: ");
int vLoad = readLoad();
SerialUSB.println(vLoad);

enableLoad();
delay(100);
SerialUSB.println("enable load");//print on serial the value of voltage measured
SerialUSB.print("load value: ");
vLoad = readLoad();
SerialUSB.println(vLoad);

SerialUSB.println();
SerialUSB.println();
SerialUSB.println();

delay(1000);
}//end for
}//end while
}//end loop()
<pre>

In some cases you may need to connect VOUT and LOAD to a resistence load to allow arduino’s ADC to read a proper voltage value on these PINs.

This code change VOUT every second starting from 1.8V to 3.3V with 100mV steps, it also print the value of the PG pin (1 for “power good” , 0 for a wrong input voltage value) and also disable and enable the LOAD pin through CTRL pin and show its voltage value read from the arduino’s ADCs

Here a piece of Serial output

With all these available pins and the always different codes that you can write, you can use this breakout boards in very different systems with very quickly development because you don’t need to perform hardware modifications to use it.

You can find the breakout board and other documentation here.

Keep following!