This repository presents various projects developed to enhance my skills in dealing with 8-bit microcontrollers such as the ATmega32. It includes implementations of drivers for microcontroller peripherals and some simple applications.
- Stop Watch
- Temperature Controlled Fan
- Ultrasonic Distance Measurement
- Soon :)
- AVR-GCC
- Make
- avrdude (for flashing the microcontroller)
src/
: application code/ main functionCommon/
: types of target and common useful macrosHAL/
: Hardware Abstraction Layer implementationMCAL/
: Microcontroller Abstraction Layer implementationSimulator/
: schematic design of the project for validationDebug/
: .elf file to be flashed
- Install AVR-GCC:
- On Debian/Ubuntu:
sudo apt-get install gcc-avr avr-libc
- On macOS:
brew tap osx-cross/avr && brew install avr-gcc
- On Windows: Install AVR-GCC
- Download and install the AVR-GCC package from the link.
- Ensure the AVR-GCC binaries are added to your system PATH.
- On Debian/Ubuntu:
- Install Make:
- On Debian/Ubuntu:
sudo apt-get install make
- On macOS:
brew install make
- On Windows: Install Make for Windows:
- Download and install Make from the link.
- Ensure the Make binaries are added to your system PATH.
- On Debian/Ubuntu:
- Clone the repository:
git clone https://github.com/hussein-shamy/AVR-mini-projects.git cd AVR-mini-projects
- Build the project:
make
- Flash the firmware:
make flash