Wish your computer had all the bells and whistles?  You can get at least half-way there with this project, a USB-powered and -controlled bell that can be used for email notification or a manner of other things that require a satisfying "ding".

This project essentially consists of a microcontroller affixed inside the base of a counter bell, that pulls on the bell's clapper with an electromagnet, and communicates with the computer over USB.  WAIT! COME BACK! Don't run away, I haven't told you how easy this project is yet!

This project is reasonably easy,

Here's a video of the bell in action, I am sending myself some emails, and as they appear in Thunderbird, the bell goes ding.

Some skills required:
1. soldering - you'll need to solder just six electrical components together
2. electronics knowledge
3. knowledge of programming is entirely optional if you use the same microcontroller as I do since I've made all the code and firmware online so you can quickly download it and load onto the microcontroller over USB

Materials required (details to follow):
1. A counter bell of some sort with a steel clapper
2. A short bolt (to make a solenoid/electromagnet)
3. Some thin (less than 26 AWG) enamelled wire (about 2m)
3. A transistor
4. A resistor
5. A large capacitor (because USB probably won't supply enough power in one go to fire the electromagnet
6. A diode (flyback diode, as safety to avoid things blowing up)
7. A Forebrain (LPC1343 microcontroller) dev board (or you can use an alternative microcontroller/dev board if you want to have a go at coding it yourself)
8. Some prototyping board and wires

You will also need a soldering iron, some type of tape or adhesive to attach things to other things, and possibly some kind of cutting tool to cut a slot out of the base of the bell for the USB plug.  And of course a computer (sorry, I only supply source and binaries for WIndows, the bell appears on a computer as a generic USB HID device, for which all modern operating systems have drivers built in for, so it would be relatively easy to code it for Linux or Mac).

Note: the bell does not check your email for you; you will need some sort of program on your computer to check your email and then activate the bell when you receive new mail.  For Windows, the Thunderbird mail client works perfectly for this, or alternatively a utility called POP Peeper (more on this later).

Here is another video where I am triggering the bell manually from the computer. The bell plunger occasionally gets stuck, but I've since fixed that with some WD40.

WARNING: This project involves powering a home-made solenoid via the USB port, which may risk damage to your computer if your solenoid draws too much current.  I highly recommend using a cheap powered USB hub.  I accept no responsibility for any injury to you or damage to your equipment or property should you choose to attempt this.  Please proceed AT YOUR OWN RISK.

Step 1: Parts: the Bell

You'll need to get your hands on a bell of sorts.  Most importantly, it needs to have a clapper that you can easily activate with an electromagnet.  The one I purchased from eBay turned out to be absolutely perfect.

Pushing down on the top arm of the clapper would send the bottom half kicking out and striking the stainless steel bell.  I figured I could place an electromagnet underneath top arm of the clapper and attract that downwards to ding the bell.

If your bell is different from this, you'll need to figure out a way to mount your electromagnet, and if the clapper isn't steel or iron, you may be able to get around it by affixing a magnet to the clapper and attracting/repelling that instead.
<br> I believe you could execute the ding.exe in outlook following these instructions:<br> <br> <a href="http://www.inboxactions.com/index.php/component/content/article?catid=14&id=74">http://www.inboxactions.com/index.php/component/content/article?catid=14&amp;id=74</a><br>
If I needed one to check a certain folder (label) in gmail and ding, can this be done? How much would you charge to make me one? Could there be an option to manually change the folder (label) it checks so that if I wanted alerts for a different folder?
Can I use any other microcontroller?
How hard was it to get your electromagnet's position 'tuned' so that it pulled the clapper hard and far enough?
not very hard, it worked very well and was quite strong, it worked first time. Though I think it was lucky coincidence that the bolt was about the right length.
How long was the bolt? I tried making one from at 1/4-20 bolt, but it doesn't pull the clapper hard enough.
I think mine was a half-inch bolt, and I went crazy with the windings
Did you ever measure the resistance of the coil, or measure the current draw of the electromagnet when it is on?
Yes, I made sure that the steady state current draw was &lt; 0.5A as per USB 2.0 spec, however I couldn't measure transients due to lack of equipment. However I did use the largest capacitor value I could find, and a small amount of resistance on the USB input to minimise the risk of damage/brownouts upstream when the electromagnet switches on.
Most USB ports will shut down if the current they supply exeeds something like 150ma (milliamps) <br><br>In between &quot;dings&quot; the capacitor would recharge to supply power sufficient to &quot;wack the clapper again't the bell&quot; Use a series Resistor to limit charging current.
Gotta tell you , I think your choice of avatar is a blast. Those characters crack me up. The artist is coming to my area, and I'd love to see him perform. The radio station has a contest and the prize is two tickets to the show ($130.00 per ticket) That would be a really fun contest to win!
I had an idea similar to this. When you get a email, it sends a signal to a small device in your pocket and alerts you somehow. Anyways, NICE JOB! :D
you mean something like a smart phone?
probaly the same thing, ya. :P
Your tech abilities are amazing! The bell is such a fun and innovative design.
Wonder if just a usb printer cable and logic chip latches would save using a microcontroller and a lot of unneeded code writing. Might do a version using the standard parallel port for linux. On another point, an optoisolator should work to keep the computer safer.<br>
Could do, but you should take a look at the code first, to make it work it's literally just:<br> <br> <em>int main(void) {<br> &nbsp; USBInit();<br> }<br> <br> void USBOut(unsigned char USBData[], unsigned int USBLength) {<br> &nbsp; Port2Write(PIN11, 1);<br> &nbsp; WaitDelay(50);<br> &nbsp; Port2Write(PIN11, 0);<br> } </em><br> <br> And for the ding.exe app (using Signal 11's cross-platform HID API, code looks identical for Windows and Linux) it's<br> <br> <em>int main(void) {<br> &nbsp;&nbsp; unsigned char buffer[2] = {0,0};<br> &nbsp;&nbsp; hid_device *handle;<br> <br> &nbsp;&nbsp; handle = hid_open(0x1fc9, 0xbe11, NULL);<br> &nbsp;&nbsp; if(handle) {<br> &nbsp;&nbsp;&nbsp;&nbsp; hid_write(handle, buffer, 2);<br> &nbsp;&nbsp; }<br> &nbsp; return 0;<br> }</em><br> <br> Using the Signal 11 open source USB lib there, and Forebrain's hardware abstraction code.<br> <br> I've added a bit more code to store the pulse time into Forebrain's on-board EEPROM, to allow changing of the pulse time over USB, as well as increased the number of bytes sent to allow for any future pulsing of LEDs.<br> <br> I would think that building something with logic chips, coding for parallel port, and trying to neatly package for a parallel port would be quite a bit more work!&nbsp; I'd suspect you'd want to use hardware astables instead of relying on the computer to send the turn on/off signal since you want to guarantee the pulse time; you don't want your thread to be delayed half-way through!<br> <br> I've had Forebrain communicating with Linux over USB HID previously as well with no problems (was using Forebrain as a hardware random number generator).<br> <br> With USB connectivity, there is no reason to use optoisolators since the bell is not connected to any other power source.&nbsp; optoisolating USB is also problematic since it is differential signalling, some sort of USB isolation IC would be required.&nbsp; Isolating power transfer is possible with isolating DC/DC converters, I use these in my USB-controlled fridge.<br>
to protect the USB source, May I recommend a Limiting resistor on the 5V line to the transistor (and Main Electro). The larger this Capacitor the greater the turn on &quot;in Rush&quot; or charge current will be.. this could be as bad as the firing of the solenoid . with a little redesign you could have a sizeable storage for the solenoid that is more isolated from the USB but still have the circuit USB powered..
Could you also build a mac version of ding.exe?<br>I would love to make one!
Yes. Mac version PLEASE!!
Hey, I'd love to, but I'll need to get my hands on a mac first! I'll see if I can borrow one off friends or colleagues.
The capacitor in your diagram is 470 micro farads, yet your initial BoM listed a 2200 uF capacitor. Which is correct?
I suggested using at least 470uF, but preferably larger, the one I ended up using is 2200uF.
Nice idea. I can even see steampunkers using it with minimal cosmetic changes.
Or you can connect the USB to a device which converts electrical outlet voltage to USB voltage.
Neat idea. I really like it. you could also have the microcontroller trigger an event on the computer when the bell is rung with a simple switch, or perhaps even by measuring induced current on the coil when the bell is rung manually. <br><br>For a linux machine, I think this could be redesigned to not even need a microcontroller, just a bit of code to cycle power to the usb port.l See:<br>http://stackoverflow.com/questions/1163824/linux-usb-turning-the-power-on-and-off<br><br>For any OS that lets you cycle the capslock light in response to an email, you could use a cut-up USB keyboard instead of a microcontroller, as in this old project of mine:<br>https://www.instructables.com/id/USB-controlled-mini-lava-lamps/<br>
I know, people keep saying that I don't need a microcontroller, etc. Nobody seems to read the instructable any more, I do mention that I will put pulsing LEDs on the thing.
This is sweet! Perhaps an indicator LED would be helpful, you know, just in case you're out of the office and you miss the bell, that way you know that you have an email. Also, you can buy circular protoboard at radioshack here's the link:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <a href="http://www.radioshack.com/product/index.jsp?productId=3173937">http://www.radioshack.com/product/index.jsp?productId=3173937</a><br>
Yeah, I'm definitely putting LEDs under there for some gentle coloured pulsing. That way it'll also be able to distinguish which mail account received the email.
Maybe an RGB LED that can change colors for the amount of emails recieved!
Exactly! I have these high intensity Super-flux red, green and blue LEDs from a previous instructable: https://www.instructables.com/id/Mood-vase/
Well there you go! You could probably diffuse one and it would be sufficient. Gotta love brainstorming! ( :
Would adding a resettable fuse help with the current draw problem?<br><br>Or maybe a large capacitor to tank the energy required for the coil, and release that energy instead of drawing it from the USB port, all you need to add to your circuit is one resistor on the +5V line and then turn up the capacitance on that capacitor.<br><br>Thanks for the introduction to Forebrain. I always love seeing new ARM dev-boards. And thanks for the introduction on POP Peeper.
Yup, I agree, a resettable fuse would be safer for the computer. Although I don't have any current draw problems with mine; I am using a 2200uF capacitor, and the USB port seems happy enough supplying the current.<br><br>I did do as you suggested, I had a 0.47ohm resistor on the +5V line, and a 0.33F ultracap. But seeing as the thing seemed to work fine with a regular large aluminium electrolytic and without the series resistor, I decided to just go with those out of simplicity (and more common to get than really large capacitances and really small resistances)
I don't fully understand the math, so may be completely wrong, but wouldn't too large a cap provide current too &quot;slowly&quot; to the solenoid? Or is that just ESR? Since the cap+solenoid effectively creates a RLC tank circuit, if the resonant frequency is too low?
It is just ESR, and larger caps tend to have lower ESRs (though I think a lot has to do with physical dimensions rather than capacitance value).<br><br>The current from an ideal cap is i = C dv/dt, which only says that the current is a function of the change of voltage, a larger cap will give you more current for the same change in voltage. Or conversely a smaller drop in voltage for the same current.<br><br>The circuit doesn't form an RLC tank circuit since there's a flyback diode parallel to the inductor, which dissipates the reverse current.

About This Instructable




More by meseta:Email notification bell Bending a credit card into a phone stand using a lighter Mood vase 
Add instructable to: