Carloop-minimal.ino sample prevents my car from starting

I’ve got the carloop-minimal.ino sample flashed on my Electron and tried to test in in my 2007 Renault Espace 2.0DCI, but whenever I’ve got the Carloop plugged in on engine start, the car won’t start and report loss of oil pressure.
If I plug it in (or switch on the Electron) after the car was started, I get a warning/service symbol in the dashboard and different messages like “check parking brakes” (and once even the automatic windscreen wipers started).

But as far as I understand the sample it should only read things but not send messages or interfere with the bus otherwise.

Hey @ScruffR, welcome to the Carloop community! It’s great to have you.

Can you try using a Photon? we had a similar issue in one of the early Carloop R2.1 but not with this version.

And once you do, can you take a picture of your installed Photon (before plugging it into the OBD-II port) to make sure the orientation is correct?

Finally, without installing Carloop, turn your car’s ignition on, keep engine off and measure the voltage between pin 4 and pin 6 on the OBD-II port. Repeat for pin 14. Your should read around 2.5V. See diagram below:

Here the pics
with Photon


with Electron

@alanm, I’ve now measured the voltage and it looks like this:

Ignition off
 6 -> GND (4) 1.38V
14 -> GND (4) 1.38V

Ignition on
 6 -> GND (4) 2.50V
14 -> GND (4) 2.25V

With the Photon the car behaves just the same as with the Electron.
I’m no trying the obd-blink.ino with the GPS module detached too.

Update:
With that code the car doesn’t even try to start and on unplugging the Carloop complains: “Check ignition lock”, although I haven’t got an “ignition lock” as I’ve got keyless entry and drive.

There’s a few things we can try.

Does the car start if you don’t have the Photon or Electron plugged in? This would rule out electrical issues on the Carloop like short-circuited CAN traces.

Maybe the CAN bus is running at a different speed for the Renault so the Carloop believes there are errors on the bus and tries to correct them. Add carloop.setCANSpeed(250000); before carloop.begin(); in setup(); to use a different speed like 250 kbit/s (the default is 500 kbit/s). If 250 kbit doesn’t work, you can try 1 Mbit/s or 125 kbit/s.

Actually according to this Renault OBD-II page the CAN bus for OBD is at 250 kbit/s.

Thanks for coming back on this :+1:

Yes, the car works fine with an “empty” Carloop plugged in but also with an Electron/Photon with only Tinker on it.

I’ll have a read thorugh that linked page and come back after some tests.


Update:
Yup, Julien, that was it 250000 is liked better by my car :+1: (although that Renault list states "Renault Espace 4: 2.0 dCi, Diesel (175HP) 2006 CAN 11bit (500kb)" :confused:)
My noobish thought was, since the device is only “listening” but not transmitting, it might just not understand things with the wrong baud rate, so I never thought that could cause the car to play up.
Lesson learnt :blush:

Now I can get on to learn what signals my two ton computer produces and how to use them :wink:

1 Like

If you have a linux laptop or a raspberry pi you can try using can-utils with the socketcan driver to identify which signals messages are changing when you step on the accelerator pedal for instance or unlock your doors.

Very nice!

Yeah, CAN is like that. Even a device that’s only listening must respond to errors and in this case the different baud rate caused the Carloop to think every message was corrupted :sweat:

1 Like