Maker.io main logo

MicroMod STM32WB5MMG Hookup Guide

2023-12-05 | By SparkFun Electronics

License: See Original Project

Courtesy of SparkFun

Guide by EL DUDERINO

Introduction

The MicroMod STM32WB5MMG Processor expands on SparkFun's MicroMod ST product line with ‎a powerful combination of computing and wireless capabilities all on one Processor. The ‎STM32WB5MMG from STMicroelectronics™ is an ultra-low power microcontroller that combines a ‎pair of Arm® Cortex® processors; a Cortex-M4 processor for primary computing and a Cortex-M0 to ‎run the 2.4 GHz radio. The radio is Bluetooth® Low Energy 5.3, Zigbee® 3.0, and OpenThread ‎certified.‎

SparkFun MicroMod STM32WB5MMG Processor

The STM32WB5MMG Processor boasts a host of interface and peripheral options including SPI, ‎multiple UARTs, I2C buses, as well as I2S. This guide covers the hardware present on this ‎MicroMod Processor, how to assemble it into a MicroMod circuit, and how to install and use the ‎board in the Arduino IDE.‎

Required Materials

You'll need a Carrier Board or Main Board to plug the Processor into. Below are a few options for ‎both types of boards:‎

Note: Users who wish to take full advantage of all of the STM32WB5MMG's interfaces (I2S, QSPI, ‎etc.) should use the ATP Carrier Board to access all the pins on this Processor though QSPI and ‎I2S are not supported in the Arduino IDE. We recommend using the STMCube IDE to use these ‎interfaces.‎

You'll also need a USB-C cable to connect the Carrier Board to your computer and if you want to ‎add some Qwiic breakouts to your MicroMod project you'll want at least one Qwiic cable to connect ‎it all together. Below are some options for both of those cables:‎

Suggested Reading

The SparkFun MicroMod ecosystem offers a unique way to allow users to customize their project to ‎their needs. Do you want to send your weather data via a wireless signal (e.g., Bluetooth or WiFi)? ‎There's a MicroMod Processor Board for that. Looking to instead maximize efficiency and ‎processing power? You guessed it, there's a MicroMod Processor Board for that. If you are not ‎familiar with the MicroMod ecosystem, take a look here:‎

If you aren't familiar with the MicroMod ecosystem, we recommend reading here for an overview.‎

micro_1

MicroMod Ecosystem

We also recommend reading through the following tutorials if you are not familiar with the concepts ‎covered in them:‎

  • Serial Communication: Asynchronous serial communication concepts: packets, signal levels, ‎baud rates, UARTs and more!‎
  • Installing Arduino IDE: A step-by-step guide to installing and testing the Arduino software on ‎Windows, Mac, and Linux.‎
  • Bluetooth Basics: An overview of the Bluetooth wireless technology.‎
  • Getting Started with MicroMod: Dive into the world of MicroMod - a compact interface to ‎connect a microcontroller to various peripherals via the M.2 Connector!‎

Hardware Overview

Let's take a closer look at the STM32WB5MMG and other hardware on this MicroMod Processor.‎

STM32WB5MMG Multiprotocol Wireless Module

The STM32WB5MMG module is an ultra-low power combination of two Arm-Cortex processors that ‎provides a powerful computing platform with Bluetooth Low Energy 5.3 and 802.15.4 wireless ‎capabilities. The module uses a Cortex-M4 CPU with FPU and ART for primary computing and a ‎Cortex-M0 for the radio and security. For a complete overview of the module, refer to ‎the STM32WB5MMG datasheet and application manual.

module_2

The STM32WB5MMG boasts a wide range of interface options, and this Processor routes the ‎following interfaces to the pinout on the M.2 connector:‎

  • ‎2x UART (Standard and Low Power)
  • ‎2x I2C
  • SPI
  • I2S[1]‎
  • ‎16-bit Advanced Four-Channel Timer

The module features multiple low-power modes including a shutdown mode that consumes only 13 ‎nA and draws 5.2 mA during radio transmission (Tx at 0 dBm). The module uses an integrated chip ‎antenna for the RF stack with Tx output power up to +6 dBm and Rx sensitivity of -96 dBm for BLE ‎and -100 dBm for 802.15.4 protocols.‎

W25Q128JVPIM Flash IC

This Processor includes a W25Q128JVPIM 128 Mbit (16 MB) Flash IC to provide extra storage ‎functionality. The Flash IC connects to the STM32WB5MMG's QSPI interface.‎

1. I2S control is not supported in the SparkFun Arduino boards package for this Processor. Users ‎who wish to use I2S with this Processor should use ST's STM32Cube IDE.‎

Status LED

The lone LED on this board is tied to the module's PA2 I/O pin to act as a status LED.

led_3

MicroMod Pinout

The table below outlines the pin map of this Processor Board as well as the general MicroMod ‎pinout and pin descriptions. Refer to this or the schematic for the complete overview of the pin map.‎

table_4

table_5

table_6

Board Dimensions

This Processor matches the MicroMod Processor standard sizing and measures 22mm x 22mm, ‎with 15mm to the top notch and 12mm to the E key. For more information regarding the processor ‎board physical standards, head on over to the Getting Started with MicroMod and Designing With ‎MicroMod tutorials.‎

dimensions_7

Hardware Assembly

If you have not already, make sure to check out the Getting Started with MicroMod: Hardware ‎Hookup for information on properly inserting your Processor into your Carrier Board.‎

getting_8

Getting Started with MicroMod

OCTOBER 21, 2020‎

Dive into the world of MicroMod - a compact interface to connect a microcontroller to various ‎peripherals via the M.2 Connector!‎

