66% or better

Fixing POST errors with a single key

one_key_keyboard

Instructables user [Mike Craghead] was in the middle of building a very compact public computer kiosk when he ran into a problem with the processor fan. It was too big for the enclosure and had to be swapped out with a fan that did not allow the motherboard to monitor its rotational speed.

Motherboards don’t like this situation very much, and each time the computer was started, it would hang at the BIOS screen waiting for someone to press the F1 key to continue. Knowing that everything was just fine, and that there were no BIOS options which would allow him to ignore the error, he crafted a simple solution to the problem.

Since the computer just needed someone to press the F1 key, he figured he could rig up a small dongle that would always hold down the key for him. After verifying that the OS would ignore the stuck key, he tore apart a keyboard and traced the circuit matrix to identify which pins he had to short in order to represent the F1 key press.

Satisfied with his handiwork, he plugged the board into his computer and found that everything worked just fine. Sure it might not be the most elegant solution to the problem, but it gets the job done at a cost of zero dollars – you can’t beat that!

Comments

  1. Tony says:

    I put a 555 into a mouse once to click the left mouse button automatically. It was either that or click ‘Ok’ about 5,000 times. Crap software + no install or scripting rights leads to silly things.

    Just like the old autofire joysticks…

    Ya gotta love kludges.

  2. Paul says:

    @greg. I had a project published in CPU magazine. Now that I am qualified to comment; this hacker should have googled other alternatives. Nicely executed hack but poorly conceived. Pressing f1 could have unintended consequences in some software or webpaages. Second, there is a way to turn off alarms on fan speed in most bios menus these days. Just because you can make a hack it doesn’t mean you should.

    Again, nicely executed though. It looks clean. A+ for executing your design. D for not googling other implementations.

  3. Tony says:

    @Paul, RTFA, he states his particular BIOS doesn’t disable fan alarms.

    And since it’s a kiosk running a single app, having F1 held down isn’t a problem. That doesn’t hold true for all apps, eg FireFox, of course.

    Not the way I would have done it, but eh, it works.

  4. strider_mt2k says:

    I dunno, I would have just added a fan to the existing one. The circuit will allow for a second one in parallel to the first.

    The problem is about the fans, not anything else.

    Way way way over complicating things here.

  5. jester says:

    Stalled fans are real problems. Just make a tach sensor already. http://www.silentpcreview.com/forums/viewtopic.php?t=3565

  6. blue carbuncle says:

    Perhaps he could replace the BIOS with another one that didn’t recognize fans…or F1 keys.

    Perhaps they could put the kiosk in a supercooled room so that people wouldn’t dilly dally and the cpu would stay cool.

    A crank powered fan could be implemented so that the kiosk user has to crank the fan to find out what the kiosk even does…

    An “Out of Order” sign made out of paper and attached to the screen along with an email to the boss explaining that a certain ribbon cable had been torn and the company you bought it from sent the wrong pincount and you accidentally marked them as spam so you didn’t see their original reply until much later when it was rebounced to your crackberry in a superfluous autosync murmur.

    Have the kiosk sell recursive upskirt photos in which people in skirts go to buy upskirt pictures of other people while having an upskirt pic taken of themselves that will be sold to another person in a skirt that wants upskirt pics. Use chatroulette anti-dong technology to rule out the Scots.

    Stream hulu or something with it.

  7. beefblast says:

    Lota hardware hackers in here but few of you appreciate how limited your options are when building small/custom systems.

    I don’t blame a motherboard for not being able ignore lost fan speed signal from the main CPU fan. This is clearly out of spec.

    Don’t blame his fan choice. I know exactly the situation he’s in. In a tight fitting build there is no room for a standard CPU cooler that is designed for a full sized chassis. Part of the compromise is getting a fan that’s thin. There is an absolute dearth of sub 10mm width fans that have useful features. You have to hunt for 3 pin fans, and the 4 pin PWM fans simply don’t exist at that width.

    I think this a quick and practical hack. Take apart a cheap keyboard, hardwired it, bam you’ve got a dongle that feeds the system the confirmation it needs via existing, standard interface. Certainly a lot less trouble than attempting to engineer something that feeds the motherboard a fake signal.

    Used to make things like this for motherboards that would not boot if no keyboard was present. Surprisingly common issue with older AT systems.

  8. Stephany Spight says:

    We had design a basic computer with some basic instructions only using nand gates. We implemented it on an FPGA, which was good, I don’t imagine anyone had enough breadboard space + chips to implement the discrete solution.

  9. meier says:

    This is AWESOME! If you are in the IT field and work in datacenters at all you will come to find out that many servers get stuck at F1 prompt. Server admins that are not able to RDP into the server have to send a tech running out with a full size keyboard to just hit one key and be done.

    This would be much easier to carry around while at work.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s