Thanks to the help of forum.eeeuser.com member justblair (from justblair.co.uk / ayetea.com) who was kind enough to donate all necessary parts for making a prototype, I am now using a USB notifier dongle based on the ATtiny45 microcontroller, running firmware written by Dave Hillier (from Linden Labs / Dave's Blog) - who built a notifier too (Dave in turn says he got his idea from the blog www.j4mie.org, so its fair to say that this is really a kind of some pass-on open-source project).
In fact this firmware from Dave implements a free virtual hardware USB driver for AVR microcontrollers called V-USB (based on libusb which is available for all major operating systems incl. Win32 and MacOS and, of course, linux too) and works by emulating some sort of generic "Human Interface Device", which is controlled by a small command line tool called "set-led", written in C (also courtesy of Dave Hillier!), which in turn is called by my "dBird Notifier" scripts as appropriately - which is when new messages do arrive.
For this purpose I've rewritten the scripts to support the new USB hardware and have released a new version "dBird-notify-usb-1.5" which can be found here at its sourceforge page for download. To install it, just extract the .tar.gz archive into your home folder, navigate to the newly created subfolder /LEDnotifier", run "sudo ./install.sh" and edit the file "config.conf" to fit your needs (more instructions can be found in the file HowTo.txt).
So far for the software part...
The hardware has been further developed too and has become significantly smaller thanks to omitting the now useless USB->serial adapter circuit, through consequent use of the Attiny45 in SOIC package and all SMD 0805 parts, and by etching an own PCB for the purpose. Only thing that is still the same compared to my initial design of a serial device are the 5mm common cathode rgb LED, and the USB plug.
I've found a very nice light diffuser in form of a tiny keychain lavalamp (filled with viscous liquid and some glitter stuff) which I managed to fit to my notifier and which, although just "a little bit" flashy, looks mighty cool (in my opinion at least).
The final PCB layout Blair and I designed:
A few pics of the hardware building process (from left to right: partially assembled unit, etched PCB, cardboard prototype made using through-hole parts):
Here you can see how the final external USB notifier (and attached lava lamp) look like:
If you want someting like this but feel not skilled enough with the soldering iron, or simply don't have the time for building one yourself, you can contact me for a pre-assembled board (fully functional), or if you like to solder things yourself you can contact me for a DIY kit consisting of a PCB with pre-soldered and programmed microcontroller, and solder the SMD resistors and diodes, LED and usb plug by yourself - I've still got a few PCBs and attinys left over... ;)
By the way: firmware and source-code of Dave Hillier's AVR-USB-LED software as well as the PCB layout and wiring schematic can be found in the subfolders "/AVR-USB-LED" and "/hardware" of dBird-notify-usb-1.5.tar.gz, which can be downloaded from my sourceforge project page
http://sourceforge.net/projects/dbirdnotifier/files.
Support the dBird notifier Project over at Sourceforge.net -
donate now by clicking the button above.
EDIT:
As it turns out people do like this gadget! In the meantime Dave Hillier has obviously been impressed with the lavalamp I added, and has written a short report about it on his blog, as well as JustBlair from justblair.co.uk - who has built a notifier device too - and JustBlair even managed to fit it inside his eeePC 901, despite him using the through-hole DIP variety of the attiny45! To accomplish this he omitted the PCB alltogether, and decided to wire up the chip and resistors "dead bug" style, which enabled him to hide the circuit in the base of his netbook, while the LED itself sits on the top left corner of his LCD bezel, where it is apparently very visible - even from across the room. He admits he has already become addicted to reading email as soon as it arrives, due to his new "netbook-notifier". :)
8 comments:
I didn't get. Is it a DIP or other package you use? I'd like to repeat your project, however, my tiny85 is not in DIP, but in a smaller package.
I used SOIC. You can use all kind of IC packages for this; just make sure you wire the right pins for the package you're using (DIP for example has not the same pinout as SOIC).
what about programming the chip? if it were dip, it seems, it would be much easier... Did you flash the firmware when the chip was soldered? (Do you have to resolder it in order to update the firmware?)
I flashed the IC after it was soldered in place. If you use DIP, you could of course use something like a programming socket, but its ok to flash the FW after soldering the IC in place too.
I mean how did you make the joints? just soldered those five wires for SPI?
so you soldered ISP wires just to the pins of avr? (could you please post the photos - i just have no idea of convenient methods of flashing firmware on non-DIP packages...
Yes, just wire the ISP pins to the respective AtTiny's pins after soldering the SOIC to your PCB.
Here's the pinout of common ISP connectors and Atmel ICs:
http://tinkerlog.com/wordpress/wp-content/uploads/2009/06/micro-cheat-sheet.svg
ISP = In-system Programming
(also known as in-circuit serial programming, ICSP)
http://en.wikipedia.org/wiki/In-system_programming
:-)
Post a Comment