Stufin
Home Quick Cart Profile

Steval Bluemic 1 Evaluation Board

Buy Now on Stufin

Microcontroller

The board is based on a 32-bit ARM Cortex-M0 core microcontroller, which provides the computational power required for IoT applications.

Sensor Interfacing

The board features several interfaces for connecting various sensors, including ambient light, temperature, and humidity sensors.

Power Management

The board includes a power management system that enables low-power operation, making it suitable for battery-powered devices.

Key Features

Compact Size

The board measures 47mm x 37mm, making it ideal for IoT devices that require a small form factor.

Low Power Consumption

The board is designed to operate at low power consumption levels, making it suitable for battery-powered devices.

Bluetooth 5.0 ComplianceThe board is compliant with Bluetooth 5.0 specifications, providing a reliable and robust wireless connectivity.
On-Board AntennaThe board features an on-board antenna, eliminating the need for an external antenna.
UART, SPI, and I2C InterfacesThe board provides several interfaces, including UART, SPI, and I2C, for connecting peripherals and sensors.

Programmable via Arduino IDE

The board can be programmed using the Arduino IDE, making it accessible to developers familiar with the Arduino platform.

Compatibility

The board is compatible with a range of operating systems, including Windows, macOS, and Linux.

Applications

The Steval Bluemic 1 Evaluation Board is suitable for a range of IoT applications, including

Smart Home Devices

The board can be used to develop smart home devices, such as smart thermostats, lighting systems, and security systems.

Wearable Devices

The board's compact size and low power consumption make it ideal for wearable devices, such as fitness trackers and smartwatches.

Industrial Automation

The board can be used to develop industrial automation devices, such as sensors and actuators.

Healthcare Devices

The board can be used to develop healthcare devices, such as patient monitoring systems and medical wearables.

Conclusion

The Steval Bluemic 1 Evaluation Board is a versatile development platform that provides a comprehensive solution for IoT and BLE applications. Its compact size, low power consumption, and range of features make it an ideal choice for developers looking to create innovative IoT devices.

Pin Configuration

  • Steval Bluemic 1 Evaluation Board Pinout Description
  • The Steval Bluemic 1 Evaluation Board is a development platform for the BlueNRG-M1 system-on-chip (SoC), which is a Bluetooth Low Energy (BLE) single-mode device. The board features a 34-pin connectors layout, providing access to various peripherals and interfaces. Here is a detailed description of each pin, organized by function:
  • Power Supply (VCC) and Ground (GND)
  • VCC (Pin 1): Power supply input (3.3V typical)
  • GND (Pin 2, 15, 28, and 34): Ground pins
  • Digital I/O and Peripheral Interfaces
  • DIO0 (Pin 3): Digital I/O pin 0 (GPIO or I2C SCL)
  • DIO1 (Pin 4): Digital I/O pin 1 (GPIO or I2C SDA)
  • DIO2 (Pin 5): Digital I/O pin 2 (GPIO or UART_TX)
  • DIO3 (Pin 6): Digital I/O pin 3 (GPIO or UART_RX)
  • DIO4 (Pin 7): Digital I/O pin 4 (GPIO or SPI_MOSI)
  • DIO5 (Pin 8): Digital I/O pin 5 (GPIO or SPI_MISO)
  • DIO6 (Pin 9): Digital I/O pin 6 (GPIO or SPI_SCK)
  • DIO7 (Pin 10): Digital I/O pin 7 (GPIO or SPI_CS)
  • SWCLK (Pin 11): Debug interface clock pin
  • SWDIO (Pin 12): Debug interface data pin
  • RST (Pin 13): Reset pin (active low)
  • Analog-to-Digital Converter (ADC) and Power Management
  • ADC_IN0 (Pin 16): Analog-to-digital converter input 0
  • ADC_IN1 (Pin 17): Analog-to-digital converter input 1
  • ADC_IN2 (Pin 18): Analog-to-digital converter input 2
  • ADC_IN3 (Pin 19): Analog-to-digital converter input 3
  • VREF (Pin 20): Voltage reference output (1.2V typical)
  • VBAT (Pin 21): Battery voltage input
  • Bluetooth Low Energy (BLE) and Antenna
  • BLE_TX (Pin 22): BLE transmit pin
  • BLE_RX (Pin 23): BLE receive pin
  • BLE_ANT (Pin 24): BLE antenna connection
  • Miscellaneous
  • TEST (Pin 25): Test pin (no connection)
  • NTRST (Pin 26): JTAG interface reset pin (active low)
  • TDI (Pin 27): JTAG interface data input pin
  • TCK (Pin 29): JTAG interface clock pin
  • TMS (Pin 30): JTAG interface mode select pin
  • TDO (Pin 31): JTAG interface data output pin
  • NC (Pin 32 and 33): No connection ( reserved for future use)
  • Note: Some pins have multiple functions, and the specific function depends on the configuration and mode of operation.
  • Connection Guidelines:
  • When connecting the Steval Bluemic 1 Evaluation Board, ensure that you:
  • 1. Connect the power supply (VCC) to a 3.3V source, and the ground (GND) to a common ground plane.
  • 2. Use the digital I/O pins (DIO0-DIO7) according to your application's requirements, taking into account the alternative functions (I2C, UART, SPI) and configuration.
  • 3. Connect the ADC inputs (ADC_IN0-ADC_IN3) to the desired analog signals or sensors.
  • 4. Use the BLE_TX and BLE_RX pins for Bluetooth Low Energy communication.
  • 5. Connect the BLE_ANT pin to an external antenna or a suitable antenna design.
  • 6. Leave the test pin (TEST) and no connection pins (NC) unconnected.
  • 7. Use the JTAG interface pins (NTRST, TDI, TCK, TMS, and TDO) for debugging and programming purposes, if necessary.
  • Caution: Ensure that you follow proper connection and configuration guidelines to avoid damaging the board or its components. Consult the datasheet and user manual for the Steval Bluemic 1 Evaluation Board and the BlueNRG-M1 SoC for more information and specific usage guidelines.

