5G HUB STM32F072C8T6 USB Mother Board User Manual

July 24, 2024
5G HUB

5G HUB STM32F072C8T6 USB Mother Board

Purpose of the Document
The purpose of this document is to explain the technical specifications and manual for using the USB dongle board powered by STM32F072C8T6.

Document History

Version Author Date Description
A 5G HUB 14.01.2024 Initial Document
B 5G HUB 21.04.2024 Minor update in format

Package contents

STM32 USB Dongle Package

  • STM32F072C8T6 USB dongle.

Download

General Description

Overview
This is a USB dongle powered by STM32 MCU. The USB is designed as a compact and complete development platform for STMicroelectronics ARM cortex-M0 core- based STM32F072C8T6 microcontroller with I2C, SPI, USART, CAN, 12-bit ADC, 12-bit DAC, GP comparators, internal 16KB SRAM and 128KB Flash, USB FS, Touch sensing, SWD debugging support. The USB is used as a standalone board or as a motherboard where other daughter boards can be stacked on it. Daughter boards can be GNSS, Cellular, CAN transceiver, and other modules. The USB leverages and utilizes all hardware features of STM32F072C8T6. The USB is designed for the evaluation of all the peripherals and the development of user-specific applications. Extension headers are used to easily connect a daughter board to it. The USB board is a rich hardware board that can be used for the 4G LTE and GNSS wireless technology and enables a variety of smart applications for devices. It enables a large number of applications such as wireless POS, smart metering, tracking, smart transportation, smart buildings, smart city, and smart homes, CAN scanners, and On-Board vehicle Diagnostics (OBD). The board is also compatible with Arduino and Arduino software (IDE). Arduino sketches and examples are provided with the kit and additional sketches can be developed and uploaded to the board.

Key Features

  • STM32F072C8T6 MCU
  • USB full-speed connector
  • 5V USB power supply
  • I2C, SPI, and UART interface
  • CAN2.0A/B compliant interface
  • SWD debug support
  • Motherboard and daughter board switch button
  • Extension connector for daughter board or wrapping board
  • Analogue and Digital GPIOs
  • Two user-programmable LEDs
  • Compact board size of 59 mm x 25mm
  • Arduino IDE Compatible
  • Works with Windows or Linux
  • Ready for smart applications and development (smart home, smart city, smart transportation, smart metering, smart farming, smart waste management, asset tracking, location, navigation, mapping, and timing applications). Applications such as Gas Detectors, Soil PH Testers, Optical Sensors, Machinery Alarm Systems, Irrigation Controllers, Elevators, Asset Tracking Electronics, Person/Pet Tracking, Water/Gas Metering, Smart Parking Systems, Fire Hydrants, Smoke Alarms, Trash Bins, Street Lighting

Overview Diagrams

Physical Characteristics
The width and length of the USB modem is 25 mm (width) by 59 mm (length). The board have two screw holes in each corner that allows the board to be attached to a surface or case.

Peripherals – Key Components

Hardware Specification

Technical Specification

Microcontroller (MCU)| STM32F072C8T6, 32-Bit ARM Cortex M0+
Clock Speed| 48 MHz
Flash Memory| 128 KB
SRAM| 16 KB
NB-IoT Module| Quectel BG95-M2 or BG95-M2
Dimension| 25 mm (width) by 60 mm (length)
Weight| 20 grams
Power Supply| USB (5V)
LED| Power LED, LED1, LED2
Interfacing Logic Voltage Level

(Operating Voltage)

| 3.3V
Voltage output| 5V, 3.3V
RESET buttons| Not Mounted
USB Switch| 1 switch to connect to MCU directly or BG95 directly
General-purpose digital I/O

Pins

| 32 (PA0-PA15, PB0-PB15)
USB| 1
I2C| 1
SPI| 1
UART| 1 (with ISO7816 interface, LIN, IrDA, auto baud rate detection and

wakeup feature)

CAN| 1
ADC pins| 1 (12-bit ADC)
DAC pin| 1 (12-bit DAC)
External interrupts| 14 (All general-purpose PINs)
PWM pin| 6
DC Current per I/O Pin| 10 mA
JTAG Debug| Cortex Debug Connector (Single Wire Debug)

