This application is for users who love the latest and greatest trends in today's automotive industry. I have had a dream of converting my old 1988 Mazda's analog dashboard into a digital touch screen. This app is meant to mimic the conversion of an older cars analog dashboard to that of a newer digital dashboard. In order to do so realistically one would connect a raspberryPi and Arduino to the On Board Diagnostics (OBD) Port in their car via serial cable. Nearly every car made after 1996 has an OBD2 port which can send parameter IDs, making it possible to extract human-readable data from your car such as speed, RPM, throttle position, and much more.
Ideally, this custom app will be robust enough to take in any cars serial data and parse it into meaningful signals and data displayed on a new digital touch screen no matter how old the car. With that being said, in order to narrow down the complexity and get a feel for the application in full I have "mimicked" some of the signals a car might emit making this an integrated systems project using the Arduino Uno microcontroller. The hardware connected to the Arduino is reading serial data in real time and sending it to the current dashboard display. Want to give it a spin? Check out the wiring diagram found on the next page. Don't have the hardware? Don't worry I have created full-blown functionality through just the web-app itself. Feel free to check out the live site here.
- Clone the repo
git clone https://github.com/Sbutler8/converted-analog-to-digital-dash.git
- Create root .env file based on example .env-example file
touch .env
- Create frontend .env file based on example .env-frontend-example
cd react-app/ && touch .env
- Install backend dependencies
cd converted-analog-to-digital-dash/ && pipenv install --dev -r dev-requirements.txt && pipenv install -r requirements.txt
- Install frontend dependencies
cd ../react-app && npm install
- Start virtual environment in frontend
cd .. && pipenv shell
- Apply the migration to the database
flask db upgrade
- Seed the database
flask seed all
- Start backend
flask run
- Open new terminal and start frontend
cd ../react-app && npm start
- Open browser to http://localhost:3000/
- speed in [mph]
- warning gas light
- warning lights on light
- warning low oil light
- warning battery light
- warning check engine light