Simple CAN fed display

I have MaxxECU (engine controller), TurboLamik (transmission controller), and BMW E90 chassis, a generic 7inch “touchscreen Pi monitor” to use as a display, and a couple of Pis sitting around (zero & 3b).

I’d like to pull in a few data feeds from each controller to display on a supplementary dash (MaxxECU’s native MDash functionality is rather limited), and the controllers share the base CAN (already talk to each other successfully).

Is PiCan the best solution to tap into CAN wiring (no usb), and feed a Pi to drive the dash?
Can I wire a basic 8 position rotary switch into the Pi and have those positions (analog voltages) converted and sent over the network to the controllers to trigger / change settings?
How would I go about reliably powering up / shutting down the display solely by using the standard ignition key / system?

Regards

1 Like

We use Raspberry Pi4 with PiCAN3 hat. Works very well, is fast and entire setup can be powered from 12V source. This is a setup that I would start with. Same setup offers GPIO inputs directly to RealDash.

As for reliably powering up shutting down, I don’t think there is an easy and quick solution for that. We power the RPi constantly and use Python script to run system into power saving mode when car is not running. It does have some idle consumption, but has been ok at least for 1 week downtime. We use quite large battery though.

To make this perfect, I think you would need to add some hardware to it that sends signal to GPIO when ignition is turned off/on, but completely shutting it down introduces a new problem, long boot time.

Thank you for the quick response.

I suppose the bigger question should be how pissed off would it get with regular hard power cuts to turn off, rather than shutting down?
I can probably deal with boot times, or pick away at that.
I guess I’ll be looking into a coming up with a similar python script.

Thanks again

Just pulling the power will eventually corrupt the file system on any non-real time OS.