PIN Description

PIN DIRECTION Description
USB Connector I The USB modem is powered from the USB port (3.8V-5V)
LED1 (USER) O LED which can be controlled from MCU (D25). When the pin is

HIGH value, the LED is on, when the pin is LOW, it is off

LED2 (USER)| O| LED which can be controlled from MCU (D26). When the pin is

HIGH value, the LED is on, when the pin is LOW, it is off

USB Switch| I| 1 switch to connect to MCU directly or BG95 directly


3.3V

| ****

O

| 3.3V generated by the on-board regulator. Maximum current drawn is 3A. The regulator also provides power to the MCU and

BG95

5V| O| 5V generated from the board. The board is supplied with power

from USB connector (typical 5V)

GND| | Ground
PA5_AIN5| IO| ****

Six analog inputs which can provide up to 12 bits of resolution (i.e. 4096 different values). By default, each input measures from ground to 3.3 volts.

PA6_AIN5| IO
PA7_AIN5| IO
PB0_AIN9| IO
PB1_AIN9| IO
SCL| IO
SDA| IO| I2C. The SCL (clock line). Can be used as GPIO
SCK| IO| I2C. The SDA (data line). Can be used as GPIO
MISO| IO| SPI Interface. Can be used as GPIO
MOSI| IO| SPI Interface. Can be used as GPIO
SS| IO| SPI Interface. Can be used as GPIO
CAN Tx/Rx| IO| CAN Interface. Can be used as GPIO
PA8/ PA9/ PA10| IO| GPIO
Cortex Debug

Connector

| IO| GPIO. Can be used as GPIO
BOOT0| I| Using Single Wire Debug to burn bootloader and debug the

board

| | Connected to BG95. Force the BG95 to enter an emergency download

mode

Precaution
The USB modem runs at 3.3V. The maximum voltage that the I/O pins can tolerate is 3.3V. Applying voltages higher than 3.3V to any I/O pin could damage the board

Using the Board with Arduino IDE

Installing the Software
To use the board with Arduino IDE and starts running Arduino projects and sketches, install the following software:

Setting Up the Board
Gently move the switch S1 left or right to make the USB port either connect to the Motherboard (STM32) or daughter board.

Setting Up STM32 Bootloader
Make sure to install STM32CubeProgammer. Do the following:

  1. Connect a shunt into PIN4 and PIN3 on J4
  2. Insert the USB dongle into USB port on a PC.
  3. Launch Windows device manager, and you shall see the STM32 bootloader.
  4. Launch the STM32CubeProgammer, select SUB, and click Connect. You shall see the STM32F072 connected.

Setting Up Arduino IDE

  1. Launch Arduino IDE and choose File->Preferences. In the Additional Boards Manager URLs, insert the following URL: https://github.com/stm32duino/BoardManagerFiles/raw/main/package_stmicroelectronics_index.json
  2. In Arduino IDE, choose Tools->Board->Boards Manager, select and install “STM32F072C8T6 Board”.
  3. Choose “STM32F072C8T6”
  4. In the Arduino IDE, Choose Sketch->Include Library->Add .Zip Library and select the file STM32_Arduino.zip
  5. You are ready now to use the Arduino IDE and write the first sketch. You can start compiling Arduino sketches and upload the sketch to the USB dongle.
  6. When uploading an Arduino sketch, make sure the following setting are selected:
  7. After uploading an Arduino sketch, unplug the shunt, and re-insert the USB dongle again into the USB port. Windows will recognize the USB dongle as a new COM port as show here:
  8. In Arduino IDE, choose Port->COM5.

Now, you can enable the Arduino IDE Serial Monitor and see the Arduino sketch running on the board.

  • NOTE: When uploading the Arduino sketch to the USB dongle, a shunt must be connected between PIN4 and PIN3 of J4 (i.e, the STM32 MCU must be in BOOT mode)
  • NOTE: To run the Arduino sketch, unplug the shunt and re-insert the USB dongle into a USB port again.
  • Copyright © 5GHUB.US

References

Read User Manual Online (PDF format)

Read User Manual Online (PDF format)  >>

Download This Manual (PDF format)

Download this manual  >>

Related Manuals