Flashing a BIOS chip with a netduino

Long story short, I was downloading all the update packages for someone’s laptop from Toshiba’s website and included was a BIOS update. About halfway through the laptop locked up and I had to force it to power down after an hour or so… I attempted the BIOS recovery but made it worse and now it won’t even turn on.

After completely dismantling the laptop, I’ve found the BIOS chip. It’s one of the W25X16A series by winbond. After acquiring the datasheet I discovered that the chip is serially controlled with the standard MOSI, MISO and SCLK pins. I was initially hoping to interface directly with the chip but as it’s an 8-pin SOIC there’s no easy way to connect (without soldering, which I don’t particularly want to do), so I went on a hunt for a clip…

The professional grade clips on eBay sell for approx. £20, but as I didn’t want any extra expenditure and the clip should only need to be done once I opted for a cheap chinese remake. See here: http://www.ebay.co.uk/itm/EEprom-CLIP-SOIC-8pin-8-pin-1pcs-cable-/400171159037?pt=Motors_Automotive_Tools&hash=item5d2c0f4dfd

So now that I can connect to the chip, the next immediate problem was interfacing with it. In my haste to get the parts quickly and cheaply I bought a USB to serial adapter (always research first, learn from my mistakes!). It turns out that standard serial ports work at +12v/+5v to -12v/-5v and the serial chip I had works between gnd and 3v signals, and I definitely do NOT want to fry the BIOS chip (I never want to attempt to solder an SOIC chip…).

How should I overcome this problem? A MAX232 will do all this work for me :slight_smile: This chip converts between RS232 and TTL signals. Technically I should be using a MAX3232 as that converts between RS232 and 3.3v levels, however the MAX232 is cheaper and although it’s rated for 5v, I have read numerous reports that it can also work for 3.3v (even if it doesn’t, I can always power it with 5v and feed it 3.3v data, it should still pick it up as positive). Here’s a cheap converter board I ordered for this purpose from hong kong: http://www.ebay.co.uk/itm/MAX232-RS232-Serial-TTL-Output-Converter-Board-RXD-TXD-RTS-CTS-F-PIC-Atmel-/300684390513?pt=UK_BOI_Electrical_Components_Supplies_ET&hash=item46022fb071

With my clip to interface with the chip, some jumper wire between that and the MAX232 and that connected to the serial to USB converter I have everything I need to interface with this chip. However, instead of getting my hands dirty writing some windows software I wanted to have more hardware control, so I decided to use my netduino!

I have had a netduino for a while now and have used it for making numerous fun electronic projects. Writing code in the familiar visual studio IDE with full debugging support and the .NET micro framework is just awesome for hardware prototyping. The last thing I used it for was to play old nokia ringtones (monophonic) with skip control (a push button) and a serial LCD for displaying the current song, current beat, bpm, etc. This controller is definitely powerful enough to do this job.

Now the netduino uses 3.3v for logic but it’s ports are 5v tolerant so it can accept TTL input signals. It has 2 built-in UARTs (serial ports) for us to play with :slight_smile: . I have ordered a USB to UART board for 2-way communication between the netduino and the PC, and the other UART will be connected to the BIOS chip. I may attempt to get the serial LCD to work by using bit-banging but it really depends how many headaches I want :slight_smile:

See attached pictures for the netduino and the BIOS chip on the laptop motherboard, I also have a basic PDF made in visio displaying the basic circuit design (pin designations are incorrect and vital components are missing, it’s for reference only).

So, all the parts have been ordered, I’m just waiting for them to arrive. As soon as I do I’ll update this post and bump for any who’re interested. I’d love to hear everyones thoughts and any comments below!


The BIOS chip that I need to fix (is a lot smaller in real life!)


My trusty Netduino to the rescue!

Update 1 - SOIC clip arrived!
So today the SOIC clip arrived which means I can connect my netduino to the BIOS chip and perform some basic operations (I want to verify what information is currently on there, back it up just in case, etc.). For now all I’ve done is connected it up, but as soon as I’ve written the code I’ll paste it here for you all to steal see.

See the attachments for pictures of the BIOS chip connected to the netduino :slight_smile:


Netduino on the left (with pack of cigarettes for scale), connecting to ribbon cable of the SOIC clip (right), which connects to the BIOS chip on the motherboard (in the distance)


The clip attached to the chip (you have no idea how fiddly it was getting this cheap bastard on there!)

Almost the same thing happened to me when i flashed my BIOS.

Sadly, I could never fix it, so i just tossed the computer(it was cheap) and kept the HD.

That PDF is a disgraceful use of Visio, you can do much better, newbiehacker

I could have done but seeing as I only made it so that others here could understand it I couldn’t really be arsed. If I really wanted to show off I’d recreate it in SPICE + multisim and re-create the entire circuit but it would just be too time consuming

How to spot an engineer! :smiley:

(I’d have just hotplugged it in another motherboard… hehehe…)

if it was one of the old §DIP type sockets then yeah I’d hotplug it too, but the SOIC chips are fucking tiny and they’re soldered directly on the motherboard. (For an idea of how tiny it is, before I ordered the SOIC clip I noticed that the individual wires on an IDE ribbon cable were spaced just right to connect to it, but unfortunately I couldn’t get any force to keep it attached to the chip)

how much netduino code do you have to write to get it to flash the chip?

@Unhandled, how long is a piece of string? you don’t know until you’ve measured it.
Also bump for update, the SOIC clip arrived so I should be able to post some code and what information I’ve got out of the chip in the next couple of days :slight_smile:

zebra print bed sheets?

something i’d expect from Tree

No, that’s the sofa lol. All the components have arrived for this project but atm I just lost my job and a load of other shit happened so I’m waiting until I have some spare time to finish.

OP will surely deliver

[quote=“Unhandled, post:12, topic:439026”]OP will surely deliver[/quote]surely

[quote=“Unhandled, post:12, topic:439026”]OP will surely deliver[/quote]And did he?!?

OP did not I’m afraid. due to time constraints I bought a new BIOS chip and got it soldered on by a specialist. But there was obviously something I’d missed as it still didn’t power on. I ended up replacing the motherboard.
Soz!

OP is a noob