What do I need to read/program this old flash chip? - Page 1
Forum section: electronics / beginners

author: sazrocks
author_rank: Newbie
timestamp: July 05, 2023, 08:42:23 pm
content: I have an old failing Flash chip from a digital speaker that no longer holds its configuration anymore. It is an AMD AM29F010B, and luckily it is socketed so I shouldn't have to program it in circ. I found the datasheet for it, which I've attached to this post. I have obtained some more working chips of the same model that I'm hoping to copy what remains of its configuration over. I'm much more of a software guy, so I have no experience at all when it comes to programming/reading data directly from a flash chip. What kind of hardware would I need to be able to do this, and are there any common pitfalls I should watch out for?

author: edavid
author_rank: Super Contributor
timestamp: July 05, 2023, 09:01:03 pm
content: Normally you would use a device programmer such as some version of the TL866 to read and program a 29F010.How did you decide that the 29F010 is the problem? Usually it would only be used to store firmware, with a small EEPROM like a 24C64 used to store the configuration data.

author: alm
author_rank: Super Contributor
timestamp: July 05, 2023, 09:05:33 pm
content: I agree with edavid that it seems uncommon, though not impossible, to use flash memory like this for configuration storage. But to answer your question:I'd say get or ideally borrow (if it's a one of) an EEPROM programmer. If you're buying new, then I think Xgecu T48 is the most popular that's available new (it's the successor to the TL866 programmer). If it's DIP (rectangular with pins on two sides pointing down), then you won't need any adapters. If it's PLCC (square with pins on the side), then you'll need an adapter for that programmer (they are not necessarily interchangeable between brands), or a kit of programmer with adapters.I'd say the common pitfalls are either damaging pins during removal from the socket: try to extract it vertically my carefully levering a screwdriver between bottom of the chip and socket on both short sides alternatingly, and putting it in the socket upside down. On the PCB carefully note the orientation (notch on short side of the IC), and in the programmer double check the orientation and which side of the ZIF socket it should be aligned with.

author: sazrocks
author_rank: Newbie
timestamp: July 05, 2023, 09:40:23 pm
content: Thanks for the pointers on programmers to buy. I want something that I can use for stuff like this in the future, so I'll get a kit for the Xgecu T48 off Amazon. Is there specific software I'll need to write to this specific chip or would it be generic?Quote from: edavid on July 05, 2023, 09:01:03 pmQuote from: alm on July 05, 2023, 09:05:33 pmI have a few of these speakers (Meridian DSP33), and some have more issues than others. When I swap the flash chips around to different speakers, the behaviors (showing errors, not holding configuration, etc.) follow the chip, leading me to think that the chip is the issue. I didn't see any of the other chips on the board being listed as EEPROMs, but I couldn't find everything online. I've attached a few pictures of the board to this post.Luckily the chip is DIP so from your post it looks like I won't need any adapters. I might get the kit that has them though just for future projects.

author: alm
author_rank: Super Contributor
timestamp: July 05, 2023, 09:57:24 pm
content: Quote from: sazrocks on July 05, 2023, 09:40:23 pmThe software that you download from the manufacturer's site is all you need.Quote from: sazrocks on July 05, 2023, 09:40:23 pmIt's possible the firmware in the 29F010 got corrupted, and in that case copying the firmware from another speaker might fix this. The pictures are too low resolution to read any marking, but my guess would be one of the two 8 pin chips above the SMT K.F. sticker in your first picture are serial EEPROMs e.g. 24LC...

author: sazrocks
author_rank: Newbie
timestamp: July 05, 2023, 10:22:34 pm
content: Quote from: alm on July 05, 2023, 09:57:24 pmOops, I uploaded the thumbnails and not the full res pictures, my bad. I've attached them to this post, hopefully I did it right this time.I took a closer look at those smaller chips, the bottom one is a microchip 93LC66B, and the top one is a DS1232L. The microchip is an EEPROM, so unfortunately this might not be as easy as I'd hoped if it is actually the culprit. Could I use the clamp in this kit (https://www.amazon.com/XGecu-TL866-3G-Programmer-TL866CS-Replacement/dp/B0BG8W7W2W) to reprogram a new one, or would I need something else?

author: CaptDon
author_rank: Super Contributor
timestamp: July 06, 2023, 12:59:49 am
content: I can confirm unusual memory problems with aged 29F010 flash memory. I believe ours were mostly AMD but it has been a while since I dealt with it. They would 'self corrupt' during power up/down cycles and our software would kick out "Flash Memory Error At Location XX" XX being a letter followed by a number which was the chip location on the PCB. When we re-qualified a different brand we ran 100,000 power cycles looking for corrupted data reports. As I recall, some of our replacements were supplied as a TSOP surface mounted to a DIP-32 header. The problem seemed more related to date code and not to total read/write/erase cycles. I have some here marked AM29F010B-55PI 937MB355 G C1998. I believe these may be from the flawed batch?

author: sazrocks
author_rank: Newbie
timestamp: July 06, 2023, 03:20:44 am
content: Quote from: CaptDon on July 06, 2023, 12:59:49 amMaybe. I scraped the sticker off one of the chips and the full marking is AM29F010B-120PC 0026MBM G ©1998. Hopefully the replacements I ordered are from a different batch. Do you know of a different brand that would be a drop in replacement?

author: CaptDon
author_rank: Super Contributor
timestamp: July 06, 2023, 01:51:05 pm
content: I don't recall who our replacement supplier was and I have retired from that company. It seems their new production was all surface mount packages and to fill our DIP-32 requirement they had the little 3/8" tsop square package mounted on a DIP-32 header. I do recall having taken nearly 1 month to do 100,000 power cycles in the temperature chamber to qualify the new vendor!! What caused the power cycle testing to take so long was that our P.O.S.T. firmware tested and confirmed checksum matches on all the 29F010 chips and I think there were 16 on the board. These chips stored locomotive sensor data in a log file for troubleshooting field breakdowns. The flash chips collectively held about 3 days of log data and we calculated they wouldn't wear out for at least 200 years, but we found corrupted data with age and power cycles, and possibly heat from the locomotives not in use being shut down and baking in the southwest U.S.A. sun.

author: sazrocks
author_rank: Newbie
timestamp: July 14, 2023, 09:05:43 pm
content: @edavid @alm I got the new batch of eeproms, and after carefully following the eevblog rework tutorial, managed to get a new eeprom soldered onto the board. I did use the Xgecu T48 kit with the ICSP clip to pull the configuration off another known good-ish eeprom and load that onto the new replacement. I can now configure the speaker perfectly and it holds its configuration! Thank you so much to both of you for helping me with this.Now the new batch of firmware flash chips needs to hurry on up and get here so I can replace the couple of those that are dead.