That Old ThinkPad Needs An Open Source 2.5″ IDE SSD

So you fancy yourself a FOSS devotee, do you? Running GNU/Linux on your old ThinkPad, avoiding devices that need binary blobs? Got LibreBoot installed too? Not bad, not bad. But what about the hard drive? Can you be sure you aren’t leaking some freedoms out of that spinning rust?

Well, worry no more. Thanks to the work of [dosdude1], we now have an open source solid state drive that’s designed to work with any device which originally used a 2.5 inch IDE hard drive. The choice of releasing it under the GPL v3 versus an open hardware license might seem an odd choice at first, but turns out that’s actually what the GNU project recommends currently for circuit designs.

Fair warning: all the chips on the board are BGA.

Which is precisely what we’re talking about here — just a circuit design done up in KiCad. There’s no firmware required, and the PCB features very little beyond the four BGA152/BGA132 NAND flash chips and the SM2236 controller IC. You’ve just got to get the board fabricated, obtain (or salvage) the chips, and suddenly your retro laptop is sporting the latest in mass storage technology.

So how does it work? The SM2236 is actually a CompactFlash (CF) controller, and since IDE and CF interfaces are so similar, the PCB doesn’t have to do much to adapt from one to the other. Sprinkle in a few NANDs, and you’ve got yourself a native SSD suitable for old school machines. [dosdude1] says the board can slot four 64 GB chips, which should be more than enough given the age of the systems this gadget will likely be installed in. There are a few catches though: the NAND chips need to be supported by the SM2236, and they all have to match.

If you need something even smaller, [dosdude1] produced a 1.8 inch SSD using the same techniques back in October of last year.

25 thoughts on “That Old ThinkPad Needs An Open Source 2.5″ IDE SSD

    1. These are notoriously known to have a weird firmware that prevent many machines (their BIOS more precisely) to boot from them even with the correct geometry settings and awkward partitions structure.

  1. Nice! One thing though, the SM2236 states that the select wire aught to be pulled up when in slave mode, but your PCB leaves it floating. Hence this setup will work for marster and cable select, but not (properly) in slave mode.

    1. Of course there’s a blob on the (rather complex) chip, but does it matter? You don’t have to know what’s going on inside the chip, you just use it in your open design, same as with any other chip which doesn’t run code. Should’ve used a 555 instead.

    2. True, but I’m a lot less worried about what some old CF card controller can do than a network card or even BIOS that I can’t peek into.

      Realistically, any kind of storage controller is going to have some kind of logic or code onboard that we can’t get access to, but at least this one is on a GPL PCB and we have a fighting chance of auditing it.

      1. The comment was made with tongue firmly in cheek as was a lot of the first paragraph of the article I’m sure. A chip intended for CF cards probably isn’t the low hanging fruit or high value target so far as motives for malfeasance or malicious intent go. Conversely it does have an alibi for being in a lot of places. Wouldn’t hurt to have the ROM dump or source code to check.

        So far as the freedom stealing goes the blob exists because it needed to exist and probably doesn’t engender a strong philosophical stance.

  2. Forget the ThinkPad this would be great for some older consoles.

    The original Xbox has an internal HDD as well the PS2. Both can play games from the hard drive.

    I don’t think it’ll work with the Dreamcast which people have hacked to add an IDE HDD. I wonder if this has been featured on HaD actually?

  3. “You’ve just got to get the board fabricated, obtain (or salvage) the chips” <- you're missing the point. That's faaaaaar from being what's "just" needed.

    You need to solder a lot of bga chips. As mentionned in your "fair warning"

    And that's really the hard part. Sure, i know, it's "easy". You just needa watch some videos…

    1. My comment exactly- This is a solved problem; Just use an IDE to CF card adapter; similar size foot print (or smaller!), zero moving parts, and performance is “good enough”. (CF cards tend to max out at ~160 MB/sec, which is fast enough for UltraATA speeds) And when the CF card does die, replacement is as easy as swapping the card out with a new one and restoring from backup.

      It’s an interesting article and impressive, but for mere mortals without a BGA reflow setup, it’s a little overkill.

      1. But a nand flash controller supports wear-levelling, which extends the lifetime of the flash memory on systems that do frequent reads and writes to flash. I doubt that a CF card would have such built-in features. They’re primarily meant for things like photo and video, which are more of a write-once read-often type of data.

  4. i don’t understand the appeal i guess? there are just so many off-the-shelf ways to interface modern flash with old PCs.

    but i’ll just leave this anecdote. one of my few lockdown projects was resurrecting an ancient 486 laptop. to my surprise, the double-height pcmcia spinning disk still kind of worked. but to make it actually usable i decided to buy a modern pcmcia ssd. the treat was finding the scanned ads from an old edition of like ‘computer shopper’ magazine. they were selling this laptop for thousands of dollars and pcmcia SSDs for about the same price! i remembered being young and looking through computer shopper and browsing all this unaffordium 30+ years ago so it really made me feel like royalty when i just went to ebay and paid $40 for a 128MB card.

  5. I have purchased some OEM IDESATA drives on the Amazon. (Around $50) I do like the IDE to SATA connector for under $10.00 USD. I buy SATA pulls for $10 to $20, so that’s good.

  6. I enjoy reading these articles even though I am only a beginner. The projects themselves are interesting & comments bring additional enlightenment. Thanks to all who contribute.

Leave a Reply to ManfredCancel reply

Please be kind and respectful to help make the comments section excellent. (Comment Policy)

This site uses Akismet to reduce spam. Learn how your comment data is processed.