This means to use a micro controller like an Arduino should be fairly easy to implement if I can figure out how to tell the controller the speed of the car. In theory I should be able to read the CAN from the ABS sensor to tell how fast the car is travelling but my understanding of CAN and programming of Arduino will need a boost before that will happen
There's no need for CAN injection or reading Ali. There is an analogue speed signal already processed by the CCU which is output to the audio system as a variable PWM. This is so the audio system can alter the speakers volume based on vehicle speed, higher speeds means more road and engine noise, so the louder the audio system becomes.
It shouldn't be too difficult to program an Arduino to interpret a PWM into a control signal for a transistor to provide a voltage derived from the PWM.
I'm thinking that a similar system could be used to drive the fuel gauge based on voltage instead of a PWM, which again controls a transistor to alter the resistance seen by the Ipack ECM.