Skip to content

mkulesh/stm32DigitalClock

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

License

"A digital clock based on STM32F405 MCU"

This repository provides hardware layout and firmware for a radio-controlled digital clock based on STM32F405RG MCU and DCF77 receiver: in operation

Hardware design

This clock consist of two boards:

  • the first display board contains four 0.8 inch. single digit numerical displays, one 2x16 chars LCD-display, and four buttons that allow to adjust current time, three alarms and some settings: display board

  • the second board contains STM32F405 MCU with a lot of periphery: DC connector, voltage regulators, HSE and LSE crystals, JTAG programming connector, light sensor, temperature sensor, DCF77 receiver with ferrite core, SD card connector, DAC and audio amplifier for primary WAV-based alarm, outputs for audio speakers, one piezo buzzer for the secondary alarm, UART-USB bridge and USB connector (used for debugging purposes): mcu board

PCB are developed in Eagle CAD (see directory pcb): mcu board layout display board layout

Firmware

The firmware (see directory src) is written in C++ System Workbench for STM32. It is based on HAL library, FatFS and the second object-oriented abstraction layer called StmPlusPlus that implements high-level access for all used hardware components. StmPlusPlus also contains WAV-streamer (16 bit stereo, 44kHz) and DCF77 receiver with a special windowed filter used to improce signal quality.

There are some known problems in this project

  • DCF77 receiver heeds some time a pair of hours to capture the time stamp.
  • Wrong position of the DC and USB connector: access to the connector is blocked by audio speakers
  • Level of the input signal for the audio amplifier is too high.

License

This software is published under the GNU General Public License, Version 3

Copyright (C) 2016-2017 Mikhail Kulesh

This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program.

If not, see www.gnu.org/licenses.

Releases

No releases published

Packages

No packages published

Languages