‘It’s all in the game’ workshop

“Moddr_” crew gave one day workshop on microcontrollers. The participants had to quickly learn basics of C hacking, device prototyping and soldering. “Attiny 2313″, LED displays and batteries were put together to create abstract digital automatons.

>>> design credits – evilmadscientist.com <<<

During the workshop we tried to create a new font table for a weird dual display. The time run out very fast, so as an alternative we flashed poor Attiny with pseudo-random data ;) , which in-fact produced nicely unstable results.

see more pictures

PSC08-12 vs. ATTINY 2313 pinout alignment
Almost all pins connected respectively to each other except
that ATTINY pin3 goes to PSC pin10 (use a little wire!),
ATTINY pin10 to PSC pin12. PSC pin17 is not used
(second ground pin) and pin12 connected to ATTINY pin10 (ground)

	  attiny:  2  3  4  5  6  7 10  9 8 11 12 13 14 15 16 17 18 19
	PSC08-12: 18 10 16 15 14 13 12 11 -  9  8  7  6  5  4  3  2  1
 	 segment:  n  e  p  c  u  d  -  f -  r  t  s  m  g  k  h  a  b

             PSA08-12 pin|
         LED segment|    |
       I/O port|    |    |
AT2313 pin|    |    |    |
          |    |    |    |
	  1  reset  unused
          2    d0   n   18
          3    d1   e   10
          4    a1   p	16
	  5    a0   c   15
	  6    d2   u	14
	  7    d3   d   13
	  8    d4   unused
	  9    d5   f   11
	  10  grnd  -   12
	  11   d6   r    9
	  12   b0   t    8
	  13   b1   s    7
	  14   b2   m    6
	  15   b3   g    5
	  16   b4   k    4
	  17   b5   h    3
	  18   b6   a    2
	  19   b7   b    1

DISPLAY SEGMENTS:
      a     b
    ===== =====
   | \   |   / |
 h |  \k |m /n | c
   |   \ | /   |
   |  u \|/ p  |
    ===== =====
   |    /|\    |
 g |   / | \   | d
   | t/ s| r\  |
   | /   |   \ |
    ===== =====
      f     e
 	decimal point seems to be unwired on PSC08-12

this is how ATTINY ports correspond to alphanumeric segments:

	segment: p  c  r  f    d  u  e  n     b  a  h  k    g  m  s  t
	I/O pin: a1 a0 d6 d5   d3 d2 d1 d0    b7 b6 b5 b4   b3 b2 b1 b0

	segment: p  c  r  f    d  u  e  n     b  a  h  k    g  m  s  t
	I/O pin: a1 a0 d6 d5   d3 d2 d1 d0    b7 b6 b5 b4   b3 b2 b1 b0

1   amsfe      0001 0010 0100 0110 23272
2   abcpugfe   1101 0110 1100 1000 54984
3   abcpdef    0001 1010 1100 0000 6848
4   hupcd      1100 1100 0010 0000 52256
5   abhupdfe   1001 1110 1110 0000 40672
6   abhupgdfe  1001 1110 1110 1000 40680
7   abcd       0100 1000 1100 0000 18624
8   abcdefghup 1101 1110 1110 1000 57064
9   abcdfeuph  1101 1110 1110 0000 57056
0   abcdefghtn 0101 1011 1110 1001 23529 

knowing high/low bits order for ATTINY2313 we can make a table of the
segments to be lit in order to display a character
(i did it by hand, can you believe it?!).   

PSC08-12 font table:

character	segments lit    bite blocks           decimal
    a           ghkru           0010 0100 0011 1000   9272
    b           abcdefmps       1101 1010 1100 0110   56006
    c           abefgh          0001 0010 1110 1000   4840
    d           abcdefms        0101 1010 1100 0110   23238
    e           abefghu         0001 0110 1110 1000   5864
    f           abghpu          1000 0100 1110 1000   34024
    g           abdefghp        1001 1010 1110 1000   39656
    h           cdghpu          1100 1100 0010 1000   52264
    i           abefms          0001 0010 1100 0110   4806
    j           cdefg           0101 1010 0000 1000   23048
    k           ghnru           0010 0101 0010 1000   9512
    l           efgh            0001 0010 0010 1000   4648
    m           cdghkn          0100 1001 0011 1000   18744
    n           cdghkr          0110 1000 0011 1000   26680
    o           abcdefgh        0101 1010 1110 1000   23272
    p           abcdghpu        1100 1100 1110 1000   52456
    q           abcdefghr       0111 1010 1110 1000   31464
    r           abcghpru        1110 0100 1110 1000   58600
    s           abdefhpu        1001 1110 1110 0000   40672
    t           abms            0000 0000 1100 0110   198
    u           cdghef          0101 1010 0010 1000   23080
    v           ghnt            0000 0001 0010 1001   297
    w           cdghrt          0110 1000 0010 1001   26665
    x           knrt            0010 0001 0001 0001   8465
    y           kns             0000 0001 0001 0010   274
    z           abefnt          0001 0011 1100 0001   5057
    *           kmnprstu        1010 0101 0001 0111   42263
    spc           -             0000 0000 0000 0000   0
    /           nt              0000 0001 0000 0001   257
    1           amsfe           0001 0010 0100 0110 23272
    2           abcpugfe        1101 0110 1100 1000 54984
    3           abcpdef         0001 1010 1100 0000 6848
    4           hupcd           1100 1100 0010 0000 52256
    5           abhupdfe        1001 1110 1110 0000 40672
    6           abhupgdfe       1001 1110 1110 1000 40680
    7           abcd            0100 1000 1100 0000 18624
    8           abcdefghup      1101 1110 1110 1000 57064
    9           abcdfeuph       1101 1110 1110 0000 57056
    0           abcdefghtn      0101 1011 1110 1001 23529