Beginner - CAN bus reader/display - please critique my approach

Hi all, I fell onto the Arduino path for my project after hitting a dead-end with windows software. I've been reading all I can but am still very new to it.

I'm looking to use Arduino to read information from a vehicle's CAN bus network, and display it on a small screen (connected to the Arduino, no PC will be connected while it's running).

On the hardware side I've selected an Arduino Mega rev3, a Sparkfun CAN bus shield, and an inexpensive 480x320 TFT touchscreen shield that claims to be compatible with the Mega. I'm hoping these will all work together, any advice there would be much appreciated.

I've got my CANbus spec sheet, which shows me addresses and values and how they map to each of the vehicle data points. I know I'll need to filter out the pieces I want to display and convert them into base10 so they make sense to humans. End use case would be to display certain vehicle parameters on a screen next to the dashboard, so the driver can monitor various aspects.

On the software side, I'm still researching but would love to be able to build my GUI display using html/CSS if that's a feasible option. Python Bottle looks like one possible avenue. However, I'm unclear whether this would be hugely inefficient. Failing that, I'd be very open to any other kind of GUI that lets me create any kind of UI I want. It'll be largely boxes, numbers, maybe charts and a few icons/images.

Obviously I've got a huge learning curve in front of me with this, so I'd really appreciate any guidance or critique before I get started. If I'm using the wrong hardware or thinking about this all wrong, I'd definitely like to find that out as early as possible.

There are simpler off-the-shelf solutions available but none that offer the level of GUI customization I'm after. I am hoping Arduino will fill that gap.

Thank you very much for any advice here.

How are you intended to combine a Python Bottle with Arduino code on the Mega board? Any html/css GUI needs a server side for work. Nether a arduino, nor TFT display hasn't it.

1 Like

Do it a bit at a time !

Get the canbus working ( see library examples and google Canbus pids etc ). Get it to print to serial port .
Then get your display working ,( library examples again ) then combine .
Then think about how you will power off the car .
I expect you really want to get info from the OBD 2 port , rather than breaking into canbus .

Lots out there in google ..

1 Like

Understood, thank you. Fair to say that would also be slower? I would appreciate any other recommendations on how to build a GUI. Doesn't have to be html/css as long as I can make it look however I want. I just have most familiarity with html/css so figured that'd be easiest.

Thank you!

Thanks - to see what it's printing to serial port, would I do that while it's hooked up to the arduino IDE and use serial monitor?

It's an aftermarket standalone ECU which has canbus channels, so don't have an OBD port unfortunately. I may do that on another vehicle for testing though, thanks for the tip!

Yes , use the serial
Monitor .

Have a look at what’s in the library for the screen you have to give an idea of its capabilities . You need to play with it

1 Like

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.