Tuesday, July 9, 2013

How to fix a Bricked BIOS


Disclaimer:  If you shock and kill yourself, it's your own fault.


BIOS (Basic Input/Output System) has been the firmware interface for PCs for what seems like forever.  With EFI (Intel's Extensible Firmware Interface) and now UEFI (Unified Extensible Firmware Interface) marching forward BIOS is slowly slipping its way into the legacy genre. The technique I describe below can apply to both BIOS and UEFI.  To keep things simple I will just refer to both as BIOS. 

Modding your BIOS is fairly easy.  You can save, modify, and then re-flash your BIOS by booting into an OS (usually DOS) and then running a flashing utility. When modding your BIOS there are some cases where you paint yourself into a corner and "brick" your BIOS rendering your computer useless.  If you modify your BIOS and then upon restart find you are unable to boot into an OS (and thus cannot flash your BIOS) you can use the following technique to un-brick your hardware.

1. Obtain a motherboard with the same chipset and un-modded BIOS

2. Boot to your OS with the flash utility.

3. While the computer is running (be careful... this is like live surgery) remove the BIOS chip from the board.  Be sure to note where PIN1 is located (there is usually a dot indicating PIN1).

4. With the computer still running insert the "bricked" BIOS chip.
5. Run your flash utility to flash the chip back to a working BIOS.
6. Power down the computer and return the BIOS chips to their respective boards.

You now have un-bricked your chip and have a working BIOS and hardware. If you've bricked your BIOS I want to hear about it -- Leave a comment below.


Monday, July 1, 2013

Chicago Electric Digital Timer Hack: Seconds Resolution

This modification takes a cheap digital appliance timer -- like the one used to turn your christmas lights on and off -- and modifies it to enable scheduling ON/OFF to the nearest SECOND.   This hack is poorly documented so I figured I post what I know here.

BACKGROUND

The best consumer appliance timers only allow you to schedule down to the nearest minute. With most you are lucky to even get that accuracy.  So why would you want to schedule something down to the nearest second?  Well, for the general population this probably won't help you much; however, for the DIY community this is a must have and I'll show you why with a recent project of mine.

I built an automatic dog feeder (if there is enough interest I may post the design later). The feeder puts the exact amount of food in my dog's bowl in the morning and night. For this design I didn't want to to use a 555 circuit or an Arduino... I just wanted to use a simple/cheap appliance timer to turn it on and off.  Well, when I finished the dog feeder I found that it only took 5 seconds to dispense the food.  If I let it go the whole minute then there would be a pound of food waiting to push my dogs into obesity.  Hence, I needed an appliance timer that was capable of scheduling ON/OFF times down to the nearest second.

Meet the Chicago Electric Digital Timer (#95205).  It sells at Harbor Freight for $10 or on Amazon for about the same.  This timer is capable of being modded to enable second-resolution scheduling.  

So let's do it...

1. Open it up. There are four philips screws on the back and another four on the back of the display section. On the circuit board the display plugs into you will see two pairs of solder pads below C7.
2. The left pads enable 12-hour format (vs. military time) and the right pads enable the second-resolution scheduling.  Solder each set as shown.
3. Reassemble.




You can now see on the display the seconds.  Now for programming
4. Set the time by holding the CLOCK and the WEEK/HOUR/MIN buttons.
5. Plug in the timer and appliance and press the PROGRAM button.
6. Use the WEEK/HOUR/MIN buttons to set the start time.  For seconds, use the ON/AUTO/OFF button.
7. Now, press PROGRAM again and set the off time in the same manor.

You're done. I'm interested what other uses people are using this for.  Post your ideas or questions in the comments section below.