mkulesh / stm32DigitalClock

A digital clock based on STM32F405 MCU

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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.

About

A digital clock based on STM32F405 MCU

License:GNU General Public License v3.0


Languages

Language:C 96.5%Language:HTML 2.3%Language:C++ 1.0%Language:Assembly 0.1%