Jan 7, 2011

DIY Flash EEPROM BIOS Programmer

I got this Gateway Dx4300 computer motherboard with a dead BIOS chip in it, that wont start at all, so I figured it must be a corrupt bios. The motherboard was kinda nice that supports Phenom II quad processors & DDR3 ram (I think) .. so I didn't want to waste it just because it had a bad bios chip.


Buy a replacement bios chip you say ? .. sure , but i dont feel like spending $25-$35 right now for a motherboard i got for free .. so I had an idea to build a simple BIOS programmer that I can build & use to save his board and possibly others in the future ..

so the bios chip was an Macronix MX25L8005 (1MB) .. and .. luckily, it sat on a socket (not soldered in) ..


After some research, I found a few DIY kits & projects along with comercial ones like the Willem, Acron, SMARTPRO ..etc , they were all expensive. Eventually I stumbled upon a design that will probably do the job, so I built the simple circuit & started experiminteng with it .. a few attempts later, I was able to reflash the chip with a new bios that saved the motherboard from the garbage man, later I decided to add some improvements to this design to make it more convenient to use in the future.

My design is based on RayeR's with slight improvements, I have added a voltage regulator to power it directly from USB port, a switch and some LED indicators ..

Supported chips (and possibly others):

AMIC
SST
ST Microelectronic
A25L05PU/PT (64kB)
A25L10PU/PT (128kB)
A25L20PU/PT (256kB)
A25L40PU/PT (512kB)
A25L80PU/PT (1MB)
A25L16PU/PT (2MB)
A25L32PU/PT (4MB)
A25L64PU/PT (8MB)
A25L512 (64kB)
A25L010 (128kB)
A25L020 (256kB)
A25L040 (512kB)
A25L080 (1MB)
SST25VF010 (128kB)
SST25VF020 (256kB)
SST25VF040 (512kB)
SST25VF080 (1MB)
SST25VF016 (2MB)
SST25VF032 (4MB)
SST25VF064 (8MB)
SST25VF128 (16MB)
SST26VF016 (2MB)
SST26VF032 (4MB)
SST26VF064 (8MB)
M25P10 (128kB)
M25P20 (256kB)
M25P40 (512kB)
M25P80 (1MB)
M25P16 (2MB)
M25P32 (4MB)
M25P64 (8MB)
M25P128 (16MB)
EON
Winbond
Macronix
EN25P16 (2MB)
EN25P32 (4MB)
EN25P64 (8MB)
EN25P128 (16MB)
EN25F16 (2MB)
EN25F32 (4MB)
EN25F64 (8MB)
EN25F128 (16MB)
W25X10 (128kB)
W25X20 (256kB)
W25X40 (512kB)
W25X80 (1MB)
W25X16 (2MB)
W25X32 (4MB)
W25X64 (8MB)
MX25L1005 (128kB)
MX25L2005 (256kB)
MX25L4005 (512kB)
MX25L8005 (1MB)
MX25L1605 (2MB)
MX25L3205 (4MB)
MX25L6405 (8MB)

Spansion
Atmel

S25FL004A (512kB)
S25FL008A (1MB)
S25FL016A (2MB)
S25FL032A (4MB)
S25FL064A (8MB)
S25FL128P (16MB)


AT26DF041 (512kB)
AT26DF081A (1MB)
AT26DF161A (2MB)
AT26DF321 (4MB)




NOT BAD AT ALL FOR A $5 HOME-MADE FLASHER !!!


The finished PCB in action, just remember to erase the chip first before re-programming, it works best that way... the extra 3 pin white-connector you see is for my personal use to get +5VDC & +3.3VDC directly out (optional) .. you don't need to have that.

Software ???

There are many option out there that work with SPI based LPT port programmer .. I tested a few, SPIPGM (DOS) worked best for me .. the pic below is from a Window$ based GUI that I also tested .. and finaly, I will definately make a nice housing for this PCB and add a ZIF socket to make it more convenient to use ..


And off-course .. here's the schematic ..


This project being written by Nader Gator all works are credited to him.

5 comments:

What software you used? Can you included. tnx

yes, this was one of my old projects I've developed, thx for sharing :) .. nadergator.com

Fortunately for me,this is what I have been looking for, Thanks a lot which windows based software can I use?

Any SPI based software would work, I think I used a dos-based sw on win xp back then ;) .. NaderGator.com

Post a Comment