Pi Most Introduction

That was a CD player, so 44.1 looks more reasonable



Cool, thanks! The 44.1 vs 48khz is for the fibre frequency. Everything on the bus must match, for jlr it is 48khz, hard to tell which yours is. I will want to test a 44.1khz system so will keep an eye out for components!

Hi there! Was thinking little by little, I guess the only option to know the frequency number for sure, is to put things together, and see if it works )) so can’t wait release 2.0 )

Yeah, and the good news, is even if it is 44.1khz, all it would need is a crystal desoldered and different value one added, and that’s worst case!

Definately not a problem at all!

1 Like

Hi there! Looks like I missed to get one of the first most hat, when is the next chank planned?

Hi Keshka,

None sold yet, just getting everything set up, awaiting on the final revision to arrive, then will list shortly after, there’s a notify button on the store page if you want to use that

PiMost USB-C version is available, only 5 up to gauge interest!

A new write up of the entire journey so far is here

This is really great! I’m looking forward to the 12v version for sure. Do you think this will be able to ingest audio from a microphone on the MOST bus? My Volvo-based entertainment system has a mic connected to the amplifier for devices to use.

1 Like

Yes for sure it will be able to, its pretty much implemented in the PCB and also the sound card driver. I have yet to tackle the software side, however it should be the same as injecting audio, so I see no issues. I am planning to integrate that into react-carplay so that when you use Siri, it uses the cars built in microphone. Good news is, that most of the JLR stuff is the same, or similar atleast, to volvo!

Volvo cd changer

JLR cd changer

That’s pretty great. I watched your videos and see a LOT of potential here. I imagine setting the PiMOST to spoof the IDs of the factory Volvo DVD nav unit making it a direct swap. In my case since the GPS receiver is on MOST as well the only connections needed would be power, MOST, and an HDMI to RGBS converter module.

@Chucktastic Did you get anything to work on your Volvo? I’m currently thinking about trying to replace the radio thing in the waterfall on my 2005 V50 with an Arduino & Raspberry-Pi based system which would look roughly similar to a Tesla Model 3 I guess. I have CAN and LIN communication working in theory but have yet to test them with actual values

However, I’ve now come across this major issue that I cannot hack into the MOST Bus without something like this PiMOST, which does look quite promising. However, I’m really not looking to spend this much money on something that might work. I heard on different sites that the MOST traffic on the Volvos from this generation is fully encrypted, which would add an extra step to the reverse engineering process. The main concern I have is that this module from Microchip might not actually work with this encrypted data, as I don’t know if its only the message bytes which are encrypted or the whole frame (and even then, how am I supposed to get the encryption key?).

@rhys_m Would you perhaps be open to sharing the sources for the parts you used in your first test shown in the first image here? I’ve not got a large budget at all and might be better of just trying that, if you’re fine with that.

The only other viable idea I have with my experience level would to just get rid of the entire MOST system in my car and replace it with something modern that I design myself using USB or something else that I don’t need to screw around with at such a low level.

Hi spnda,

I used parts from XFs/Freelander 2s, whilst the modules look identical to the volvos of around the same generation (both were FOCOMO parts at the time), however I am unsure how similar the software is.

I’ve had a great chat with one of the volvo guys about the beginnings of MOST and volvos, he kindly shared these snippets

It doesn’t show to communication as being encrypted, but rather a basic security check of a serial number is used, this is detailed in the last page. In theory, all you would have to do is send the command that the master sends to get the serial number to another device, get the response, and then use that from the Pi.

I’m happy to share the devices I used, they can be a bit finnicky with ensuring they have the right config, as I did get a couple of incompatible modules, however in the UK atleast they are very cheap for JLR. However I don’t know how beneficial these would be from a volvo point of view, but if the softwares as similar as the hardware it should be almost identical!

1 Like

Hey spnda, what would your final goal be? Replace the screen in the waterfall with something that’s a bit more up to date? The ICM (the screen) is the master of the MOST-ring and so you can’t really remove it. The BluePower unit replaces the ICM and displays all the climate control stuff on it’s screen, but it doesn’t work well; the internet is full of people that have removed/returned it or wished they didn’t buy it in the first place.

