Skip to content

michmos/microcontroller_learning

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

47 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

MCU Learning

This repository contains a set of small projects designed to build foundational microcontroller knowledge. The exercises target essential peripheral subsystems such as GPIO, ADC, timers, PWM, UART, SPI, and I²C. The work follows the EWSkills Microcontrollers course, which provides:

  • quick topic guides
  • quiz questions
  • hardware‑based tasks

This repo contains the code I wrote for the hardware-based tasks. All implementations are written for the Arduino Uno (ATmega328P).

Task examples

Since I recorded a few of the tasks on video, here some examples:

  1. PWM LED control — multiple LEDs driven via hardware PWM; duty cycle sourced from ADC‑sampled potentiometer input.
  2. PWM‑based fade‑rate control — PWM update interval modulated using ADC input.
  3. Software‑generated PWM — PWM implemented manually using timer interrupts; duty cycle derived from ADC input; waveform verified using a logic analyzer.
  4. Interrupt‑driven pattern switching — external interrupt triggers pattern changes; button input software debounced.
  5. I²C LED control — Button press communicated via I2C to toggle LED.
  6. SPI LED toggle — Button press communicated via SPI to toggle LED.
pwm_led_control.mp4
pwm_fade_rate_control.mp4
software_generated_pwm.mp4
interrupt_pattern_switching.mp4
i2c_led_control.mp4
spi_led_control.mp4

About

small projects to build foundational microcontroller knowledge

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages