smartbuck4  2.1.0.0
Main Page

Smart Buck 4 Click

Smart Buck 4 Click is a compact add-on board that contains a high-frequency synchronous step-down DC-DC converter. This board features the LTS3562, a quad synchronous step-down DC-DC regulator from Analog Devices.

Click Product page


Click library

  • Author : Stefan Ilic
  • Date : May 2023.
  • Type : I2C type

Software Support

We provide a library for the Smart Buck 4 Click as well as a demo application (example), developed using MikroElektronika compilers. The demo can run on all the main MikroElektronika development boards.

Package can be downloaded/installed directly from NECTO Studio Package Manager(recommended way), downloaded from our LibStock™ or found on Mikroe github account.

Library Description

This library contains API for Smart Buck 4 Click driver.

Standard key functions :

Example key functions :

Example Description

This example demonstrates the use of the Smart Buck 4 Click board.

This driver provides functions for device configurations and for the setting of the output voltage.

The demo application is composed of two sections :

Application Init

Initialization of I2C module and log UART.

After initializing the driver, the default configuration is executed and the outputs are turned off.

void application_init ( void )
{
log_cfg_t log_cfg;
smartbuck4_cfg_t smartbuck4_cfg;
LOG_MAP_USB_UART( log_cfg );
log_init( &logger, &log_cfg );
log_info( &logger, " Application Init " );
// Click initialization.
smartbuck4_cfg_setup( &smartbuck4_cfg );
SMARTBUCK4_MAP_MIKROBUS( smartbuck4_cfg, MIKROBUS_1 );
if ( I2C_MASTER_ERROR == smartbuck4_init( &smartbuck4, &smartbuck4_cfg ) )
{
log_error( &logger, " Communication init." );
for ( ; ; );
}
if ( SMARTBUCK4_ERROR == smartbuck4_default_cfg ( &smartbuck4 ) )
{
log_error( &logger, " Default configuration." );
for ( ; ; );
}
log_info( &logger, " Application Task " );
}

Application Task

Changes the output voltage every 5 seconds, starting from 0.6 V to 3.3V/3.7V

depending on the input voltage.

void application_task ( void )
{
for ( uint8_t n_cnt = SMARTBUCK4_REGULATOR_B_600_MV;
{
err_t error_flag = smartbuck4_send_command( &smartbuck4, SMARTBUCK4_REG_R600B_PROGRAM |
if ( SMARTBUCK4_OK == error_flag )
{
log_printf( &logger, " Set output to %d mV. \r\n",
}
else
{
log_error( &logger, " Transmission error occurred." );
for ( ; ; );
}
Delay_ms ( 1000 );
Delay_ms ( 1000 );
Delay_ms ( 1000 );
Delay_ms ( 1000 );
Delay_ms ( 1000 );
}
}

The full application code, and ready to use projects can be installed directly from NECTO Studio Package Manager(recommended way), downloaded from our LibStock™ or found on Mikroe github account.

Other Mikroe Libraries used in the example:

  • MikroSDK.Board
  • MikroSDK.Log
  • Click.SmartBuck4

Additional notes and informations

Depending on the development board you are using, you may need USB UART Click, USB UART 2 Click or RS232 Click to connect to your PC, for development systems with no UART to USB interface available on the board. UART terminal is available in all MikroElektronika compilers.


SMARTBUCK4_MAP_MIKROBUS
#define SMARTBUCK4_MAP_MIKROBUS(cfg, mikrobus)
MikroBUS pin mapping.
Definition: smartbuck4.h:201
smartbuck4_cfg_t
Smart Buck 4 Click configuration object.
Definition: smartbuck4.h:233
SMARTBUCK4_REG_R400B_PROGRAM
#define SMARTBUCK4_REG_R400B_PROGRAM
Definition: smartbuck4.h:76
SMARTBUCK4_REGULATOR_B_700_MV
#define SMARTBUCK4_REGULATOR_B_700_MV
Definition: smartbuck4.h:136
SMARTBUCK4_REGULATOR_B_3700_MV
#define SMARTBUCK4_REGULATOR_B_3700_MV
Definition: smartbuck4.h:166
SMARTBUCK4_OK
@ SMARTBUCK4_OK
Definition: smartbuck4.h:251
smartbuck4_init
err_t smartbuck4_init(smartbuck4_t *ctx, smartbuck4_cfg_t *cfg)
Smart Buck 4 initialization function.
smartbuck4_default_cfg
err_t smartbuck4_default_cfg(smartbuck4_t *ctx)
Smart Buck 4 default configuration function.
smartbuck4_disable_regulators
err_t smartbuck4_disable_regulators(smartbuck4_t *ctx)
Smart Buck 4 disable regulators function.
application_task
void application_task(void)
Definition: main.c:71
SMARTBUCK4_MIN_VOLTAGE
#define SMARTBUCK4_MIN_VOLTAGE
Definition: main.c:32
smartbuck4_t
Smart Buck 4 Click context object.
Definition: smartbuck4.h:215
SMARTBUCK4_REG_LDO_MODE
#define SMARTBUCK4_REG_LDO_MODE
Definition: smartbuck4.h:78
SMARTBUCK4_REGULATOR_B_600_MV
#define SMARTBUCK4_REGULATOR_B_600_MV
Smart Buck 4 Type-B regulator base output voltage setting.
Definition: smartbuck4.h:135
SMARTBUCK4_STEP
#define SMARTBUCK4_STEP
Definition: main.c:33
SMARTBUCK4_ERROR
@ SMARTBUCK4_ERROR
Definition: smartbuck4.h:252
application_init
void application_init(void)
Definition: main.c:35
SMARTBUCK4_REG_R600B_PROGRAM
#define SMARTBUCK4_REG_R600B_PROGRAM
Definition: smartbuck4.h:75
smartbuck4_en_r40_reg
void smartbuck4_en_r40_reg(smartbuck4_t *ctx)
Smart Buck 4 enable 400A regulator function.
SMARTBUCK4_ENABLE_REGULATOR
#define SMARTBUCK4_ENABLE_REGULATOR
Smart Buck 4 regulator setting.
Definition: smartbuck4.h:105
smartbuck4_cfg_setup
void smartbuck4_cfg_setup(smartbuck4_cfg_t *cfg)
Smart Buck 4 configuration object setup function.
smartbuck4_send_command
err_t smartbuck4_send_command(smartbuck4_t *ctx, uint8_t addr, uint8_t data_in)
Smart Buck 4 send command function.