What is flashing the BIOS?
Updated: May 15, 2019
So you’ve heard of this thing called flashing the BIOS?
Hearing the word flashing, some interesting thoughts might pop into your head. As it relates to electronics, flashing can look and sound intimidating, but the process is pretty straight -forward. My goal here is to provide you with general knowledge about the process and a good starting point for anyone that is curious about what’s involved.
What is flashing?
Flashing is essentially the procedure in which an external device is used to read a rom image or bin file that is located on a bios chip. This allows a person to then modify, read, or write to that bios chip. All this can be done without the use of proprietary software. In some instances, an external device is not required. If an external device isn’t required then you can simply internally flash making the job a lot easier. It just depends on your system and if the chip has an internal lock. Usually a quick search will tell you if you can internally flash it.
What is an external device?
There are countless external programmers out there, most commonly and well documented devices are: Raspberry Pi, Beaglebone Black, and Ch341a USB. The Raspberry Pi connects to the bios chip via a c-clip that then goes into the headers located on the PIs board. The beaglebone black uses the same method above but the difference is that the operating systems are different as well as basic setup of the device. The Ch341a is a bit different in the sense that, it is a usb device that you connect to your computer and has no operating system of its own. The benefit of this is you can use Windows or Linux with this device. There are two ways to use this device: you can connect an ic clip from your bios chip to the device or desolder your chip and solder it onto a 8sop board and then connect it to the device.
Which device should I use to flash?
It’s a tough decision to make, especially if you’re trying the procedure out for the first time. There are a few factors to consider when making the decision on which device to buy. What I think everyone should consider is: ease of use, documentation, and price. The Raspberry Pi is my favorite because it has so many features you can use, not just flashing..With the ability to install a desktop-like Linux based operating system, it makes navigation and research possible if you should run into any issues.The cost of these can be had for as little as $20.00 depending on the model.
The Beaglebone Black is similar to the Pi in configuration but lacks an easy-to-use interface. From my experience and others, it can be troublesome to set up properly. But, I’ve heard of a lot of success stories with such devices. These can be purchased for around $35 dollars.
The Ch341a programmer is for those people who only plan to exclusively use their flasher for the single purpose of flashing.I’ve used this many times and enjoy the simplistic aspect of it. This device can be used with a Pi or a Windows system. The cost of these are around $9 plus another $9 for the ic clip. The only downside is it lacks a lot of user friendly documentation, and software and drivers can be a challenge to find. Overall, all the programmers I mentioned can achieve flashing but come with their own pros and cons. Additionally, a few more pieces of hardware will be required to start the flashing process.
Additional hardware that is needed
After you’ve decided which flasher you want to use, you’ll need to purchase a few more things before you can start the procedure.
SD card 8gb minimum of using Pi or Beaglebone (I recommend a 32gb SD card)
Breadboard wiring male-male
8 or 16 pin clip such as a Panoma 5250, or 5252. This will be dependant upon how many pins your bios chip has
Download of operating system if using Pi or Beaglebone
CH341A software and drivers if using this device
I suggest purchasing all the above at once so you’re not waiting around for parts to come. Once you have everything,you can begin the process. In a follow-up post, I’ll give a demonstration on how to read the contents of your bios chip using a Ch341 or a Pi.
Tips when flashing
Many headaches can be avoided when trying the procedure out for the first time. Some general advice you may find useful.
Find schematics of the Pi or Beaglebone header and properly connect them to your clip
Try not to use breadboard wires longer than 10MM
If using a Pi for the first time, install updates, as well as enable SPI in preferences
Do not try to hook your clip up to your chip with your computer turned on
Do not give more than 3.3V to your chip
If your chip isn’t detected do not hard power down your Pi or Beaglebone by removing the power source. Use the command terminal for powering down, as a hard power-down can and will lose system files.
If chip isn’t detected, re-check your wires to make sure they’re going to the right header pins.
When hooking your clip up to your chip make sure you open the clip up fully, and then gently seat it on the pins. The clip should firmly sit on the chip
I do not suggest desoldering your chip if you have little experience using a soldering iron. Find schematics for your chip, and make sure you have the proper chip name and manufacturer before reading, or writing to your chip. Always save the original rom image and export it to a safe location.
Flashing can be a scary thing if you’ve never done it before, but with patience and research flashing can be a easy task. Once you have successfully flashed your device, you will begin to understand the potential for this skill. Should you still have questions about flashing you can email me directly, or wait for my follow-up post where I’ll give a complete step-by-step tutorial on how to properly use a flashing device.