Discover how digital pressure sensors are revolutionizing industries with unparalleled accuracy and real-time data insights
A
A
Hardware Overview
How does it work?
Pressure 17 Click is based on the BM1390GLV-Z, ultra-compact piezoresistive pressure sensor from Rohm Semiconductor. This MEMS-based absolute pressure sensor includes a sensing element, analog-to-digital converter, signal processing part, and digital interface that sends the digital pressure data to the host controller. The MEMS-based sensing element measures pressure from 300hPa up to 1300hPa with an accuracy of ±1hPa over a wide operating temperature range at the industry’s lowest power. It also has a built-in
temperature compensation function that internally performs temperature compensation for MEMS inside the chip, so it’s easy to get pressure information, built-in FIFO, and operation in a temperature range of -40°C to 85°C, which ensures stable operation under extreme conditions. Pressure 17 Click communicates with MCU using the standard I2C 2-Wire interface to read data and configure settings, supporting Standard Mode operation with a clock frequency of 100kHz and Fast Mode up to 400kHz. It also
possesses an additional interrupt signal, routed on the INT pin of the mikroBUS™ socket labeled as INT, indicating when a specific interrupt event occurs. This Click board™ can be operated only with a 3.3V logic voltage level. The board must perform appropriate logic voltage level conversion before using MCUs with different logic levels. Also, it comes equipped with a library containing functions and an example code that can be used as a reference for further development.
Features overview
Development board
Clicker 4 for STM32F3 is a compact development board designed as a complete solution, you can use it to quickly build your own gadgets with unique functionalities. Featuring a STM32F302VCT6, four mikroBUS™ sockets for Click boards™ connectivity, power managment, and more, it represents a perfect solution for the rapid development of many different types of applications. At its core, there is a STM32F302VCT6 MCU, a powerful microcontroller by STMicroelectronics, based on the high-
performance Arm® Cortex®-M4 32-bit processor core operating at up to 168 MHz frequency. It provides sufficient processing power for the most demanding tasks, allowing Clicker 4 to adapt to any specific application requirements. Besides two 1x20 pin headers, four improved mikroBUS™ sockets represent the most distinctive connectivity feature, allowing access to a huge base of Click boards™, growing on a daily basis. Each section of Clicker 4 is clearly marked, offering an intuitive and clean interface. This makes working with the development
board much simpler and thus, faster. The usability of Clicker 4 doesn’t end with its ability to accelerate the prototyping and application development stages: it is designed as a complete solution which can be implemented directly into any project, with no additional hardware modifications required. Four mounting holes [4.2mm/0.165”] at all four corners allow simple installation by using mounting screws. For most applications, a nice stylish casing is all that is needed to turn the Clicker 4 development board into a fully functional, custom design.
Microcontroller Overview
MCU Card / MCU

Architecture
ARM Cortex-M4
MCU Memory (KB)
256
Silicon Vendor
STMicroelectronics
Pin count
100
RAM (Bytes)
40960
Used MCU Pins
mikroBUS™ mapper
Take a closer look
Click board™ Schematic

Step by step
Project assembly
Track your results in real time
Application Output
1. Application Output - In Debug mode, the 'Application Output' window enables real-time data monitoring, offering direct insight into execution results. Ensure proper data display by configuring the environment correctly using the provided tutorial.

2. UART Terminal - Use the UART Terminal to monitor data transmission via a USB to UART converter, allowing direct communication between the Click board™ and your development system. Configure the baud rate and other serial settings according to your project's requirements to ensure proper functionality. For step-by-step setup instructions, refer to the provided tutorial.

3. Plot Output - The Plot feature offers a powerful way to visualize real-time sensor data, enabling trend analysis, debugging, and comparison of multiple data points. To set it up correctly, follow the provided tutorial, which includes a step-by-step example of using the Plot feature to display Click board™ readings. To use the Plot feature in your code, use the function: plot(*insert_graph_name*, variable_name);. This is a general format, and it is up to the user to replace 'insert_graph_name' with the actual graph name and 'variable_name' with the parameter to be displayed.

Software Support
Library Description
This library contains API for Pressure 17 Click driver.
Key functions:
pressure17_get_int_pin
- This function returns the INT pin logic statepressure17_read_data
- This function checks if the data is ready and then reads the pressure and temperature raw data and converts them to millibar and Celsius respectfullypressure17_write_register
- This function writes a data byte to the selected register by using I2C serial interface
Open Source
Code example
The complete application code and a ready-to-use project are available through the NECTO Studio Package Manager for direct installation in the NECTO Studio. The application code can also be found on the MIKROE GitHub account.
/*!
* @file main.c
* @brief Pressure17 Click example
*
* # Description
* This example demonstrates the use of Pressure 17 Click board by reading and displaying
* the pressure and temperature data.
*
* The demo application is composed of two sections :
*
* ## Application Init
* Initializes the driver and performs the Click default configuration.
*
* ## Application Task
* Waits for the data ready interrupt and then reads the pressure [mbar] and temperature [C] data
* and displays the results on the USB UART approximately every 200ms.
*
* @author Stefan Filipovic
*
*/
#include "board.h"
#include "log.h"
#include "pressure17.h"
static pressure17_t pressure17;
static log_t logger;
void application_init ( void )
{
log_cfg_t log_cfg; /**< Logger config object. */
pressure17_cfg_t pressure17_cfg; /**< Click config object. */
/**
* Logger initialization.
* Default baud rate: 115200
* Default log level: LOG_LEVEL_DEBUG
* @note If USB_UART_RX and USB_UART_TX
* are defined as HAL_PIN_NC, you will
* need to define them manually for log to work.
* See @b LOG_MAP_USB_UART macro definition for detailed explanation.
*/
LOG_MAP_USB_UART( log_cfg );
log_init( &logger, &log_cfg );
log_info( &logger, " Application Init " );
// Click initialization.
pressure17_cfg_setup( &pressure17_cfg );
PRESSURE17_MAP_MIKROBUS( pressure17_cfg, MIKROBUS_1 );
if ( I2C_MASTER_ERROR == pressure17_init( &pressure17, &pressure17_cfg ) )
{
log_error( &logger, " Communication init." );
for ( ; ; );
}
if ( PRESSURE17_ERROR == pressure17_default_cfg ( &pressure17 ) )
{
log_error( &logger, " Default configuration." );
for ( ; ; );
}
log_info( &logger, " Application Task " );
}
void application_task ( void )
{
if ( !pressure17_get_int_pin ( &pressure17 ) )
{
float pressure, temperature;
if ( PRESSURE17_OK == pressure17_read_data ( &pressure17, &pressure, &temperature ) )
{
log_printf ( &logger, " Pressure: %.2f mbar\r\n Temperature: %.2f C\r\n\n", pressure, temperature );
}
}
}
int main ( void )
{
/* Do not remove this line or clock might not be set correctly. */
#ifdef PREINIT_SUPPORTED
preinit();
#endif
application_init( );
for ( ; ; )
{
application_task( );
}
return 0;
}
// ------------------------------------------------------------------------ END
Additional Support
Resources
Category:Pressure