canze-icon-shadingIf you want to learn about your Renault ZOE electric vehicle, you’ve come to a good starting point. We will supply you with an app that displays driving stats and lots of interesting information about your car. All you need is a Bluetooth OBDII dongle or a super fast do-it-yourself build CanSee dongle, and an Android device. For a more detailed description of the app see the about or the screenshot page. There is a sister project for Apple iOS.

The app is available on Google Play store here.

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
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

As announced. Many fixes, and new speed control for average speed control systems, a new research tool, and mode that might work a lot better for ELM based dongles.

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 of course logged if you switched on Field logging in the Settings screen) 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.

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: released in 1.45

  • Growth: 3.1% for 30 days, 60% for a full year.
  • ANRs and crashes are very low, way under “bad behavior” threshold. Attacking them systematically has payed off.

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!

In the next release we plan to introduce dark mode for Android 9 and 10 devices. It probably will not be settable in CanZE itself but will follow Android’s native setting.

Until now, we’ve been keeping CanZE compatible with API level 15, meaning Android 4.0.3. For reference, we’re talking Samsung S2 era, early 2012 phones. To make dark mode work without over-complicating the code, we have to let go of supporting Android 4 and make API level 21 the minimum requirement. These are late 2014/early 2015 phones. The number of active users below API level 21 is below 1% of the active users, so we feel this is a fair compromise.

The sun-setting of Android 4 support has been announced starting today in the news bar. If you run CanZE on an Android 4 device it will no longer receive updates.