Introduction: Getting Started with STM32 Microcontroller and development board

📚 Getting Started withe the Nucleo-G0B1RE and the STM32G0B1RE MCU

🎯 Why CMPE2250 moves to a more capable STM32 platform

  • CMPE1250 introduced students to embedded systems using the Nucleo‑G031K8, a compact, affordable STM32G0 board designed for basic prototyping and foundational microcontroller concepts.
  • For CMPE2250, we transition to the Nucleo‑G0B1RE, a significantly more capable board that opens the door to richer labs, more realistic engineering workflows, and advanced peripheral use cases.
  • The Nucleo‑G0B1RE features the STM32G0B1RE microcontroller, which offers:
    • More Flash (128KB vs 32KB) and RAM (32KB vs 8KB) for complex applications
    • Additional GPIO pins for expanded interfacing options
    • Advanced peripherals like multiple timers, ADC channels, and communication interfaces (I2C, SPI, UART)
    • Enhanced debugging capabilities with SWD and integrated ST-Link
  • This upgrade isn’t cosmetic—it meaningfully expands what students can build, measure, and understand.

Nucleo board

1️⃣ High‑Level Differences

1.1 Microcontroller Class & Resource

Feature Nucleo‑G031K8 Nucleo‑G0B1RE Difference Impact for CMPE2250
MCU STM32G031K8 (Cortex‑M0+) STM32G0B1RE (Cortex‑M0+)    
Flash 32KB 128KB 4x more flash memory Allows for more complex applications
RAM 8KB 32KB 4x more RAM Enables larger data structures and buffers
Package / Pin Count LQFP32 (32 pins) LQFP64 (64 pins) different package type More GPIO pins available
Core Features Basic peripherals and features of the G0 series Enhanced peripherals and features of the G0 series including additional timers, ADC channels, and communication interfaces (I2C, SPI, UART) with improved debugging capabilities with SWD and integrated ST-Link. More advanced features and capabilities compared to the G031K8. Enables more complex and realistic embedded applications

The G0B1RE gives students breathing room—no more fighting for bytes or pins

1.2 Peripheral Set & Connectivity

The G031K8 board provides a solid but minimal peripheral set for introductory work. The G0B1RE expands nearly every category:

  • More USARTs, SPIs, and I²Cs
  • Additional timers and advanced PWM capabilities
  • More ADC channels with better resolution and sampling options
  • Full Arduino R3 + ST morpho connectors (vs. Nano‑only on G031K8)

Impact: CMPE2250 can now include multi‑protocol labs, concurrent peripherals, and more realistic embedded design patterns.

1.3 Board Form Factor & Expansion

Feature G031K8 G0B1RE
Form factor Nucleo‑32 (32 pins) Nucleo‑64 (64 pins)
Expansion Arduino Nano headers Arduino R3 + Morpho
Debug Interface ST-Link/V2-1 ST‑LINK/V3‑A (faster, more features)

Note: We will continue to use j-link in this course.

2️⃣Tools and Platform

  • STMicroelectronics Nucleo-G0B1RE development board
  • STM32G0B1RE microcontroller
  • Segger Embedded Studio IDE for writing and testing your code
  • J-Link debugger (SWD)

3️⃣ Development Board Resources

Nucleo pinout

4️⃣ MCU Resources

5️⃣ Memory Map

Same as in the previous course, the memory map defines how different memory regions (Flash, RAM, peripherals) are organized and accessed by the CPU.

Memory Map