I am working on an undergraduate project, looking to effectively create a car dashboard. As a result, my board would have to interface with:

1)A touchscreen, ideally touchscreen for control

2)CANBUS, receiving information from an ECU.

3)GPIO, i.e. input switches.

Is there any all in one system which can do this? I was considering the raspberry pi but I am unsure hugely here due to the problems with interfacing with so many things at once.



  • You can try Qt for Raspberry. It has got Canbus api, touch events. For gpio you can use gpio library for C/C++.
    – Huczu
    Jun 27, 2016 at 14:36
  • Hi, thanks for the library but I am also concerned about the number of GPIO ports I have, is there any way of extending this. Jun 27, 2016 at 15:54

2 Answers 2


The Pi should be perfectly capable of this. Your only problem is the CAN interface, as the Pi does not provide one by itself.

You can either look for an external controller, which would need to be interfaced as well, or implement the protocol with software, using 3 GPIOs.

This hardware solution for example, would be addressed with SPI, which is directly supported on the Pi.

The Pi's header offers well beyond 20 GPIOs fulfilling your needs. Take a look at this to get an idea of the CAN on Pi topic


Using a CanBUS transciever IC is the best choice for you, At this point, u have to consider this, CanBUS is a differential signalling and adapting a car with CanBUS is a not-easy work, this is totaly a challenge, Cars use standarts to operate correctly through CanBUS, First, you have to decide which car to apply this CanBUS node, Read this thesis presentation for becoming more clear to develop a board inside a car,


At CANBUS, You have to consider bandwitdh, thao times for catching bits in true way, buy or develop a chassis for pi to protect it from emi inside a car,

At the software, the highest priority has to be owned CanBUS receiving or pulling interrupts, because it can be fast more than you expected, but, it is all about the car that u wanna apply node in,


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.