top of page

Driver IO

Goal: Design and spec an extensive Driver IO (input/output) system while abiding by the 2020 Formula Hybrid rules and regulations. 

Background

This project was started as a personal design experiment separate from the Northeastern Electric Racing Club. The purpose of this project was to become more familiar with the car's CAN network, wiring, and Arduino coding. Cost and practicality were not main focuses of this project. Ideally, this project could be taken from and slimmed down to be used by the Northeastern Electric Racing Club in the future.

Applicable Rules

Although I was neglecting cost and practicality, the rules were something I had to account for. The rules that come into play according to Formula SAE in Driver IO are:

  • EV7.6 Cockpit Shutdown Button (BRB)

  • EV7.7 Vehicle Start button

  • EV7.9 Insulation Monitoring Device (IMD)

  • EV9.4 Insulation Monitoring Device (IMD) 

  • EV9.2 Ready-to-Drive Sound 

  • EV9.6 Accumulator Monitoring System (AMS)

​

Planning

I started this project by thinking about which components to include in the Driver IO. I split them into 3 categories: NECESSARY, WANT, and IF TIME. To fill this list, I looked in my own car as well as several Formula 1 steering wheels that are currently used. I tried to put myself in the shoes of a racing driver and thought about what information I would want to see/give. 

table.JPG

With the components selected, I designed a dashboard placing the things to touch closer to the hands and the visual gauges higher up.

driverIO.JPG

Wiring

This project was my first interaction with CAN, so I had to do quite a bit of background research before jumping into the wiring. I decided that the dashboard would be wired to an Arduino Mega, and the rear of the car would house an Arduino Uno that connects to various sensors. Both Arduinos would be connected to the CAN wires and communicate to the motor controller and BMS through it.

can-net.JPG

After choosing the dashboard components, I had to learn how to wire them together. With the help of some NER club members and many YouTube videos, I developed the following schematics. The water temperature, brake temperature, power draw, and current gauges are all 5V analog gauges that would be labeled appropriately. I could have gone for digital gauges but I really like the old-school look of analog gauges.

dash.JPG

Arduino Mega (Front)

The sensors connected to the Arduino Uno are all individual and hand-picked for this schematic. Again, YouTube was the biggest help here.

can back.JPG

Arduino Uno (Rear)

Future Improvements

The next step after wiring would be coding, which I have already started. I have begun configuring the sensors for the Arduino Uno. I have also started to familiarize myself with the CAN Arduino syntax as that is the next area that would need to be coded in. 

​

As I mentioned at the start, this project will hopefully be continued as a club effort. Coding an entire system is a lot of responsibility for one person and opens the door for silly mistakes.

code.JPG

Should NER pick up this project as the next iteration of Driver IO, our team would also work on modeling and printing housings for each of the Arduinos and sensors. Again, this is a lot of work for one person and it takes away from the main goal I had for this project. I do hope to see this project live on within the club, but I have learned everything from it that I had wanted and do not see enuogh value in continuing it alone.

bottom of page