Skip to content

WaleedKhamees/Arm-Chess-Timer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ARM Chess Timer

This is a simple chess timer for ARM devices. The timer is controlled by two buttons, one for each player. The timer is displayed on a 16x2 LCD display there are 3 buttons one for each player and one for reset

Drivers Implemented

  • GPIO (General Purpose Input/Output)
  • Timer 2 (UpCounting mode)
  • LCD : 16x2 Display used for displaying the time it's on 8-bit mode and data and pins are defined in the lcd.h file
  • External Interrupts : Used for the buttons and adjusted for the debouncing of the buttons

How to use

  1. Connect the LCD to the ARM device
  2. Connect the buttons to the ARM device
  3. Connect the ARM device to the computer
  4. Clone the repository
  5. make sure you have the arm-none-eabi-gcc, arm-none-eabi-gdb, arm-none-eabi-binutils, arm-none-eabi-newlib installed
  • On Debian Based System (Althrough I am not sure) : sudo apt-get install gcc-arm-none-eabi gdb-arm-none-eabi binutils-arm-none-eabi newlib-arm-none-eabi
  • On Arch Based System : sudo pacman -S arm-none-eabi-gcc arm-none-eabi-gdb arm-none-eabi-binutils arm-none-eabi-newlib
  • On Mac : brew install gcc-arm-embedded
  • On Windows : You are on your own!
  1. Open the project in vscode
  2. Install PlatformIO extension
  3. Specify the pins of the LCD in the lcd.h file
  4. Specify the pins of the buttons in the main.c file
  5. Upload the code to the ARM device using the PlatformIO extension

Photos of the project

image image

Video of the project

A Video of the project

Contributions

Walid Khamees
Walid Khamees

About

This is a simple chess timer for ARM devices.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages