I had my hands on a ZE50, but unfortunately no CLIP tool was available to “tap”. Things have definitely changed.

  • The SAE1962 (“OBD2”) connector has moved to the A pillar just in front of the handle to open the bonnet;
  • The MM CANbus has been removed from the connector;
  • The V CANbus has been replaced with what seems to be a diagnostic bus.
  • The exposed CANbus is completely silent. At this moment my conclusion is that the connector is now connected to a separate gateway (port). It does not relay the free frame chatter and needs to be “coaxed” into delving deeper into the car. To make that happen I need to have a session with a real, updated CLIP tool.

It seems we’re right on time finishing up the “Use ISOTP mode” setting, because I doubt free frames will be made available at all.

Before you read on: this post in not an endorsement whatsoever. We stick 100% to our advice to either build a CanSee dongle if you want fast&furious, or buy a KONNWEI 902, as that is about the only dongle that is a fairly stable build for fairly cheap.

Having said that, as a sort of fun/silly experiment stemming from the “Use ISOTP fields” mode I wrote about earlier, I decided to order the absolute cheapest dongle I could get, and ended up with a usual “blue transparent case” model for under 2 Euros.

Guess what, it has a decent PIC processor, external EEPROM, Bluetooth 4.0 chip, and an Atmel (Microchip) CANbus transceiver. This is not some hacked together crappy thing with half baked software in the spare capacity of some Bluetooth controller. And here comes the unbelievable part. After some tweaking, I got it running with CanZE. I literally had to change two lines of code in the development branch. Which I will have to cross check with my KONNWEI dongle of course. I was honestly flabbergasted.

Thanks to SpeakEV user B9er we can present you even more pictures of a gutted Q model BCB and Filter. Contrary to my earlier thoughts, the neutral current sensor is in the black box. BTW, this part failed and he is looking for a second hand BCB or black box. Leave a comment here if you have one for sale for him please. And now for the eye candy…..

Coil, capacitor block, charger electronic block
More charger electronics block
Opened
It’s main board
Motor Neutral current sensor location
Power part
Current sensor board

The next two are from the filter module. One relay is the L3-N relay, the other bridges a pre-charge set of resistors. Remember this post? Yep, that’s it!

One of the two relays in the filter
Other side of the PCB, 4 big solder joints are the two relays; right one is pre-charge bridging the resistor bank

Ever been busted by an Average Speed Camera system, also called SPECS? They measure your average speed by recording the time difference of passage between two camera locations, either a relatively short distance apart (i.e. between traffic light complexes) or up to several kilometers. In the Netherlands it is called “Trajactcontrole” (Trajectory [speed] control).

We have added an experimental screen called Average Speed to help you avoid tickets for these types of speed infractions. Start the screen and tap on any text on screen to start the measurement, which will be updated in real time. Tap again and a new measurement will start.

But be careful. Keep your eyes on the road and realize some of these systems take both an average as well as spot speed measurements.

Good news for people who want to dig deeper into their ZOE data themselves. We have had several functions to peek into the car. For instance, you can switch on field logging and when on, all fields that are pulled from the car by CanZE are also logged in files in your phone’s memory.

Also, there is the “All Data” screen where you can get all known fields of a single ECU in a single shot. On screen, and simultaneously in a log file.

This does give limited control though on what is pulled while driving. In the next release not only have we improved the log format, there will also be an experimental screen which enables you to log anything you want, as fast as possible. To enable this function you need to create a simple text file called _Research.csv in the folder where CanZE stores it’s log files (usually something like Phone\CanZE\). This file should have the exact same format as CanZE’s internal field definition files. Here is an example:

,7ec,24,39,.02,0,2,%,222002,622002,ff,State Of Charge (SOC) HV battery
,7ec,24,47,1,0,0,km,222006,622006,ff,Total vehicle distance
,7ec,24,39,.5,0,1,V,223203,623203,ff,HV LBC voltage measure
,7ec,24,39,.25,32768,1,A,223204,623204,ff,HV LBC current measure

This will show these 4 fields when opening the Research screen and they will be refreshed (and logged) as fast as possible. The field definitions can be found in the Assets folder of our github repository. BTW, these will all be updated in the upcoming release.

Note: ELM327 based dongles do not handle free frames (UUDT) very well. It is far better to use the equivalent diagnostic field (using ISOTP or ASDT). For ZOE, those always start with a 7.

This is ample opportunity to drop a serious reminder, as displayed when opening the repository and starting the app for the first time. A partial quotation:

Before you download and use this software consider the following: you are interfering with your car and doing that with hardware and software beyond your control (and frankly, for a large part beyond ours), created by a loose team of interested amateurs in this field. Any car is a possibly lethal piece of machinery and you might hurt or kill yourself or others using it, or even paying attention to the displays instead of watching the road. Be extremely prudent!
By even downloading this software, or the source code provided on github, you agree to have completely understand this.

Working for over a year, we’ve been making slow but steady progress on changing the way how we fundamentally talk to the dongle. The cheap Chinese dongles are awful coping with what we call “Free Frames”, and especially the torque bars make extensive use of those. Reliability is low, delay is high and many dongles won’t work at all. Finally, since the ZE40 models came along, many dongles were overwhelmed by the busier traffic on that type’s CANbus.

We’re getting close to releasing a version of CanZE that tackles all of the above. The downside will be that we will need to drop a few fields but we regard then as rather unessential. Think of indications like cabin temperature set-point, flap open; things that are clearly visible on the dashboard anyway.

For the technically minded readers: if approved, the next version will have an alternate mode that will use only ISOTP request-response type of communications. Next to loosing mentioned fields, a ISOTP is by definition somewhat intrusive to the car compared to free frame “sniffing”. This is academical though.

We will encourage all users using and ELM327 type of dongle, such as the KONNWEI902, to try switching on “Use ISOTP fields” in the settings; things might improve significantly. For those who have build or want to build an CanSee dongle, we suggest to keep using free frames. It will beat the ELM dongles in speed hands down. After feedback, we might automate the switch based on dongle type.

Stay tuned, all coding is done and we’re now testing.

Edit: As silly cheap dongles sometimes have no secure Bluetooth capabilities, CanZE switches to an insecure Bluetooth connection when “Use ISOTP fields” mode is switched on.

The Tire IDs (and pressures) are conveniently labeled Front Left, Front Right, etcetera, but the car has no separate receivers for the individual wheels. It just sees four values coming in and checks it. Enough for the warning light, but not for us users. We want to make sure the pressure is stated for the correct wheel, and the ID for the correct wheel is displayed.

We’re in a pickle a bit as we received a report that the Rear IDs in CanZE are swapped, while we have followed available documentation. As none of the developers have a TPMS equipped car, it’s impossible to experiment. So in case you are a “tire guy” with a TPMS equipped ZOE, please do some experiments and confirm (or deny) said report. Thanks!