Automotive MOST bus HAT for the Raspberry Pi

Public Chat
Similar projects worth following
This is the latest result from my long journey to be able to make integrated car infotainment units replaceable. It all started with some salvaged parts from various Jaguar Landrover cars and a whipped up breadboard.

This progressed and progressed and my "small cheap" project grew and grew (and cost more and more) up until this point; which is a functional MOST bus HAT for the Raspberry Pi.

A lot of people have been dabbling in Can Bus integration in cars for a while now, myself included. I was fed up with my aging touchscreen in my Jaguar XF, so I set about creating an electron app which tapped into the Can Bus and allowed the same functionality. This went pretty well, most of what I wanted I achieved, being able to control various functions, display a bunch of data. However the remaining controls (audio, speaker levels, etc etc) were controlled via MOST bus. There were just a handful of projects online that had touched this, and zero hardware available!

MOST bus can handle a load more data than Can Bus, however it is a pretty closed network.  There are a few Standards that are documented at the MOST cooperation website, however when it comes to hardware and general resources online there's pretty much nothing.

As said in the description for this project, the Canbus application had hit a brick wall. I'd implemented as much as I could, but then it came to functions such as heated seats which were just not do-able.  I'll do my best to explain why not as I think a lot of these projects hit this brickwall. Canbus is a fault tolerant system, it's designed to handle problems and carry on churning away. When it comes to your engine control, this is exactly what you want. One way it manages this is by the frequency it sends messages. Let's take the heated seats as an example.  Using the touchscreen you set the heated seats to on, you may think that just sends an "on" message and that's that, but it doesn't.  The module responsible for the heated seats is sending this message out constantly at a rate of around every 50ms. So you want to now control the heated seats from your own application, you sniff out the message, figure out what you need to send to turn it off, and you send this message. Nothing happens. This is because the actual module responsible for the seats is also sending on at a super fast repeating interval, so your message gets instantly over written.

What can you do? There's a few options, you could try your luck at sending your message at a faster rate than the module, sounds horrible? It is! Second option is to proxy the module, take it off the can network, put it into a device that has two channels, on this device relay every message from the cars network to the module, messages from the module you can then overwrite with your own data and then relay back to the car network. It's definitely a feasible option, but doesn't feel clean.

In my case the module responsible for the seats is the touchscreen, the touch screen has no Canbus connection, however it does have Most bus. On the Most bus ring there is a gateway which relays messages from Most to Can and vice versa. If I could control the messages on Most before they go to Can, then the gateway will just relay my messages.

This is where my obsession with Most bus came from. 3 years since i started my Canbus project, and I finally have something to share, this is how it happened.

I began researching, found a few projects that touched on it, sourced some datasheets for chips and then began experimenting. First version was this abomination

It some degree. I'd managed to read a register or two from the chip, but the fibre network was unstable and didn't have much use. So I ploughed my efforts into learning some PCB design, huge thanks to Phils Lab for this, without resources such as this I would have never made it further than this poor effort. This gave birth to version 0.1 of the PiMost.

Not a huge amount better than the first abomination. The chip and transceiver were stolen from cheap Ebay modules, but it worked. I could gain a solid fibre network, and read/write all the registers needed. 

In our household, we have a Jaguar XF and also a Freelander 2. They pretty much share the exact same infotainment system, just the Freelander is much more basic....

Read more »

  • Most Explorer Released

    Rhys Morgan08/14/2023 at 17:26 0 comments

    Most-Explorer has been released, it allows Most Bus Sniffing and sending/receiving messages. The Pi with PiMost HAT acts as the server, then any computer on the same network can run the Most Explorer app. First in a series of short videos is out, this shows how to send and receive messages.

View project log

Enjoy this project?



Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates