Table of Contents
Course Overview
This course is designed as a gentle introduction to the world of embedded systems—no prior experience required. Using the Nucleo-G031K8 board from STMicroelectronics, which features the popular Arm Cortex-M0+ processor, students will learn how computers can interact with the physical world through sensors, buttons, and LEDs. Step by step, we’ll explore how to write simple programs in C, configure hardware features, and build real-time applications. By the end of the course, students will have the confidence to tackle more advanced embedded projects and understand how these systems power everyday technologies like smart devices and robotics.
CMPE1250 – Course Schedule (Subject to Change)
| Week | Topics (Concepts, Skills, Issues) | Activities / Assessments / Notes |
|---|---|---|
| 1 (5) | Introduction to embedded systems and the STM32 | Sourcing the Nucleo-G031K8 board, install tools, review docs |
| 2 (5) | Project workflow, Segger Embedded Studio, C# to C transition | ICA #01 – Segger ES and C language |
| 3 (5) | Bitwise operations, RCC register, C language essentials | ICA #02 – Working with bits |
| 4 (5) | GPIO output, blinking LEDs, blocking delays | ICA #03 – Explanatory Debugging |
| 5 (5) | GPIO input, creating a GPIO library | ICA #04 – Bits in and bits out; Lab #1 – Logic Date Identification |
| 6 (5) | Basic USART | ICA #05 – Hello? |
| 7 (5) | Clock configuration, advanced USART | Lab #02 – Serial I/O |
| 8 (5) | Clock and PLL, creating clock library | ICA #06 – Full speed ahead |
| 9 (5) | Basic Timer operation – polling for overflow | ICA #07 – Utility functions for timing |
| 10 (3) | Timer – Output compare, creating timer library | ICA #08 – Programmatic delays and waveform generation |
| 11 (5) | Timer – PWM | ICA #09 – Timers and simple PWM |
| 12 (5) | Comparing 16-bit and 32-bit timers | — |
| 13 (5) | — | — |
| 14 (5) | — | — |
| 15 (5) | — | — |
| 16 (2) | — | — |
Assignments
- Assignment 1
- Assignment 2:
- Assignment 3:
- Assignment 4:
- Assignment 5:
Resources
YouTube Playlist:
Contact
For questions and bugs reporting:
- e-mail: Carlos Estay.
- MS Teams: Carlos Estay.