Readme.txt of akizuki-led-matrix-control-atmega

Akizuki 32x16 LED matrix display with USB control
                                                        Niibe Yutaka
                                                        2009-05-20

Purpose
=======

This software is for controling Akizuki 32x16 LED Matrix display.

We connect a Metaboard implementation to the display, and use V-USB
software as the USB protocol stack (I'm using version 2009-04-15).

While I am using ATmega168, ATmega88 would be enough.


Files
=====

Readme.txt    -  This file
Makefile      -  The Makefile
aki-usb.c     -  Target software
akiusb-ctrl.c -  Host software

Under the directory of usbdrv/, there is a copy of V-USB.
The file 'usbconfig.h' is based on usbdrv/usbconfig-prototype.h
V-USB can be obtained from http://www.obdev.at/vusb/


Build
=====

Just invoke 'make' produces aki-usb.hex.

 $ make

Download aki-usb.hex with avrdude

 # avrdude -p m168 -c usbasp -U flash:w:aki-usb.hex:i


Invoking 'make aki-usb-ctrl', you get the controling executable on PC.

 $ make akiusb-ctrl


Run it and you'll see invadors

 # ./akiusb-ctrl


Author
======

This software (aki-usb.c and akiusb-ctrl.c) is written by Niibe Yutaka,
and copyrighted by the Free Software Initiative of Japan in 2009.


License
=======

This software (aki-usb.c and akiusb-ctrl.c) can be distributed under
the terms and conditions of the GNU GPL version 3 (or later version).


Circuit
=======

It is a implementation of Metaboard.


                   CLK  COL  ROW                                STR  LAT
           -+-     ^    ^    ^                                  ^    ^
       ___  |      |    |    |                                  |    |
    +-[___]-+      |    |    |                                  |    |
   _|_     470     |    |    |                                  |    |
   \ / LED         |    |    |    +---+    -+-                  |    |
   _v_             |    |    |    |  _|_    |    |    |    |    |    |
    |              |    |    |    |  ///    |    |    |    |    |    |
  28|            25|  24|  23|    |22     20|  19|  18|  17|  16|  15|
 +----------------------------------------------------------------------+
 | PC5  PC4  PC3  PC2  PC1  PC0  GND      AVcc SCK MISO MOSI OC1B/ OC1A/|
 |                                                            PB2   PB1 |
 |                          ATmega88/168/...                            |
 |               INT0/                                                  |
 |RESET          PD2  PD3  PD4  Vcc GND  XTAL1 XTAL2          PD7       |
 +----------------------------------------------------------------------+
    |1             |4   |5  6|    |7  8|    |9 10|            13|
    |              |    |    |    |    |    |    +-+            |
    |              |    |    |    +-||-+    |      |           _|_
    o              |    |    |    |0.1u|    +-|[]|-+           ///
     /             |    |    |    |   _|_   20.0MHz
    o              |    |    |    |   ///                       -+-
   _|_             |    |    |    |                              |   ___
   ///             |    |    |    +------------------------------+--<___| Vcc
                   |    |    |   ___                            _|_
                   |    |    +--[___]-----+-----------------+   /// 33u
                   |    |         68     _|_/               |   ~|~  ___
                   |    |               // \  Zener 3.6V    |    +--<___| GND
                   |    |               /___\               |   _|_
                   |    |                _|_                |   ///
                   |    |                ///                |
                   |    |                              ___  |       ___
                   |    +-----------------------------[___]-+------<___| D-
                   |   ___                              1.5k        ___
                   +--[___]----+-----------------------------------<___| D+
                        68    _|_/
                             // \  Zener 3.6V
                             /___\
                              _|_
                              ///


... connected to Akizuki 32x16 LED Matrix

                                          ___
                                 CN1-2 --<___| ROW
 +-----------------------+                ___
 |     LED1     LED2     |       CN1-3 --<___| COL
 |                       |                ___
 |                       |       CN1-5 --<___| CLK
 |                       |                ___
 |                       |       CN1-6 --<___| LAT
 +-----------------------+                ___
                                 CN1-7 --<___| STR
                                          ___
                                 CN1-8 --<___| Vcc
                                          ___
                                CN1-10 --<___| GND


                      CN2-3 ---- CN1-4

                      CN2-1 -------------< LED Power +5V
                      CN2-9 -------------< LED Power GND


Happy Hacking.