1. LADA NIVA 1.7 (GM's Throttle Body Injection) Diagnostics

I owe for almost one year an LADA NIVA, build in year 2002 (some photos will follow), equipped with GM's Throttle Body Injection (TBI). My first idea was (because of my professional deformation) to connect it to the computer and to make some measurements and/or hacks, as usual :-) For this purpose I use the pretty old piece of Fujitsu B110 Lifebook as the “master board computer” (playing also the MP3's and controlling the cooler).

First thing was to build the appropriate RS232 to ALDL (and vice versa) converter. I designed quickly an two transistor + MAX232 device (with some capacitors and resistors). I will publish the schematics here (soon, after I will draw it to some paper and/or software). I was too quick in doing this -> because there are a lot of much simpler designs (using only one diode, and so on). So, if you want to make some hacks, then search the things on the internet first :-)

I downloaded the software EFILive 4.x to test all this. EFILive looks good (and works fine), but it is only the trial version. I was too stupid to set up the EFILive to produce the communication trace of the ALDL, so, I wrote quickly simple preliminary version of the diag software:

This VERY preliminary (0.1.0) version of software is absolutely Lada Niva 1.7 TBI oriented, and, pretty in development. In any case it plays the EFILive 4 traces (the *.alg files). And, as there was no reason to invent own data format, it also stores the ALDL communication in the EFILive 4 *.alg file format (so far I understood the file structure by simply looking into the logfile “gmh-vs8dyno.alg”). All this is currently tested only with the Lada Niva 1.7 TBI. Current version of my SW shows an very simple dashboard with the SPEED, RPM and VOLTAGE gaugages. Extensions are very easy to made, if I will have time I will add also the interpretation of EFILife car description XML files (some day, may be...). The software has currently some minor problems during the communication (because of wrong critical sessions/mutexes handling in my multithreading “design”).

My small diag SW works well on Win98 (it is funny, that the screenshot from above comes from the Ubuntu – I started the SW under Wine shortly only to take the screenshot :-))

So, this is the first info I have about this experiment. I will put a LOT of helpful links here, and, after I will solve ALL the communication issues of my SW I will make it available to download here (the 1.0.0 version :-))

OK, I know that there are no much informations here till now, but, if someone wants to contact me (some Lada Niva fans, and so on), then here is my e-mail address:


the characters placed between the <> brackets needs to be replaced by proper characters (only small anti-spam action :-))

    1.1. ATMega as controller used in place of the PC

Yesterday (2013-03-07) I changed my mind. After several experiments with ALDL in my NIVA I found out, that there is no really place in the car for the computer (it is small, but the display is “big enough” and I don't want to disassemble it so that it fits somewhere). So, I decided to replace the notebook with small controller. I extended the ALDL interface schematics a little bit, now the ALDL, RS232 and ATMega8 controller are wired together (if desired). Now it is the controller and/or the PC connected who is sending the ALDL requests and receives and evaluates the responses. The preliminary version of the schematics is here:

I used the gEDA schematics editor to paint it. It is my first experience with this SW → may be there is a better way to make it, but I think it is “good enough”. The switch from PC to ATmega8 has some consequences, I think the positive ones are compensating the negatives:

  1. No MP3 player anymore :-(

  2. No cable mess and no notebook flying around when driving in hard terrain :-)

  3. The PC can be still connected during the communication and can visualize the response data (only small change in the request/response logic of the PC SW must be done)

  4. The SW can be downloaded into ATmega8 using the bootloader over RS232

The output pins of the controller will be used to drive the digital and analog (using PWM) devices to display the data read from the TBI's ECU.

I will publish also some photos here later..... hopefully soon ;-)

    1.2. ATMega8 + RaspberryPi

Yesterday (2013-06-02) I decided to use this GREAT piece of HW – the RaspberryPi (www.raspberrypi.org) in place of the PC. The circuitry from above will be unchanged and the Rpi will be connected using the RS232 to the board – so that it can be disconnected if needed. The ATMega8 will be sending the ALDL requests in the loop and will display some basic infos using LEDs and/or some additional gauges. And the RPi will be listening to the incoming ALDL responses and interpret them in parallel with the ATMega8 and will display all the data on the display. RaspberryPi is SIMPLY GREAT and PERFECTLY suitable for my purposes – single 5V power supply, it is small, it has by far enough power to display the data using pretty OpenGL graphics and, my lovely MP3s can be played again! Unfortunately I have INSANELY few time for all this. BUT, after everything will be wired together, then I will have my Lada NIVA running Linux ;-) Now I need to rewrite my diag SW (see somewhere above) to run on Linux (will be no problem, because the diagnose/data model/data processing is implemented to be completely OS/platform independent, of course), only the visualization and COM port access needs to be reworked. As the Rpi has also SPI interface lead out, it will be possible to connect the MCP2515 CAN controller. It is SPI controlled CAN cell. In this way also the OBD2 responses can be interpreted and processed/visualized...... but, for first, the ALDL must work ;-)

(2014-10-24) Ok, finally I had time to do something for my Lada Niva. I built the HW from above again (but somewhat simpler one, I'll update the schematics later... with a little bit of luck :-D.... some day). But it was VERY annoying to go to the car and eventually start it to test whether the HW+SW works, whether the communication and interpreting of the ALDL response works and so on. To avoid this I wrote an very simple Lada Niva ECU simulator running on the PC. In this way I can develop my HW+SW without the need to leave my messy lab to test it all. Currently no Raspberry is connected to it, only ATmega8 is sending the requests and outputs the RPM to the pin using the PWM so that I can connect the analog gauge to it. I created & uploaded the video how it works: http://www.youtube.com/watch?v=0lM-QDd-G4Y

(I was creating the video at night, after I returned from an very long family celebration :-D, you know what I mean ;-))

(2015-05-25) So, finally, I had some time to do something for my Niva. The HW is finished and is working I placed it all to the metal plate from the old car radio. This is the photo of all this (sorry for the ugly, long wiring):