Skip to content

trstephen/alarmclock

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

43 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

alarmclock

What is CENG 299?

CENG 299 is a second year project course at the University of Victoria. Students execute the full design cycle to create an alarm clock with mp3 audio playback capabilities. A STM32F407VG microcontroller is responsible for handling I/O, decoding the mp3 and generating the audio output. A custom-designed PCB filters and amplifies the audio output from the STM and contains the circuitry for driving the 7-segment display and cleaning up button input.

What's in the repo?

Schematics

Detail the four main components of the circuit design:

  • I/O
  • Audio amplification and filtering
  • External button connections
  • 7-Segment display controller

The files will open natively in KiCad.

Printable schematics, with some helpful notes, are here.

TODO: Include files for the PCB.

Code

A skeleton was provided that handles the USB On-The-Go communication and audio decoding. The bulk of the project code is in:

main.c
state_machine.c
buttons.c
clock_display.c

The included .coproj file will open the project in CoIDE but the project should work wherever the GCC-ARM compiler is used.

Known Issues

  • mp3 playback
    • Only works with 128kb/s encoding
    • Stops playback after ~2min and needs to be hard reset before playback can continue

About

ceng 299 project - an STM32F407 functions as an alarm clock. It plays .mp3s

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published