
Car Dashboard System
Collaborators: Cianna Janicke (EE)
November 2021
Abstract
The goal of this project was to design and build an embedded system that employs most of the concepts discussed in our Embedded Systems Design class. This was an exercise in translating a set of customer requirements into the design of an embedded system and a working prototype to demonstrate the desired and additional features.
​
The system to be designed and built was an automotive-style dashboard. At the heart of this system is the TI MSP432 Launchpad microcontroller board. This board interfaces with a real time clock (RTC) and several sensors that comprise the dashboard system. Combined with some pushbuttons switches, analog sensors, two stepper motors, a rotary encoder, and a display we had to design and build a system to evaluate usability and feasibility of desired features as outlined below. See Project Requirements.
​
This project yielded satisfactory results. Although the hardware design lacked integration, this project was mainly software-based. The final result of this project was able to deliver on the outlined project requirements.
Project Requirements
Solution
The proposed design included a variety of hardware used throughout the semester including:
-
Real Time Clock (RTC)
-
Rotary Encoder
-
EEPROM
-
Stepper motors
-
LCD
-
Ultrasonic Sensor
-
Hall-Effect Sensor
-
Temperature Sensor
-
7-Segment Display
Taking advantage of this hardware. The software was used to implement a dashboard that utilized the stepper motors to simulate a speedometer (measures speed) and tachometer (measures revolutions-per-minute). As input, the hall-effect sensor was used to take an input from an external motor with a cross bar with a magnet attached. For every full rotation of the wheel, the hall effect sensor would be triggered by the magnet of the cross-bar and the microcontroller would calculate the time it took to sense a magnet and would calculate the simulated speed of the vehicle.
​
As feedback for the user, a series of signals were implemented using LEDs and useful information on the LCD. The LCD was used to implement a simple user interface that when idle would display the simulated speed of the vehicle. Also, depending on how many miles the system had sensed that has been traveled, the value in miles was displayed on the 7-segment display as an Odometer would.
​
Alternatively, the user input to the system was in the form of a rotary encoder, which is able to sense which direction the encoder is being rotated toward, and how many "clicks" in the detected direction. Each rotary encoder utilizes a variety of click resolution that signifies a full rotation. Our system used a 32 click rotary encoder.
​
Using the encoder gave the user the opportunity to select particular settings for the system that were preferred. In conjunction with this, when the user selected specific settings, they would be saved to the EEPROM to be recalled upon boot-up after loosing power. Additionally, the EEPROM kept a log of "trips" in which either the temperature in the cabin exceeded the maximum allowable temperature or when the vehicle would exceed the speed limit.

Behind the steering wheel, the speedometer and tachometer can be seen. The LCD with the user interface and 7-segment odometer are shown on the right of the dashboard.

Each screen to be designed within the user interface was laid out with their respective functionality prior to programming to prevent logic issues.


Behind the steering wheel, the speedometer and tachometer can be seen. The LCD with the user interface and 7-segment odometer are shown on the right of the dashboard.
Software
Challenges
The biggest challenged faced during this project was the proper implementation of software features. Given that some of the requirements surrounding the user interface were vague, this resulted in a lack of vision at times that set back the development of the system as a whole.
Outcomes
Despite the challenges, the system was finalized and presented with a successful outcome.
