Page 1 of 1

MG Coolant Heater

Posted: Tue Sep 03, 2024 12:48 pm
by tom91
This thread is to discuss anything around the MG Coolant Heaters, such as found in the MG ZS

I have started work on reverse engineering the Coolant heaters https://openinverter.org/wiki/MG_Coolant_Heater

Currently I can get it to draw HV power, however without a battery I am a bit stuck. Luckily Damien also obtained one so we can make progress.
20240903_120243.jpg

Re: MG Coolant Heater

Posted: Fri Dec 13, 2024 6:24 pm
by Jack Bauer
Mine is installed in the L200 now and we have observed around 6kw so far. Simple one can message for control. Must get it into Zombie soon so can prove it out.

Re: MG Coolant Heater

Posted: Sun Dec 29, 2024 8:51 am
by FJ3422
From what car is this nice tiny square coolant reservoir ?

Re: MG Coolant Heater

Posted: Sun Dec 29, 2024 12:49 pm
by arber333
Jack Bauer wrote: Fri Dec 13, 2024 6:24 pm Mine is installed in the L200 now and we have observed around 6kw so far. Simple one can message for control. Must get it into Zombie soon so can prove it out.
Care to share 0x2A0 CAN command range?

Anyone has LV connector wiring schematic? I can only see CAN pins position on wiki. Does this mean heater doesnt use 12V power?
Never mind, i managed to actually read the wiki :)...

Thank you...

Re: MG Coolant Heater

Posted: Sun Dec 29, 2024 1:46 pm
by tom91
arber333 wrote: Sun Dec 29, 2024 12:49 pm Care to share 0x2A0 CAN command range?
We have something that works, the logs are online. We do not know exactly what all the fields do so it is still classed as experimental.
https://github.com/Tom-evnut/MG-Coolant-Heater

Good thing is the heater self limits its operational temperature to we believe 60-70C.

Re: MG Coolant Heater

Posted: Sun Dec 29, 2024 4:14 pm
by arber333
tom91 wrote: Sun Dec 29, 2024 1:46 pm Good thing is the heater self limits its operational temperature to we believe 60-70C.
That is logical as i see about at 60deg the best all around utility and economy of power.

I intend to get one and fit it to our Ampera as our cabin heating stopped working for some reason. I replaced two heaters by now and still nothing. It seems heaters are not broken... so it looks like problem is in the system. I just about had it with Volt heater. But Outlander heater is too large. MG heater would fit nicely in small space i think.
I will get back to you with data when i had it in...

Re: MG Coolant Heater

Posted: Fri Sep 19, 2025 10:51 pm
by LRBen
So it seems not all these heaters use the same can IDs. Attached is a canlog from this heater, 0x2A0 is the zombie control message so ignore that one.

LV and HV pinouts seem to be the same however.

Re: MG Coolant Heater

Posted: Tue Oct 21, 2025 2:23 am
by alexbeatle
Does the flow direction or mounting orientation matter?

Re: MG Coolant Heater

Posted: Tue Oct 21, 2025 7:29 am
by tom91
alexbeatle wrote: Tue Oct 21, 2025 2:23 am Does the flow direction or mounting orientation matter?
The coolant path is symmetrical so it does not really matter which way you flow.

Orientation does matter, mount it so it does not trap air, Fittings to the top.

Re: MG Coolant Heater

Posted: Sat Oct 25, 2025 5:18 am
by alexbeatle
If I understood correctly, currently we only know to send the below to 0x2A0 (per wiki) which turns the heater on to max?

Code: Select all

0x00 0x00 0x01 0x00 0x00 0x60 0x00 0x00
Also. What is the purpose of the cc/ignition signal? Does the heater fall asleep after some time?

Re: MG Coolant Heater

Posted: Sat Oct 25, 2025 11:22 am
by tom91
CC/Ignition is KL15, so 12V is ON and no voltage if Off.

Yes for the one I had it only needed the 0x2A0.

In zombie we currently send:

Code: Select all

void mgCoolantHeater::Task100Ms() {
  uint8_t bytes[8];
  bytes[0] = 0x00; // No Power!
  bytes[1] = 0x00; // No Power!
  bytes[2] = 0x00; // No Power!
  bytes[3] = 0x00; // Fixed
  bytes[4] = 0x00; // Fixed
  bytes[5] = 0x60; // Fixed
  bytes[6] = 0x00; // Fixed
  bytes[7] = 0x00; // Fixed

  if (shouldHeat) {
    bytes[0] = 0x04; // Max Power!!!! 0x04 gives 19A
    bytes[1] = 0x0F; // Max Power!!!! 0x0F gives 19A
    bytes[2] = 0x01; // Max Power!!!! 0x0F gives 19A
  } else {
  }

  can->Send(0x2A0, (uint32_t *)bytes, 8);
}
It would be good if someone spends the time to further reverse engineer the CAN.

Also got notified some heater will look the same but slightly different part no have different CAN ids.

Re: MG Coolant Heater

Posted: Sat Oct 25, 2025 4:31 pm
by alexbeatle
Thanks.
In the US these heaters are found in the infamous Fisker Ocean. I can start a new topic if anybody is interested.
Connectors are the same. The wiring is mainly same. The car schematic I found doesn't show the CC/Ignition KL15 pin. I powered up this heater on my bench and it started sending messages right away. While, CC/Ignition KL15 pin is physically there, it doesn't seem to do anything.

The CAN IDs and message coding is different from MG, but I figured out some basics already. My bench power supply is only capable of 1A@300VDC, so when I send (what I think is) a control message, power supply isn't capable of providing that many amps. Heater tries to fire up and sends some CAN data in response, but then times out on trying. I'll need to find better power source.

This one has cooling IN and OUT clearly marked.

Schematic snip
image.png
Heater itself:
image.png
Power supply fails to pull needed amps and heater times out trying...

Re: MG Coolant Heater

Posted: Mon Nov 10, 2025 11:04 pm
by alexbeatle
Is the size and characteristic (fast-blow? time delay?) of HV fuse known for this heater?
Max consumption I=P/Vmin=3.5kW/230VDC~15A. Mine came with the 4mm2 HV cable, which can do <25A continuously. The heater is an inductive load though.

Re: MG Coolant Heater

Posted: Tue Nov 11, 2025 8:25 am
by tom91
MG ZS MY22 diagram shows 3.0mm2 cables with 40A fuse...
image.png
MG ZS MY19 diagram shows 3.0mm2 and a 25A fuse, which is more reasonable.
image.png

Re: MG Coolant Heater

Posted: Tue Nov 11, 2025 8:29 am
by manny
The MG4 manual has it listed as a 60A fuse.

Think that the heater is a resistive load. Not that this really matters
Screenshot_20251111_091831_Chrome.jpg
The fuse is not for overload protection. But just for short circuit protection.

The most important characteristic of the fuse is HRC (High Rupturing Capacity) so that it doesn't explode if a short occurs.