Microcontrollers
A hands-on course on programming ARM microcontrollers with STM32CubeIDE and circuit simulation in Proteus, using the STM32F103C6 as the target device. Through a series of labs, students build LED animations, timer-driven displays, debounced button interfaces and a cooperative scheduler.
Tools​
- STM32CubeIDE — peripheral configuration, code generation, compile & debug (HAL, C).
- Proteus — schematic capture and simulation; load the generated
.hexinto the STM32. - Target MCU: STM32F103C6 (ARM Cortex-M3).
Workflow​
- Create an STM32Cube project, configure pins/clock/peripherals, generate code.
- Write your application code inside the
USER CODEblocks so it survives regeneration. - Build and export the Intel
.hexfile (C/C++ Build → Settings → MCU Post build outputs). - In Proteus, set the MCU's Program File to the
.hexand run the simulation.
Labs​
| Lab | Topic |
|---|---|
| Lab 1 | LED Animations |
| Lab 2 | Timer Interrupt & LED Scanning |
| Lab 3 | Buttons / Switches |
| Lab 4 | Cooperative Scheduler |
Submission​
Demonstrate your work in the lab session and submit source code (and report) on BKeL.