Driver Display: MS 12

DescriptionA vehicle dashboard/instrument panel
Target release
Epic
Document owner
StakeholdersTak Alguire, Taiping Li, Calder Kitagawa, Karl Ding

Note

The hardware component of the driver display is handled by a Raspberry Pi 3B+ which is mounted to and powered by the Center Console board directly. The pi currently uses a PCAN dongle for getting information from System CAN, but can be changed to use Ethernet and the Tritium CAN-Ethernet bridge with minimal effort. 

Goals

  • We want to design a vehicle dashboard that acts as an instrument panel to the driver

  • The dashboard design should provide the pertinent information at a glance

Assumptions

  • This will be displayed on a LCD display mounted on the vehicle, which will be visible to the driver.

Requirements

The driver display should show the following

#TitleNotes
1SpeedHow fast the car is moving
2State of carDrive/Park/Reverse
3Power Usage Percentage and Charge

A bar that scales based on how much of your peak power you're using

If you're using regen, and how much you're generating

4Fault InformationCommunicate errors to the user
5Turn Signals/HazardsIndicators for turn signals
6"Car is Ready to Drive"Some indicator that the car is ready to drive

Design

It is our belief that as an electric vehicle, we should showcase and design to accentuate the strengths that an electric vehicle has. This is not to say that we want to present a completely novel user-experience that throws away any preconceptions of how a vehicle should run—rather, we wish to build upon preconceived notions of a "normal" car, and adjust certain areas of the User Experience to better match with the user's expectations. For the majority of of our drivers, they have not driven in an electric vehicle, and the goal is to present an experience such that we can take "anyone off the street, put them in our car, and they can drive it." This means our interface should remain familiar to the driver, and retain design hinting or provide hints.

Given that this information is being rendered on an LCD display, rather than applying skeuomorphic design principles, we rather embrace the fact that this is an electric vehicle, and provide a cleaner interface that provides the necessary information at a glance—this means that we question whether we want to add a feature purely "because it is cool", and focus on a simple and elegant interface that displays the necessary information. The electronic display inspires a design of the future, with its capabilities of producing clean and colourful sharp displays.

A lot of our user interface design draws inspiration from Andrew Kim's Toyota Doko design project.

 Toyota Doko: Andrew Kim (of Minimally Minimal)

The driver display will share its backend with the telemetry server. Since none of us have experience working with Qt or other frontend frameworks, we will use JavaScript (TypeScript, to make things less painful) and subscribe to a websocket that the Raspberry Pi server exposes.