📚 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.

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

- Development board Schematics: Introduction to Embedded Systems
- Development Board User Manual: Basic Microcontroller Programming
4️⃣ MCU Resources
5️⃣ Cortex M0+ Core Resources
6️⃣ 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.
