I'm currently working on something similar to this with an arduino as well.
The elm327 is pretty useful. I'm using this spark fun obd2 interface board which has everything built in for a bit more money than just an elm.
https://www.sparkfun.com/products/9555
As mentioned above the 4d systems stuff is pretty good and you can get them with they a built in processor with graphics libraries which takes the graphics load off the arduino. I'm using some of their screens for my project.
Sent from my D5833 using Tapatalk