Coding a Car (VCDS vs OBDEleven)

First of all, if you drive an Audi, VW, Seat or Škoda, you have to read this!

It’s not software development, you can’t even call it programing, it’s more like flipping bits to enable or disable features. For exapmle, the image above is called a needle sweep, while turning on the car the needles bounce from 0 to full range and back to 0. An interesting detail introducet in stock S and RS Audi models, but since the same dashboard modules are used in a normal A series Audi, this can easily be turned on and it’s maybe the easyest thing to do.

Introduction

My first experience with car diagnostics software was while visiting a local car service. Having a VW Golf MK5 with high mileage, meant having a lot of check engine lights and error codes. When the mechanic connected the laptop, deleted the exhaust gas fault code and removed the check engine light, the idea of buying my own diagnostic tool was born.

Buying the VAG-Com usb cable was easy, the cabels were limited to a car production year, the newer the car the more expensive the cable. But the laptop was the problem, something compact and fast was not cheap (>100€). So I started looking for alternatives and found this new OBDEleven bluetooth adapter that connects to the phone and does the same tricks but over the phone app. Since the app was free and I found an used adapter for 50€, the decision was easy.

If you just want to see the short conclusion and did I repent, scrool all the way down to the summary. I also want to mention that these two diagnotics are only for VAG cars. VAG is short for Volkswagen Group, so that are: Audi, Bentley, Bugatti, Lamborghini, Seat, Škoda & Volkswagen.

How to code/flip bytes

Imagine that a module in your car has exactly 1 Byte, that is 8 Bits of memory to save its coding. The bits are numbered from right to left, for legacy reasons.

Bit 7Bit 6Bit 5Bit 4Bit 3Bit 2Bit 1Bit 0

That’s exactly 8 empty fields where it can store the value 0 or 1, and let’s say that this is how the current coding of that module looks like.

00011010

Usually 1 means that the option is active and 0 that it is not. With more and more electronics in vehicles, what used to be just 8 bits now becomes 50 times larger and visibility with zeros and ones becomes quite complicated.

The first solution to this problem was coding using the sum of bits, one large decimal number that is calculated by assigning each bit its weight and adding up those weights. The weight is calculated as that bit to the power of 2, so we have this.

Bit 7Bit 6Bit 5Bit 4Bit 3Bit 2Bit 1Bit 0
27=12826=6425=3224=1623=822=421=220 =1
+128+64+32+16+8+4+2+1

This means that the previous coding could be summed up as: 16+8+2 = 26 [Decimal]
This is exactly how I activated the door puddle light in my Golf 5 by adding +64 to the door coding, although I had no idea why and how it works.

Now it gets interesting, in order to improve visibility even more, the hexadecimal notation is used. In this case, it is possible to write 4 bits with only one hex character. And it would look like this.

Bit 7Bit 6Bit 5Bit 4Bit 3Bit 2Bit 1Bit 0
+8+4+2+1+8+4+2+1

Now we can write the previous coding in decimal.

110

When that is converted to hexadecimal we have.

1A

So the initial bits 00011010 can be simply written in hexadecimal as 1A.

Real life example

The following image was found in one of the forums, where the user was trying to change the Hex 1A on the left to Hex 3A. Unfortunately he failed, although it is very simple, now to clarify a bit how this works.

The problem was his assumption that the first 4 bits (Bit 0 – Bit 3) correspond to the first hex number, the 1 of Hex 1A. But that was not the case, so he just changed the second hex number, that is A. In this case, the first hex number represents the Bit 4 - Bit 7 state, while the second number represents Bit 0 - Bit 3.

I do not want to go into an explanation of the hexadecimal/binary format, I will try to explain this in the simplest way. All we need to know is addition, remembering these weights of bits (next to the activation field) and counting in Hex. Unlike the decimal system, which has a base of 10, the hexadecimal system has a base of 16, so it is possible to count up to 15 with one digit. And it looks like this: 1, 2, 3, 4, 5, 6, 7, 8, 9, A (10), B (11), C (12), D (13), E (14), F (15). Yes, the letters are now numbers. Let’s go back to this picture, the first number of Hex is 1, which is obvious. The second number is A, and we get it when we add the weights of the bits, 2 + 8 = 10 (decimal) = A (hexadecimal).

So this particular problem of his, to turn 1 into 3 would be solved by just activating Bit 5, so we have 1 + 2 = 3. I hope you understood how this works, to test your knowledge you can look at the next images and calculate the hex based on the state of the bits.

Maybe this table can help you calculate Hex values.

The comparison

VCDS

OBDEleven

As you can see, the application interfaces are drastically different, but in essence everything is the same because OBDEleven is just a copy of VCDS. And I must admit that the copy has become better than the original. In the following pictures, you can see the same operations on these different devices: overview of control modules, module options and module coding.


Hardware and Price

VCDS

  • HEX-V2 (3 Vehicles) – 284,00 €
  • HEX-NET (No Limit) – 704,00 €

OBDEleven

SFD Protection

As of 2020, beginning with the market entry of the Golf 8 (MQB37W), we also get the Vehicle Diagnostic Protection or SFD (ger. Schutz der FahrzeugDiagnose). The previous activation of the security access procedure by entering a 5-digit login code has been replaced with this new type of protection where some kind of access token must be obtained from the VW server. Currently, to code new vehicles like the Golf 8, you have to be online and get this token, that means VCDS is out of the game. I hope they find a way, but for now only OBDEleven has this possibility. Which brings us to the first unpleasant updates.

06.2021 Update

OBDEleven is canceling the PRO account and converting everything to subscriptions. For PRO users who bought it before the 15.06.2021, while there were no subscriptions, PRO remains LIFETIME. I was lucky enough to be one of those users. As someone who can’t stand subscriptions, I will probably never buy the Ultimate version.

07.2022 Update

Obdeleven Free credits have disappeared due to a “security policy update“. It is no longer possible to get the 6 free credits per day by watching ads, this means that from July 2022 everything is paid for OBDEleven. An option like Video In Motion costs 100 credits, and when those 100 credits are purchased in the app, they currently cost 18 €.

Summary

Simply put, VCDS isn’t as elegant, but it’s cheaper and it all started with it. On the other hand, OBDEleven is the sleeker, more modern solution that is more expensive. In any case, I recommend that you decide for yourself, because there are other alternatives such as Carista or VCPSYSTEM. Everything has its advantages and disadvantages, regardless of what you choose. An good example is the Traffic Sign Recognition (ger. VZE) feature on some new Audis, it can only be activated with VCP. So if you want this, the choice is quite simple.

If you decide to go with OBDEleven, it would be very kind of you to purchase it through this affiliate link.

As I am already experienced with OBDEleven, I can help you if there are any problems. Speaking of which, here are a couple of cars that have been in my possession where I’ve had the opportunity to code certain things and confirm that they work.

What’s next

I have an idea to write a small book in which I will explain everything I know about car coding, for absolute beginners and in a very simple language. If this sounds interesting, tell me how much money you would be willing to pay for such a book.

Leave a Reply

Your email address will not be published. Required fields are marked *