I have installed a higher resolution screen in the stock RTI navigation unit, connected that to a Raspberry Pi and am currently using volvo-rtvi to display CarPlay/Android Auto and engine parameters on this RTI screen. You can read more about my installation here. The Raspberry Pi is connected to the CAN HS and LIN busses for displaying engine parameters and steering wheel controls. If you don’t have RTI from factory, you could just mount a screen above the waterfall/ICM and connect that to a Raspberry pi.

To get the pi to interface with the car audio-wise, it would be cheaper/easier to just plug the pi into the aux port. If you don’t have an aux port, you can add it to the radio using this board. Audio through MOST would definitely sound the best though :slight_smile:

For more information about CAN on Volvos I would recommend checking out the following repos:

1 Like

Thanks @Tigo one suggestion on that, is that the master can actually be replaced, this has been done successfully on a freelander 2, and it actually gives more control over MOST network as a whole. Alot of the resource allocation is done by requesting it to the master, and then the master relays messages out, fairly straightforward to take over that control yourself. You would lose any kind of CAN/MOST gateway if present, but again it could be replicated

First of, thanks to both of you for such quick replies!

The recommendations by @Tigo seem really good and I think that is very well my best bet currently. I don’t have an AUX port as those only came with 2006+ cars and mine was built at the end of 2005. I must emphasize that this is the main reason why I am even seeking to upgrade anything, as playing my music over some chinese FM transmitter is really hard on the ears…

I am really invested in doing a similar setup as you with having the Arduino and Pi in the MMM unit (Completely forgot this exists). But doesn’t the MMM unit read of the MOST Bus for GPS data? Did you just remove that unit from the ring? Or is the GPS data copied from the MOST bus onto the CAN bus by the ICM? I don’t really want to use the stock RTI screen setup though, so I am actually thinking about removing that and somehow making that a place to put your phone or some other items. Also, I’d not use volvo-rtvi and instead write my own UI using Flutter with a vast C++ backend, as I am very experienced in both those things.

If you don’t have RTI from factory, you could just mount a screen above the waterfall/ICM and connect that to a Raspberry pi.

The idea of having a fully new screen over the ICM seems like a much more intuitive solution (especially for touch functionality), and I would instead just leave the RTI screen and remove it in the future for something else to go in its place. I can still make use of the steering wheel RTI input joystick using LIN and I would do my best to get that to work my UI solution.

I have looked at the AUX board before, but also find 70$ quite steep and in my case I wouldn’t need the CD player function at all anymore, so I’d be fine with one that has zero CD player functionality and only provides AUX. In my case, I’d actually prefer one that I can digitally transfer audio data to, so that the ICM effectively only acts as a converter between my system and the audio data in the MOST bus. I don’t necessarily need an AUX input but could re-add it with my Arduino/Pi setup anyway, if it turns out its useful for something. This should theoretically also keep the audio quality as good as possible, as the signal is constantly digital.

So here comes my question about this board: Is there any documentation on what the cable transfers and how I could theoretically instead connect it to my Arduino/Pi setup? In that case I could build my own board or just directly connect it to an Arduino.

Also thanks for the link to your VIDA project, that looks useful. For the CAN data I’ve basically looked at everything there is on GitHub and elsewhere and put those all in a bookmark for me to check back later when I get to reverse engineering the messages myself.

@rhys_m That is my main concern: Is the software any different? I read that a lot of manufacturers in some cases greatly deviate from the MOST standard in software to work with their exact use case, but the hardware usually stays the same. I’d guess that most changes are probably with edge-cases, which would be exactly the ones that would be hard to cover if I should replace the ICM with a custom unit in the MOST ring.

What do you mean by this?

You would lose any kind of CAN/MOST gateway if present, but again it could be replicated

Sounds like a cool project! I am also not a fan of those FM transmitters…

But doesn’t the MMM unit read of the MOST Bus for GPS data? Did you just remove that unit from the ring?

I have removed the MMM unit from the MOST ring and placed a MOST-loop adapter to keep the MOST-ring closed. The original circuit board and components (DVD Reader, HDD) of the MMM unit have been removed to make place for the Raspberry Pi, CAN and LIN bus transceivers, an Arduino and a 12v to 5v buck converter.