Code Examples

Steval Bluemic 1 Evaluation Board Documentation
Overview
The Steval Bluemic 1 Evaluation Board is a compact, low-power, and cost-effective Bluetooth Low Energy (BLE) module based on the BlueNRG-1 system-on-chip (SoC). This module is designed for IoT applications, providing a complete solution for wireless connectivity, with a focus on smart sensors, wearables, and other battery-powered devices.
Hardware Features
BlueNRG-1 SoC with Arm Cortex-M0 processor
 256 KB flash memory and 24 KB RAM
 Bluetooth Low Energy (BLE) v4.2 compliant
 2.4 GHz radio frequency (RF) transceiver
 On-board PCB antenna
 UART, SPI, I2C, and GPIO interfaces
 Operating voltage: 1.8 V to 3.6 V
 Power consumption: < 4 mA in receive mode, < 5 mA in transmission mode
Software Development
The Steval Bluemic 1 Evaluation Board can be programmed using the STM32CubeMX software tool, which provides a graphical interface for configuring the module's peripherals and generating code. The examples below demonstrate how to use the Steval Bluemic 1 Evaluation Board in various contexts.
Example 1: BLE Peripheral Device
In this example, we will create a BLE peripheral device that advertises its presence and allows a central device to connect and read data from a sensor.
Hardware Requirements
Steval Bluemic 1 Evaluation Board
 Breadboard and jumper wires
 Sensor module (e.g., temperature, humidity, or accelerometer)
Software Requirements
STM32CubeMX software tool
 ARM Keil Vision IDE (optional)
Code Example (using STM32CubeMX)
```c
#include "bluenrg_mesh1.h"
#define SENSOR_PIN  GPIO_PIN_5
int main(void) {
    // Initialize the BLE module
    mesh_init();
// Set up the sensor pin as an input
    gpio_init(SENSOR_PIN, GPIO_MODE_INPUT);
// Create a BLE service and characteristic
    mesh_service_t service = mesh_service_create(UUIDprimaryService);
    mesh_char_t char_temp = mesh_char_create(UUIDtemperature, MESH_CHAR_props_notify);
// Advertise the BLE device
    mesh_advertise_start();
while (1) {
        // Read the sensor value
        int sensor_value = gpio_read(SENSOR_PIN);
// Update the BLE characteristic value
        mesh_char_update_value(char_temp, &sensor_value,sizeof(sensor_value));
// Wait for 1 second before updating again
        delay(1000);
    }
}
```
Example 2: BLE Central Device
In this example, we will create a BLE central device that scans for available BLE devices, connects to a peripheral device, and reads data from a sensor.
Hardware Requirements
Steval Bluemic 1 Evaluation Board
 Breadboard and jumper wires
Software Requirements
STM32CubeMX software tool
 ARM Keil Vision IDE (optional)
Code Example (using STM32CubeMX)
```c
#include "bluenrg_mesh1.h"
int main(void) {
    // Initialize the BLE module
    mesh_init();
// Set up the BLE central device
    mesh_central_t central = mesh_central_create();
// Scan for available BLE devices
    mesh_scan_start();
while (1) {
        // Wait for a BLE device to be discovered
        mesh_device_t device = mesh_scan_get_device();
if (device != NULL) {
            // Connect to the BLE device
            mesh_connect(device);
// Discover the BLE services and characteristics
            mesh_service_t service = mesh_service_discover(device, UUIDprimaryService);
            mesh_char_t char_temp = mesh_char_discover(service, UUIDtemperature);
// Read the BLE characteristic value
            int sensor_value;
            mesh_char_read_value(char_temp, &sensor_value, sizeof(sensor_value));
// Print the sensor value
            printf("Sensor value: %d
", sensor_value);
// Disconnect from the BLE device
            mesh_disconnect(device);
        }
    }
}
```
Example 3: Interfacing with a Microcontroller
In this example, we will demonstrate how to interface the Steval Bluemic 1 Evaluation Board with a microcontroller (e.g., STM32) using UART communication.
Hardware Requirements
Steval Bluemic 1 Evaluation Board
 Microcontroller board (e.g., STM32 Nucleo)
 Breadboard and jumper wires
Software Requirements
STM32CubeMX software tool
 ARM Keil Vision IDE (optional)
Code Example (using STM32CubeMX)
```c
#include "bluenrg_mesh1.h"
#include "stm32f4xx_hal.h"
#define UART_BAUDRATE  115200
int main(void) {
    // Initialize the UART interface
    UART_HandleTypeDef huart;
    huart.Instance = USART1;
    huart.Init.BaudRate = UART_BAUDRATE;
    huart.Init.WordLength = UART_WORDLENGTH_8B;
    huart.Init.StopBits = UART_STOPBITS_1;
    huart.Init.Parity = UART_PARITY_NONE;
    huart.Init.Mode = UART_MODE_TX_RX;
    HAL_UART_Init(&huart);
// Initialize the BLE module
    mesh_init();
while (1) {
        // Send a command to the BLE module using UART
        char cmd[] = "AT+BLE_CMD
";
        HAL_UART_Transmit(&huart, (uint8_t )cmd, sizeof(cmd), 100);
// Receive the response from the BLE module
        char resp[50];
        HAL_UART_Receive(&huart, (uint8_t )resp, 50, 100);
// Process the response
        printf("Response: %s
", resp);
    }
}
```
These examples demonstrate the basic functionality of the Steval Bluemic 1 Evaluation Board and provide a starting point for developing more complex IoT applications.