Unbricking With The Help Of Arduino


This bricked Eee PC came to [Janzo] for about $50. Everything was fine with it, except for the failed bios update that rendered it useless to the last owner. [Janzo] set to work with an Arduino on a quest to repair the bios. He looked up the datasheet for the EEPROM that stores the bios and did some delicate soldering to gain access to the power and data pins on the device. A bit of trial and error and he was able to read the registers. Some comparisons between the output file and the official Eee PC bios file in a HEX editor confirmed that the first 80 bytes were fine but after that something went wrong. After coding a quick Python script [Janzo] reflashed the chip and had the computer up and running again.

We’ve seen Eee PC bios recovery before. This is a very simple method because it makes use of the simplicity we find in the Arduino. Nice job.

34 thoughts on “Unbricking With The Help Of Arduino

  1. That arduino is totally overkill. He really ought to have whipped up a board in eagle, sent it to china to be etched, placed smt parts, done a second board rev and then flashed the chip.

    Instead he did something clever. Nice hack!

  2. Most modern BIOSes including the Eee PC can be recovered from a bad update with a bootable USB drive and the appropriate BIOS file. It’s usually something like Win + B at boot to start it but in the case of Eee PC just having it inserted with the appropriate files works.

    Is there some reason this procedure could not be done?

  3. @Pete are you sure? Booting from a USB drive is usually something that you would NEED a bios to be able to do.

    @BigBubbaX if it’s not, you could always sell it for $50-$60 to someone here. :-P

  4. I guess the Eee PC doesn’t have fail safe bios? Most modern computers have backup bios for when you mess something up or at least a way of re-flashing a bad bios flash.

    It could also be that because of it’s size and it’s design to be an affordable way of computing, that the price and form factor didn’t allow such a luxury.

  5. Great job on recovering someone else’s “junk”!
    I love it! Reminds me of the Xbox days in a remote way :)

    Pete: Interesting idea! I wish I had broken hardware to try it out. I am just wondering if the floopy or usb controllers are available to even write to the BIOS/ROM? That would be my guess why it may not work for his. Lemme know if anyone gets it to work as this would be great for future ebay purchases :)

  6. @Mikey Yes certain, it’s some sort of additional part of modern BIOSes that is not overwritten during a BIOS flash. I have used it on a bricked phoenix BIOS before but it’s also seems to be on most now in slightly different ways.

    For mine it was Win + B with USB drive plugged in it then beeps (and flashes if your drive has a light which is handy) leave it a while to be sure switch off, Fixed.

    You need to be sure your USB drive is setup to be bootable (with HP USB Disk Format Tool or similar) formatted FAT16 and the BIOS ROM is named correctly.

    Probably best to look for instructions on the internet for each BIOS. If you search for BIOS Recovery you should find details.

    I confirmed my USB stick by first making it an MS-DOS boot disk and using it on another computer then adding the required ROM.

    @blue carbuncle There is still the possibility that part of the BIOS could be corrupt hence this approach not working but I think it’s unlikely. From my previous experience working in a computer shop most people brick there machines BIOS when a flash fails.

  7. lol, I have an old IBM Thinkpad that needs a bios flash to run Ubuntu correctly. I haven’t been able to do it, due to the fact that the software requires a full battery charge and outlet power before it will flash, but my battery is beyond toast. :p

  8. The CPU blades that we develop at work have a USB/serial recovery method that accepts a USB stick with a BIOS.ROM file on it, or if that fails, you have XMODEM serial BIOS recovery.

    This is assuming the recovery portion of your SPI device isn’t corrupt as well.

  9. I can attest that Pete is telling the truth. On my eee 1000h, it’s alt-F2.
    It finds any usb device that has a 1000h.rom in root and installs it.

    I’ve also seen motherboards that can boot from a bios file stored on media.

  10. Wow do it the hard way….

    “bricked” bios is easy as pie.

    Get a motherboard or PC that is identical just to use for a couple of minutes.

    Boot with bios update software.
    chip puller to yank good bios live… yes live.
    install bad bios
    swap back.

    All done.

    In fact I found that you dont even need the same board, just a compatable one that has the same bios chip. Works great.

  11. fartface, that is the most retarded thing I have read today

    1) yes cause everyone is going to have a dupe motherboard for some random ebay scrap

    2) when was the last time you have looked at a pc motherboard, I havent seen a socketed bios since DOS was still in wide use

  12. @ osgeld – i have loads of mobos just lying around. But true, not everybody has a hot air gun for those soldered BIOSes. However if you do it’s a whole lot easier than rigging a micro up.

    But props for some clever use of an Arduino. All those clocks were kinda getting on my nerves.

  13. When the bios is properly fried it won’t address the keyboard and or the usb ports. Either that or it is listening in the wrong place. I know, because I have a 900a that fried itself on a bootable USB with Lucid upgrade. So the bootable USB and Alt F2 doesn’t work. The device is not quite as dead as a parrot – three lights come on – but it is unreachable. I was dreading the unsolder option so I shall try this very soon.

  14. Wow thanks guys for all those reactions !
    I’m glad i could show a useful manner of setting the arduino up! (among million others)

    For some of you i gotta apologize as I’m not so rigorous, thus I didn’t design a “reusable” nor user-friendly tool to share… But still I kept my Python & Arduino scripts ^^

    BTW, the Eee still works, as new !

Leave a 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.