Digital Calculator (2024)
Overview
This project involved the design and implementation of a digital calculator running on Kinetis FRDM-K20D50M microcontroller and a Nokia 6100 LCD display for the GUI. The calculator was designed to perform basic arithmetic operations, with a focus on user experience, efficient circuitry, and low power consumption. My primary role in this three-member project was to develop the menu system and the graphical user interface for the calculator.
The project used a 4x4 matrix keypad for user input, which also came with a joystick for menu navigation and command execution, and an external push button for additional functionalities such as backspacing and on/off control. The microcontroller is an ARM Cortex M4 processor and incorporates various peripherals, including the Nokia LCD display, a buzzer for audio feedback, and a SysTick timer for precise timing control.
I focused on creating a user-friendly interface that was intuitive and easy to navigate on the Nokia LCD. I used powerful features of the C language such as functions, macros and switch cases to navigate different parts of the menu structure. I also worked closely with the team member responsible for the keypad inputs for easier integration of the hardware and software components. Below is an example of a function that takes in Joystick inputs.
The final product was a functional digital calculator with a user-friendly interface, robust input handling, and efficient power management. The project provided me with valuable experience in embedded systems development, reading datasheets, GUI design, and teamwork. It also allowed me to apply my knowledge of embedded C programming.
For more details, you can view the full project on GitHub or download the project report:
Project information
- Category Mechatronic System Design
- Client Swinburne University of Technology
- Project date September 2023 - November 2023
- Project URL www.example.com
- Visit Website