Maker.io main logo

MicroMod STM32WB5MMG Hookup Guide

93

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:‎

Mfr varenr. 21438
SPARKFUN MICROMOD STM32WB5MMG PR
SparkFun Electronics
128,68 kr.
View More Details
Mfr varenr. 16885
MICROMOD ATP CARRIER BOARD
SparkFun Electronics
132,23 kr.
View More Details
Mfr varenr. 20595
SPARKFUN MICROMOD MAIN BOARD - D
SparkFun Electronics
148,03 kr.
View More Details
Mfr varenr. 20748
SPARKFUN MICROMOD MAIN BOARD - S
SparkFun Electronics
119,33 kr.
View More Details
Mfr varenr. 17723
SPARKFUN MICROMOD QWIIC CARRIER
SparkFun Electronics
74,18 kr.
View More Details
Mfr varenr. 15081
QWIIC CABLE KIT
SparkFun Electronics
83,53 kr.
View More Details
Mfr varenr. 17259
FLEXIBLE QWIIC CABLE - 100MM
SparkFun Electronics
13,42 kr.
View More Details
Mfr varenr. 15424
CBL USB2.0 A PLUG TO C PLG 6.56'
SparkFun Electronics
67,73 kr.
View More Details
Mfr varenr. 14743
CABLE A PLUG TO C PLUG 3.28'
SparkFun Electronics
52,83 kr.
View More Details
Add all DigiKey Parts to Cart
Have questions or comments? Continue the conversation on TechForum, DigiKey's online community and technical resource.