Start by inserting the MicroMod STM32WB Processor into your Main or Carrier Board at roughly a ‎‎45° angle similar to the image below:‎

insert_9

Next, secure the Processor in place using the set screw:‎

secure_10

Connecting Everything Up

With your Processor inserted and secured it's time to connect your carrier board to your computer ‎using the USB-C connector on the Carrier. Depending on which carrier you choose and which ‎drivers you already have installed, you may need to install drivers.‎

connect_11

Note: If you've never connected a CH340 device to your computer before, you may need to install ‎drivers for the USB-to-serial converter. Check out our section on "How to Install CH340 Drivers" for ‎help with the installation.

drivers_12

How to Install CH340 Drivers

How to install CH340 drivers (if you need them) on Windows, Mac OS X, and Linux.‎

Software Setup

Note: This guide assumes you are using the latest version of the Arduino IDE on your desktop. If ‎this is your first time using Arduino, we recommend reading through our tutorial on installing the ‎Arduino IDE.‎

Installing Arduino Board Definitions

The STM32WB5MMG Processor is included with the STM32duino STM32 Arduino core. Installing ‎this core requires adding a JSON file to the "Additional Boards Files" field in the Preferences menu. ‎Open this by navigating to "File > Preferences" and then either paste the JSON link below into the ‎field or click the button to the right of it to open a larger window like the screenshot below shows:‎

install_13

Copy Code
https://github.com/stm32duino/BoardManagerFiles/raw/main/package_stmicroelectronics_index.json

With the JSON file added, open the Boards Manager, search for "STM32duino" and install the ‎latest version. Once that finishes installing, check to make sure the MicroMod STM32WB5MMG ‎option appears in the "Boards" menu by navigating to Tools > Board: > STM32 MCU Based ‎Boards > SparkFun Boards>.‎

Note: The Arduino IDE lets users access most of the STM32WB's features but it does not support ‎I2S or QSPI. If you're looking to take advantage of those features, we recommend using ‎the STM32CubeIDE.‎

Arduino Example – Blink

Now that we have the board package installed, it's time to make sure everything was assembled ‎properly, and we can upload code to the Processor. We'll just do a simple functionality check with ‎the Blink example to make sure the Processor is working properly and can accept code uploads.‎

Example – Blink

Blink is one of the built-in examples sketches in Arduino. Open it by navigating to File > Examples > ‎Basics > Blink. You can also copy the code below into a blank sketch if you prefer:‎

Copy Code
/*
Blink

Turns an LED on for one second, then off for one second, repeatedly.

Most Arduinos have an on-board LED you can control. On the UNO, MEGA and ZERO
it is attached to digital pin 13, on MKR1000 on pin 6. LED_BUILTIN is set to
the correct LED pin independent of which board is used.
If you want to know what pin the on-board LED is connected to on your Arduino
model, check the Technical Specs of your board at:
https://www.arduino.cc/en/Main/Products

modified 8 May 2014
by Scott Fitzgerald
modified 2 Sep 2016
by Arturo Guadalupi
modified 8 Sep 2016
by Colby Newman

This example code is in the public domain.

https://www.arduino.cc/en/Tutorial/BuiltInExamples/Blink
*/

// the setup function runs once when you press reset or power the board
void setup() {
// initialize digital pin LED_BUILTIN as an output.
pinMode(LED_BUILTIN, OUTPUT);
}

// the loop function runs over and over again forever
void loop() {
digitalWrite(LED_BUILTIN, HIGH); // turn the LED on (HIGH is the voltage level)
delay(1000); // wait for a second
digitalWrite(LED_BUILTIN, LOW); // turn the LED off by making the voltage LOW
delay(1000); // wait for a second
}

Next, select your board (MicroMod STM32) and the correct Port and click the "Upload" button. ‎After uploading finishes, the blue STAT LED on the Processor should blink on and off every ‎second.‎

Resources and Going Further

That's all for this Hookup Guide. For more information about the MicroMod STM32WB5MMG ‎Processor or the MicroMod ecosystem, take a look at the following resources:‎

MicroMod STM32WB5MMG Processor Documentation

MicroMod Documentation:‎

制造商零件编号 DEV-21438
SPARKFUN MICROMOD STM32WB5MMG PR
SparkFun Electronics
¥162.39
Details
制造商零件编号 DEV-16885
MICROMOD ATP CARRIER BOARD
SparkFun Electronics
¥162.39
Details
制造商零件编号 DEV-20595
SPARKFUN MICROMOD MAIN BOARD - D
SparkFun Electronics
¥162.39
Details
制造商零件编号 DEV-20748
SPARKFUN MICROMOD MAIN BOARD - S
SparkFun Electronics
¥129.83
Details
制造商零件编号 DEV-17723
SPARKFUN MICROMOD QWIIC CARRIER
SparkFun Electronics
¥80.99
Details
制造商零件编号 KIT-15081
QWIIC CABLE KIT
SparkFun Electronics
¥72.85
Details
制造商零件编号 PRT-17259
FLEXIBLE QWIIC CABLE - 100MM
SparkFun Electronics
¥13.19
Details
制造商零件编号 CAB-15424
CBL USB2.0 A PLUG TO C PLG 6.56'
SparkFun Electronics
¥72.85
Details
制造商零件编号 CAB-14743
CABLE A PLUG TO C PLUG 3.28'
SparkFun Electronics
¥44.77
Details
Add all DigiKey Parts to Cart
TechForum

Have questions or comments? Continue the conversation on TechForum, DigiKey's online community and technical resource.

Visit TechForum