Add initial Riso Kagaku Webmail Notifier ATTiny clone
[riso-kagaku-clone.git] / README.md
1 I wrote this for my friend [Jon](https://jmtd.net/), who was after a simple notification device for his NAS but had difficulty finding anything appropriately cheap. Some discussion on IRC led to discovering the Linux kernel has support for a variety of USB HID LED devices. In particular the Riso Kagaku Webmail Notifier presents a simple 8 colour RGB device (red/green/blue can each be on or off). This seemed like the sort of thing that could easily be implemented on an Atmel ATtiny, so going from various pieces of information gleaned from Google and the Linux driver I came up with this code. It's only been tested under Linux; I'd be curious to know if it works with the Windows drivers too.
2
3 It's based on [V-USB](https://www.obdev.at/products/vusb/). I've reused the Riso Kagaku USB IDs so the Linux driver picks it up without needing any patching (assuming CONFIG_HID_LED is set, or CONFIG_USB_LED for older kernels). This is probably wrong of me.
4
5 `apt install avr-libc avrdude` should install the appropriate build requirements on Debian (`gcc-avr` will be automatically pulled in) assuming you already have `build-essential` installed for `make`.
6
7 `make` will then build you a main.hex which you can program to your device using
8 `avrdude`. With my [Bus Pirate](http://dangerousprototypes.com/docs/Bus_Pirate) I use:
9
10     avrdude -p attiny45 -c buspirate -P /dev/ttyUSB0 -U flash:w:main.hex:i
11
12 The code assumes USB D- is connected to Port B pin 1, USB D+ to Port B pin 2 (INT0), red is on Port B pin 3, blue on Port B pin 4 and green on Port B pin 5. The USB definitions can be configured in usbconfig.h, the LED pins are defined at the top of main.c.
13
14 Given that V-USB is GPLv2+ or commercial all of my code is released as GPLv3+, available at [https://the.earth.li/gitweb/?p=riso-kaguku-clone.git;a=summary](https://the.earth.li/gitweb/?p=riso-kaguku-clone.git;a=summary) or on GitHub for easy whatever at [https://github.com/u1f35c/riso-kaguku-clone](https://github.com/u1f35c/riso-kaguku-clone)