1 From the HT16K33 datasheet [1] and EF4058 schematic [2].
2
3 Addressing
4 ----------
5
6 RAM addresses
7 ROW0..7 ROW8..15
8 COM0 -> digit 1, tube 1 00 01
9 COM1 -> digit 2, tube 1 02 03
10 COM2 -> digit 1, tube 2 04 05
11 COM3 -> digit 2, tube 2 06 07
12
13 ROW0/A2 |-> connected to both tubes
14 ROW1/A1 |
15 ROW2/A0 |
16 ROW3..14 |
17
18 Tube and Digit Layout
19 ---------------------
20
21 By observing the behaviour, the tubes and digits have the following layout:
22
23 tubes
24 2 1
25 digits
26 1 2 1 2
27
28 Communications
29 --------------
30
31 I2C commands:
32
33 D15 D14 D13 D12 D11 D10 D9 D8
34 setup 0 0 1 0 X X X S S=0 => standby; S=1 => operational
35 ROW/INT 1 0 1 0 X X A I I=0 => ROW driver output;
36 I=1 => INT output
37 A=0 => active low
38 A=1 => active high
39 display 1 0 0 0 X B1 B0 D D=0 => display off; D=1 => display on
40 B1..B0 = 0 => blinking off
41 B1..B0 = 2 - log2 (blinking frequency)
42 (1 => 2Hz; 2 => 1Hz; 3 => 0.5Hz)
43 address 0 0 0 0 A3 A2 A1 A0 A3..A0 => set row address pointer
44 dimming 1 1 1 0 P3 P2 P1 P0 P3..P0 = 16 * pulse_width - 1
45 (0 => 1/16; 15 => 1)
46
47 I2C data format:
48
49 D7 D6 D5 D4 D3 D2 D1 D0
50 ROW 7 6 5 4 3 2 1 0
51 ROW 15 14 13 12 11 10 9 8
52
53 When converting values to the I2C format, the most significant byte is sent
54 after the least significant byte. For example, the following hexadecimal
55 representation is converted as follows:
56
57 8000400020001000
58 -> 80 00 40 00 20 00 10 00 (bytes in MSB, LSB order)
59 -> 00 80 00 40 00 20 00 10 (bytes in LSB, MSB order)
60
61 LED Digit Layout
62 ----------------
63
64 The digits each have the following layout:
65
66 LED ROWx data value remark
67
68 --- ROW0 1 upper horizontal
69
70
71
72 | ROW1 2 upper-right vertical
73
74
75
76 ROW2 4 lower-right vertical
77
78 |
79
80 ROW3 8 lower horizontal
81
82 ---
83
84 ROW4 10 lower-left vertical
85
86 |
87
88 | ROW5 20 upper-left vertical
89
90
91
92 ROW6 40 left-middle horizontal
93 -
94
95
96 ROW7 80 right-middle horizontal
97 -
98
99
100 \ ROW8 100 top-left diagonal
101
102
103
104 | ROW9 200 upper-middle vertical
105
106
107
108 / ROW10 400 top-right diagonal
109
110
111
112 ROW11 800 lower-right diagonal
113
114 \
115
116 ROW12 1000 lower-middle vertical
117
118 |
119
120 ROW13 2000 lower-left diagonal
121
122 /
123
124 ROW14 4000 decimal point
125
126 .
127
128 ROW15 8000 (not connected)
129
130
131
132 References
133 ----------
134
135 [1] EF4058-OCTOPUS_Alphanumeric_V1.0_SCH.pdf
136 [2] EF4058-ht16K33v110.pdf