BIOS Beep Circuit - Page 1
Forum section: electronics / beginners

author: Bskitter
author_rank: Regular Contributor
timestamp: December 27, 2017, 10:24:00 pm
content: Hey Guys,I am trying to interface a non standard speaker for my BIOS beep on my computer. I am planning to use a 555 timer and then tie the reset pin to the output of the motherboard.But this is where I am slightly confused. On the Motherboard it is labeled Ground and 5V+. When the beep occurs does it pulse on the High side or Low side ?Here is the pin connections from my Motherboards Manual.It seems like the +5V is constant and the Ground side of the speaker is modulated.Here is the circuit I plan to use.The Reason I want to use a separate circuit to drive the speaker is that I fear that there will not be enough current to drive the large speaker directly from the motherboard.The speaker is from an old Apple G5 Case which I am currently modifying to ATX.Any feedback will be appreciated.Byron

author: Zero999
author_rank: Super Contributor
timestamp: December 27, 2017, 10:54:15 pm
content: Why?The motherboard produces a beep by outputting a squarewave of the appropriate frequency, not a single pulse. It's a legacy interface dating back to the dark days of DOS. Use the sound card output and a suitable amplifier to drive a speaker properly.

author: Audioguru
author_rank: Super Contributor
timestamp: December 27, 2017, 10:56:07 pm
content: We do not know what the speaker connections on your pc do. Measure them and tell us.If the reset pin on the 555 goes high then it begins oscillation, starting with a pretty big POP that might blow out the 555 and/or the speaker. The 555 is not a power amplifier so you must limit is current with a resistor in series with the resistor that will reduce its loudness.

author: floobydust
author_rank: Super Contributor
timestamp: December 27, 2017, 10:57:29 pm
content: SPKR(-) will pulse low at a few kHz, but you need a pull up resistor to +5V. Your 555 will just keep resetting, so I'd add a pulse stretcher.IBM PC speakerhas +5V power on one leg and open-collector drive on the (-) leg.The IBM PS2 30-286 has a series capacitor.I still use an 8ohm speaker and add a 100R series resistor because it's really loud. Newer motherboards have a piezo speaker built in.

author: T3sl4co1l
author_rank: Super Contributor
timestamp: December 27, 2017, 11:38:24 pm
content: The tone generator is onboard, in fact it's one of the critical* system hardware resources in the IBM PC.*Critical back then, of course. I don't know if modern OSs made much if any use of it. With a new generation of hardware in the UEFI age, these relics are finally being removed from the PC architecture. Some 30 years they've been present: an astonishing run for any computing standard!The critical function, by the way, was the PIT (programmable interval timer), the Intel version of any microcontroller's timer-counter hardware. This was a three-channel timer. The channels were dedicated to:- DRAM refresh. Any RAM regions that are not regularly refreshed or accessed, will be lost. This was initialized by the BIOS during boot (BIOS is in ROM, so the CPU can execute from there without worry of data loss), and never touched by the OS or applications. Youcouldmodify this channel, at your own risk of course, but this would only be for extreme cases, like if an application needed to use every last possible CPU cycle, and which accesses all of system RAM regularly so as to affect a refresh anyway, and/or which doesn't need to return to DOS afterwards (the DOS memory region being invalidated from lack of refresh) -- or maybe it's a standalone bootdisk sort of program, without a DOS at all, and uses all the memory it needs.- The RTC (real time clock) interrupt, aka 18.2Hz system tic. This normally executes an interrupt, which increments memory counters (tics since boot, and time and date). An application normally hooks this when a regularly timed event is needed (a TSR service, or a game's update function, perhaps). Indeed, DOS itself does this first. This timer can be modified without risk of gross system failure -- but obviously this screws up the time and date, without taking extra steps to prevent that of course. (Like setting the timer to 60Hz, then calling the original interrupt routine after every every other interrupt, averaging 18.2Hz in the end.)- And finally, the PC speaker. This timer channel is 100% uncommitted to system tasks, and even has a hardware output pin which is buffered and connected to a speaker. (Originally a transistor driving a PC speaker, as the name suggests; I don't know if they buffer it anymore, as piezo speakers are so easy to drive. Do they even put a speaker connection on the header, anymore?) Setting the timer to a particular divider number, and enabling the PC speaker port pin, generates a corresponding tone. Assigning an interrupt routine to the channel (or the timer, I forget exactly how interrupts were wired) allowed you to play basic chiptunes without interfering with normal CPU operation -- that is, getting songs to play in the background.So, a 555 oscillator is not what you want -- though you could use a 555 to buffer it (wired as a schmitt trigger or whatever), but that too is kind of undesirable as the 555 can't deliver enough current (and isn't overcurrent or thermally protected) to drive an 8 ohm speaker directly. You'll probably find direct drive is too loud, anyway: better to add a series current limiting resistor, which both respects the 555's (or other driver's) current output capability, and sets volume to a reasonable level.Tim

author: Zero999
author_rank: Super Contributor
timestamp: December 28, 2017, 09:45:59 am
content: Quote from: floobydust on December 27, 2017, 10:57:29 pmThe first schematic won't work because the capacitor will just charge up. There will be a loud tone at first, then when the capacitor is charged, the only sound will be due to the tiny leakage current.In my experience, the motherboards with a built-in speaker, use an electromagnetic, rather than a piezoelectric sounder. It often looks similar to a piezo transducer in a resonant chamber, but the DC resistance will tens to hundreds of Ohms, depending on the voltage rating, rather than hundreds to thousands of megaohms for a piezo. A magnetic transducer is more suited to low supply voltages, than a piezo, which would require something to boost the voltage, to work well off 3V.https://uk.rs-online.com/web/p/magnetic-buzzer-components/7716963/

author: paulca
author_rank: Super Contributor
timestamp: December 28, 2017, 11:11:28 am
content: Hideous invention. I don't think my current motherboard has a speaker or a beeper. If it did I'd have ripped it out or at very, very least stuffed the buzzer with bluetac or modified the speaker with a screwdriver brutally through it's nasty, noisy, irritating paper face.A lot of modern motherboards tie it into the onboard sound card (sometimes with a BIOS setting to disable it, not always).The only time it has *any* use is when you have a video output failure or RAM failure so bad it can't enable the display to tell you that, when the beep sequence will tell you what you already know "It's broked".

author: Zero999
author_rank: Super Contributor
timestamp: December 28, 2017, 07:04:45 pm
content: Quote from: paulca on December 28, 2017, 11:11:28 amI think you've forgotten why it was there in the first place. The desktop computer most commonly used today evolved from the IBM PC, which had no sound card. The speaker was there to alert the attention of the user, rather than displaying a message on the screen. One use might be to tell the user to turn a floppy disk over and a tone would be better, than just an on screen message, since the user might not be in front of the screen at the time.

author: paulca
author_rank: Super Contributor
timestamp: December 28, 2017, 08:04:14 pm
content: Apart from it's purpose as a "Beep" from software, often implemented when trying to delete beyond the end of a line for example, it's main purpose was for POST diagnostics. It is STILL implemented for this today.There are charts you can download which translate the morse-like beep code into hardware faults. If you are trying to work out if it's your memory, ROM or video hardware the beep can guide you when it otherwise can't display a reason because the display is still not initialised.Once the display is active the diagnostic beep serves no purpose and as a software "beep" it's just archaic and annoying. Granted if it's the only sound output you have it's an option, but these days you need to be scraping the bottom of the barrel to find a use for it.I kill or stuff mine as they are usually incredibly loud. Someday I will run into a pre-display hardware error and wish I had that beeper, but I'll do fine swapping parts till I find the culprit.