Electronics / Software · Coursework

AVR Motor Bring-up

ATmega644P coursework connecting an analogue input to two motor PWM outputs.

My role
University coursework
Period
2026
Source
Public repository
Read the source ↗

The question

How does a physical input become a timed output at the register level?

C · ATmega644P · ADC · PWM · Atmel Studio
PROPOSECHECKAPPROVEEXECUTEEXPLICIT STATE / AUDITABLE DECISIONSStop when a condition changes.
Approval workflowConceptual illustration

My contribution

Coursework exploring ADC setup, dual-channel Timer1 PWM, and motor-direction GPIO at the register level.

01 / work

ADC and PWM configuration

The experiment configures an AVCC-referenced ADC, reads a potentiometer input, and maps the reading to an 8-bit PWM duty cycle. Timer1 drives two output channels while separate GPIO pins set motor direction.

02 / evidence

Implementation evidence

The public C source and Atmel Studio target configuration establish the intended microcontroller and input-to-output path. They do not independently verify the physical circuit's performance. A second source file currently repeats the motor logic despite its sensor-oriented filename.

03 / limitations

Project scope

  • This repository is a separate 2026 coursework exercise, not the source for the featured 2024 line-following robot.
  • The reviewed files do not establish a complete autonomous robot or independent sensor subsystem.

Source

Selected public files, with commit references and links to GitHub.

Public overview reviewed 8 September 2026. Repository commit: 2026-02-18.

AVR Motor Bring-up · Laith Masri EngTech TMIET