From factory, the MMM unit is connected to the MOST-ring to give voice directions (turn left, next right, etc) and communicate with other modules. It’s (as far as I am aware) not used to transmit GPS data. The MMM unit takes in other parameters (wheel rotation counter from BCM, gyro, etc) to calculate the vehicle’s position to achieve better precision than the GPS position can give (dead reckoning in tunnels for example). The MMM unit is not connected to any CAN network, instead it uses the MOST network to communicate with other modules. If you end up removing the MMM unit and start to use something like Carplay/Android Auto, this entire GPS system in the car isn’t used at all. It simply uses your phone.

The GPS-unit and TMC-receiver are directly connected to the MMM unit. Information for voice guidance to the selected destination is sent between the MMM and IAM units via the MOST network.

If you don’t remove the MMM unit from the MOST-ring and use the navigation buttons/joystick on the steering wheel, the unit will interrupt your audio playback and you will hear random navigation directions (since you are still controlling the navigation with the steering wheel controls).

In my opinion the RTI-screen is in your peripheral vision when focusing on the road, having to physically look down to the (ICM) screen for navigation and music playback/changes isn’t great for safety :slight_smile: Keeping the integration OEM+ looking is nice as well. I have not implemented touch functionality in my car, but the creator of Volvo-RTVI (Sh4rp) has and it works does work well.

Rhys is more qualified to answer your questions regarding MOST, but all in all the ICM acts like a gateway between the CAN and MOST networks, where it can sent any message from the CAN network to a module on the MOST network. For example, the steering wheel controls are sent from the Steering Wheel Module (SWM) to the ICM over CAN, after which the ICM ‘translates’ it to MOST and forwards it to the MMM unit. The ICM is required since the SWM and the MMM cannot communicate with each other directly. This is also the case for the other units on the MOST-network, all communication is handled through the ICM, see below:
CAN Network

So here comes my question about this board: Is there any documentation on what the cable transfers and how I could theoretically instead connect it to my Arduino/Pi setup?

With the above picture in mind, the following modules are connected to the MOST network which means these are the modules you can expect messages from on the network:

  • Infotainment Control Module (ICM)
  • Multimedia Module (MMM)
  • Remote Digital Audio Receiver (RDAR)
  • Audio Module (AUD)
  • Subwoofer Module (SUB)
  • Phone Module (PHM)
  • Integrated Audio Module (IAM)
  • Accessory USB Unit (AUU)

Your car might not have all these modules installed since they provide functions that are optional extras. However, the ICM and IAM are always installed.

PS. I have just added some information about the design and function of the MOST network here: MOST Bus Details Per Vehicle - #3 by Tigo

I can supply the pinouts from the HAT, it’s fairly standard pi ones, spi, interrupts, i2s, some general IO. Spi and gpio all run at 3.3v, MOST transceiver runs at 5v.

I can obviously only talk from JLR experience (@ygoz has experimented abit with BMW), but most modules take the core functionality straight from the spec. In my xf and Freelander 2 the IAM contains the fm/am tuner, aux in and cd player. CD player and aux use 90% standard blocks. Fm/Am tuner is 90% custom, however, MOST (from my experience so far) is fairly easy to decipher these custom blocks. You can actually use the same node address as another device in the network, then you receive all the messages that module would receive, so it makes it fairly straight forward to reverse engineer, I’m a good 60% there with the radio, with quite little effort applied.

Again where this is pretty new ground for everyone, I can only speak on my experiences with the JLR range!

My end goal is to replace both the ICM and the touchscreen (separate in my car) and to be honest I see it as fairly straight forward. I can route audio from any device and connect the amplifier to any stream, this has already been completed. I’ve written control modules for cd player, radio, aux and microphone, just DAB, phone and TV to go. The last piece will be the AN messages from and to the MOST network. I’ve already gotten most of the can messages from both directions, you can see the MOST data when you send a can message, so I don’t see this being a huge issue.

Finally I am starting to develop a different style of board which uses an Esp32 as the controller baked into the board, so it can be used along with Wi-Fi/Bluetooth and also supply rca outputs for audio. Considering how long and how much it has cost to develop this one, I don’t see it being complete for quite some time though!

Also to go along with @Tigo great information, I have started to write up some of my findings here

And