Welcome Anonymous !

Everything you need to modify your ride
 

EEPROM Programming for Beginners for the Holden VY Commodore

  • The following document has been written as a quick guide on how to begin EEPROM programming,
    including reading EEPROMs, modifying EEPROM data, and writing back modified data to an EEPROM.

    This guide also covers a number of EEPROM programmers available, ranging from the cheapest available through to a couple of highly recommended programmers.

    Which EEPROM programmer should I buy.
    This is probably the single most asked question, mainly due to the availability of literally thousands of EEPROM programmers available today.

    The first question you should ask yourself before throwing down your hard earned coin, will I be using the EEPROM programmer again to program another device ?
    If you are reading this guide, then you will obviously require an EEPROM programmer to read, modify, and write EEPROM data to either solve some problem (I.E. fit a device such as a radio, or cluster to your vehicle), or to begin learning what you can achieve by changing a devices parameters, to enable or disable different features.

    If you are only going to use the EEPROM programmer once, or you are only EVER going to program one device, and you have no interest in using the EEPROM programmer for anything else, then it is recommended that you spend as little as possible, and buy a simple EEPROM programmer that supports the EEPROM chip you wish to program.

    Many of the cheap EEPROM programmers are very good at programming a limited number and types of EEPROM chips, so spending large amounts of money on an expensive EEPROM programmer will not necessarily yield better results.

    If you are in this for the long haul, and you are interested in reading EEPROMs from many different devices, then your best bet is to pay extra, and get a good EEPROM programmer that supports programming a comprehensive range of EEPROM chips.

    Also keep in mind that you will also require clips and adaptors, depending on what device you wish to program, and the method used to program the EEPROM on the device.
    Again, if you are only interested in programming a single device, then it is wise to only buy what you need.
  • Serial Port 24Cxx EEPROM Programmer
    Click Here to Buy Online
    Suitable For : Supports the most common EEPROM type, 24Cxx models, as used in the VE Headunit, and VY, VZ Clusters.
    Pros : Uses the excellent PonyProg2000 EEPROM Programming Software (Linux, Mac, and Windows Support), easy to use, budget price.
    Cons : Supports a very limited number of EEPROMs (i.e. will not support VE Cluster EEPROMs), Serial Port Only.
    Average Price : $30.00 Au (Including Shipping)

    KeeProg USB EEPROM Programmer
    Click Here to Buy Online
    Required For : VE Instrument Cluster Programming (95160 EEPROMs), can be used for VE Headunits (Some 24Cxxx EEPROMs)
    Pros : Reasonably priced, Easy to Use
    Cons : Cheap and Nasty (Re Terrible) EEPROM connector, Terrible software, supports only a very small range of EEPROMs, Software supports Windows Only.
    Average Price : $60.00 Au (Including Shipping)

    MCU Mall True USB GQ-4X Willem EEPROM Programmer
    Click Here to Buy Online
    Suitable For : All EEPROMs found so far (VY, VZ, VE)
    Pros : Good Quality Product, Supports a huge range of EEPROMs, Software is comprehensive, support for more EEPROMs is always being added for free to the software, USB Interface.
    Cons : Most expensive EEPROM Programmer mentioned here, Windows Only Software, Software can be difficult to use for a beginner.
    Average Price : $120.00 Au (Including Shipping)

    Essential Accessories


    3M 8 Pin SOP Clip
    Click Here to Buy Online
    This clip allows you to connect directly to the EEPROM on the PCB, without having to desolder and remove the EEPROM from the board to read and write to.
    Please Note: For some applications, the EEPROM will need to be removed as the EEPROM programmer may not support reading or writing to the EEPROM whilst on board. See below for a solution if this is the case for your application.
    Average Price : $30.00 Au (Including Shipping)

    8Pin SOP to DIL Adaptor
    Click Here to Buy Online
    These are required when it is impossible to program the EEPROM whilst it is soldered and connected on the PCB.
    The adaptor allows the surface mount EEPROM to be plugged directly in to the EEPROM socket. PLEASE NOTE: As per usual, be very careful when buying these adaptors from ebay.
    I have bought a number of these from a number of suppliers, and have found the socket legs are either an incorrect pitch,
    or to far apart to fit the EEPROM programmer ZIF socket.
    A number of these had to be modified in order for them to fit in to the EEPROM programmer.
    Average Price : $6.00 Au (Including Shipping)
  • Before you can read data from an EEPROM, you first must locate, and connect to the EEPROM device.
    Care must also be taken to ensure that the EEPROM connectors Pin 1, is connected to the EEPROMs Pin 1,
    and that the connector is also connected to the EEPROM programmers Pin 1 Socket.

    The easiest way to identify Pin 1 on an EEPROM (Or any electronic chip), is to locate the notch, dimple, or half moon on the chip.
    Typically, Pin 1 on an EEPROM chip, when the text on the chip is positioned correctly, will be the lower left most pin on the chip.
    Pin Numbering will then continue in a counter clockwise rotation, starting from Pin 1.
    An excellent guide on how to locate Pin 1 on an electronic chip can be found here
    www.evilmadscientist.com

    Next, you will need to connect the Pin 1 on the 3M SOIC Clip, or the SOP to DIL adaptor.
    For the 3M Clip, Pin 1 can be located by finding the Pin that is connected to the wire with a red trace (line).

    Finally, the 3M Clips wire with a red trace needs to be connected the EEPROM programmers PIN 1 position, as seen below.
  • With the EEPROM physically connected to the EEPROM programmer, you can now attempt to read data from the devices EEPROM.
    Despite a couple of small software differences between EEPROM programmers, reading EEPROM data is a relatively simple process.

    I have included three guides below for each of the different EEPROM programmers recommended above.
  • Serial Port PonyProg Compatible EEPROM Programmer
    If you havent already installed PonyProg2000, the following forum thread has detailed information on how to install the PonyProg Software.
    installing ponyprog2000 on ubuntu
    This guide includes the important step of calibrating the EEPROM programmer to the software.

    Next, Open the PonyProg2000 software.
    (On Ubuntu, this is located in Applications, Programming, PonyProg2000)
    The following screen will be displayed.
    Connect the EEPROM to the EEPROM programmer, either using the 3M Clip, or the 8 Pin SOP Adaptor, as shown below,
    1) Click (and hold the mouse button) on the COMMAND menu
    2) Select the READ ALL menu option.
    3) If the EEPROM Programmer has been correctly configured, the Data should be read from the EEPROM chip, and the following screen will be displayed
    Please Note : The number of bytes read will differ to the above image, depending on the type and size of the EEPROM that you are reading from.

    4) Click on the OK button to close this window.
    The PonyProg2000 software will now display the contents of the EEPROM, similar to the image shown below.
    The Final step is to save this EEPROM Data as a bin file, that can be opened and edited using any HEX editor software.
    5) Click (and hold the mouse button) on the FILE menu.
    6) Click on the SAVE DEVICE FILE menu option.
    7) Select a name for the file to continue.
    8) Click on the OK Button to save the file.
  • Once the EEPROM programmer software has been installed, and you have fitted the instrument cluster EEPROM to the EEPROM reader, you can now attempt to read data from an EEPROM chip.
    To do this, first connect your EEPROM 3M Clip, or SOP adaptor to the EEPROM programmer as shown below,
    1) Open the KeeProg Software
    2) Select the EEPROM Programmer type from the drop down menu (USB)
    3) Select the EEPROM Family type from the drop down menu.
    4) Select the EEPROM Chip from from the drop down menu.
    The EEPROM Family Type and Chip information can be obtained from the associated document, or can be physically read from the EEPROM chip.
    5) Click on the Read button to continue.
    6) If the EEPROM Programmer has been correctly configured, the Data should be read from the EEPROM chip
    The Final step is to save this EEPROM Data as a BIN file, that can be opened and edited with a hex editor later.
    7) Click on the SAVE Button.
    8) Select a name for the file to continue.
    9) Click on the OK Button to save the file.
  • Once the EEPROM programmer software has been installed, and you have fitted the instrument cluster EEPROM to the EEPROM reader, you can now attempt to read data from an EEPROM chip.

    For the following example, we will be reading data from a 24C08N EEPROM chip, using an 8 PIN SOP to DIL adaptor.

    To do this,
    1) Open the GQ USBProg Software
    2) Click on the Device button located on the left hand side of the screen.
    The following form will now appear
    3) Select the Required EEPROM by either typing the EEPROM part number in the search field,
    or by selecting the Device Manufacturer and Device Number from the supplied lists.
    The EEPROM Manufacturer and Device information can be obtained from the associated document, or can be physically read from the EEPROM chip.

    4) Once you have located the EEPROM model number, click on the Select Button to continue.
    The following form will now appear.
    5) Please note the EEPROM adaptor location displayed on the software.
    You will need to position your EEPROM SOP adaptor, or your 3M Clip accordingly.
    Below we have positioned our 3M Clip and our 8 Pin SOP to DIL adaptor as per the above image.
    6) Once you have the EEPROM physically connected, you can now read the data from the EEPROM.
    To do this, lick on the READ button located on the left hand side of the screen.
    7) If the EEPROM Programmer has been correctly configured and connected, the Data should be read from the EEPROM chip
    The Final step is to save this EEPROM Data as a BIN file, that can be opened and edited with a hex editor later.
    8) Click on the SAVE Button.
    9) Select a name for the file to continue, and ensure the file type is a binary file .bin
    10) Click on the OK Button to save the file.
  • Once you have read the data from your EEPROM, the next obvious step is to view this data, and edit it accordingly.
    To do this, you will require a HEX editor.
    Hex editors allow you to open pretty much any file, and view the raw contents of that file.
    The following is a list of good (recommended) Hex editors available for different operating systems.

    Linux - Gnome Hex Editor - GHex
    Available from Ubuntu Software Center, or via the command
    sudo apt-get install ghex (Debian, Ubuntu and other distros that support the .deb format)
    sudo yum install ghex (Red Hat, Fedora, and other distros that support the .rpm format)

    Windows - XVI32 Hex Editor
    Available from
    www.chmaas.handshake.de/delphi/freeware/xvi32/xvi32.htm

    Once you have downloaded and installed your Hex editor, you will now need to open the software, and then open the read EEPROM file.
  • In many of the documents on this website, we refer to EEPROM memory locations, or offsets.
    These values may be presented as a value such as 0x0001A, or 0x1A, or even 1A.
    If you think of a memory location being the same as an excel worksheet cell location, or even a character count on a document.
    It is a way of referencing the specific data that may hold a setting, feature or function stored in the EEPROM.
    In the above examples, each value given essentially means the same thing.
    The 0x value at the start of 0x0001A and 0x1A indicates that the number given is in hexadecimal.

    99.9999% of the time, when we are dealing with EEPROMs, we will be dealing with Hexadecimal values for things such as memory locations, and data.

    In the above examples the hexadecimal number 1A is the actual memory location that we are referencing.
    For the value 0x0001A, as mentioned above, the 0x indicates that the number is in hexadecimal,
    the 000 between 0x and 1A are simply leading zeros (Like for example something that costs $0.01, the zeros can be safely removed, and we are left with something that costs 1c).
    Which leaves you with a memory location value of 1A.

    The next question you are probably thinking now is how do I find this memory location in my EEPROM file.
    Thankfully, most Hex editors take the hard work of locating the memory location by displaying the current position that you are editing, at the bottom of the page.
    Here are two examples, using memory location 0x0001A as the location that we wish to edit.
    The first image shows the current cursor location in the EEPROM file, and at the bottom left of the screen,
    the EEPROM memory location (In Hexadecimal), for the Gnome Hex editor in Linux.

    The second image shows the current cursor location in the EEPROM file, and at the bottom left of the screen,
    the EEPROM memory location (In Hexadecimal), for the Windows Hex Editor.

    In the above examples, the top left circle shows the current hexadecimal value for the current memory location.
    The top right circle show the current character representation of the hexadecimal value.

    Most of the time, data will be entered directly as a hexadecimal values, using the left hand side of the form.
    For some vales, such as VIN numbers, and raw text, te right hand side of the form should be used.
  • View new posts
  • View unanswered posts
  • Who is online
  • Statistics
  • In total there are 191 users online :: 1 registered, 0 hidden and 190 guests (based on users active over the past 5 minutes)
  • Most users ever online was 405 on Sat Mar 30, 2024 1:42 am
  • Registered users: Google [Bot]
  • Total posts 6776
  • Total topics 671
  • Total members 62803
  • Our newest member Dazzak