ROM dumping is vital for preserving old hardware, and we’ve seen many hacks dedicated to letting someone dump a ROM and send its contents to some hacker stuck with a piece of technology that lost its firmware. However, that requires ROM dumping tools of some kind, and it’s often that the lucky ROM-equipped hacker doesn’t own such tools. Now, you could mail the chip to someone else, but postal services in many countries are known to be UDP-like — lossy and without delivery guarantees. The risk of leaving both hackers without a ROM chip is quite real, so, instead of mailing ROM chips or expensive devices around, [Amen] proposes a cheap and disposable flash dumping tool that you could mail instead.
The ROMs in question are 24-pin 2332 and 2364 chips, which run at 5 V and can easily be read with any microcontroller. Thus, his concept is a very simple board, with a Pi Pico and flash chip socket on it, as well as some resistors. Those are used to provide rudimentary GPIO over-voltage protection, since the RP2040 runs its GPIOs at 3.3 V. All the magic is in the software – the tool can both write the chip contents in the RP2040’s internal memory, as well as dump it over USB to the computer. Everything is open-source – if you ever need to dump a rare chip on the other side of the world, modify the design to your liking, order a few copies and then mail them to the hacker involved – losing such a package is way less significant than losing a ROM chip with last-of-its-kind firmware on it.
Old ROM chips are dying out, causing whole generations of hardware, like synths, to fade away – with tools like this one, you can lend a hand in preserving the legacy of many an industry and hobby, and many hackers do. Looking to learn about the basics of parallel flash dumping? This post from 2012 will be a good start, and then check out a more recent venture to learn how things are done with more recent parts.
25 thoughts on “A Disposable Dumper For ROM Chips With A Pi Pico”
I appreciate the ‘disposable’ nature being in relation to the mailing systems worldwide and potential for loss, rather than use-it-bin-it.
I read ‘disposable’ and was a little bit angry at first.
But then I read the article and ‘disposable’ is more like ‘postable’ and I’m happy again :D
Glad I’m not the only one that took a ride on that same emotional rollercoaster!
I’m still angry about the whole “disposable” thing.
Perhaps the word “expendable” would have been the better choice, but that’s less dramatic. Unless you make an action movie about it, but I digress.
Yes, the word is expendable.
As in if it doesn’t make it through the mail system you can just send another. I would argue the PCB is even more expendable, so if you can order the Pico through legit channels and marry them yourself (possibly only soldering the necessary pins so you can get your Pico back
Disposable makes it sound like after you use it to read the ROM you will throw it away. You will likely keep it to use in another project: HID keyboard/game USB, SPI i2C chip reader, etc etc etc.
Might be the title is clickbait, or something was lost in translation.
I for one am ready to see RP2040 based programmers replace CH341a and other programmers.
I had to pick the word that sounded well (‘postable’ does not) and describes the distinguishing capabilities of the device well enough. IIRC the original article uses ‘disposable’ too?
I read it first as a disposable “diaper”, that’s what parenting does to you.
Why use a Pico ? Super cheap out. On Ebay 100’s of readers & Programmer covering 10000’s of devices. For less than $100.
You must be new here. Why spend “less than $100” if you already have the parts to make this sitting in a drawer for free. Anything off ebay is going to take 5 days to get to you, sometimes you don’t have the time to wait that long.
The whole point of this device is that it’s cheap, to mitigate the cost if it gets lost in the post.
Isn’t the pico already *way* less than $100?
Pico – $3
Cheap 2-layer PCB – $30 w/ shipping for an order of 5
2.54mm headers – a few cents
ROM socket – probably a couple bucks.
So $35 or $40 all-in, $10 if you figure out a way to amortize the boards. And more fun than dropping the $100 for a product.
The cheap 2 layer PCB I used was more like $2 per PCB… Rom socket about $0.50. So really cheap, all in.
Oh interesting! Where did you get it from?
I got the PCb from JLCPCB. They have been excellent in my experience.
Why wouldn’t you just send the .bin file via the Internet?
Nevermind, I misunderstood. It’s for sending someone else a dumping tool so that they can send you the .bin in return right? Without spending a lot of money to do so.
Correct. The traditional terminology for that old tech: To “dump” a ROM/PROM is to read it back into the computer, from the chip. To “burn” a ROM/PROM is to write it from a programmer, which from that era requires 12v, which normally isn’t present, making it safe from accidental tampering unlike flash which is designed to be erased in place. To “erase” a PROM, you need a UV source (typically uv fluorescent tubes) for 30-60 minutes into via the glass window.
This was designed to be sent to a person who isn’t necessarily very adept at technical things like ROM dumping. If they are, then yes, they can grab a USB dump and email the file back. If they aren’t happy with terminal emulators and so on, then they can send the board back. It’s cheap enough to not worry about. The ROMs I’m interested in dumping are, literally, one of a kind, only one copy of the ROM is known. That sort of thing.
If you are mass producing this board, see what the cost is for the board house to put the 2040 chip and passives on there for you, maybe a USB C or A pad as well, even some edge connect fingers for a USB extension cable.
Would make the project even cheaper. Not sure what a run of those would cost. I am sure its cheaper in large quantities. Add in 25xxx series chip capability and you’ve got something even more useful, nothing atopping you from including clone headers ao its Pico combatible if needed, make the chip programmer a snap off part if it is a one time use. Silkscreen the link to the website for the programming app and you don’t even need to bootload it?
Good idea, also definitely a hack 👍🏻
Thanks, it’s been useful and hopefully will be useful in the future. I’ve built a board with an RP2040 and associated support components and it wasn’t that cheap, as the RP2040 needs a crystal, a flash chip and a few passives. In the quantities i could buy those components it was probably more expensive than the Pico. the project I did this had to do it this way for size constraints.
Yess!!! Been waiting for someone to do stuff like this, there were a couple of projects to use a pico to interface with roms but only to program them bc they were scared reading might mess the pico up bc 5v. I’m so happy bc I really wanna preserve some EPROMs on my Olivetti cwp1 but I really can’t go spend 40€ for a decent programmer and I don’t wanna spend like 20 for one that barely works, I already have a pico and I bet I can make this with a breadboard or whatnot without a pcb so that’s great
Yes, you should be able to breadboard this fairly easily. This version only does 24 pin ROMs but that is just because, firstly, that is the size of the ROMs I wanted to dump and secondly, it makes the board cheaper than adding a GPIO expander. If you need to add an expander, it’s not a huge problem. The ROM is read at whatever speed is needed, so an I2C expander would be fine.
You should be able to breadboard this, yes. This one is for 24 pin ROMs only, but with a GPIO expander you could do larger chips. The code just cycles all inputs to the ROM and reads the data, it doesn’t know anything about chip part numbers. There’s a bit of post processing needed, but that’s fine, as you have the data at that point.
Please be kind and respectful to help make the comments section excellent. (Comment Policy)