TIX · Volume 10

Cheatsheet & Glossary

A laminate-ready synthesis of the series — the reading rule, the field sizes, the randomiser, the driver pinouts, the BOMs, first-light triage, and an A–Z of terms

This final volume is the one card to keep at the bench. It compresses the whole series into reference tables you can read at a glance: how to decode the face in five seconds (Vol 2), the field sizes (Vols 2–3), the per-minute randomiser (Vol 5), the resistor and shift-register arithmetic that drives the LEDs (Vol 4), the timebase choices (Vol 5), the bill of materials for both collected builds (Vol 6), a first-light troubleshooting triage (Vols 4, 6), and an A–Z glossary of every term the series uses. Nothing here is new; everything here is condensed. Print it, laminate it, and the other nine volumes become the long-form footnotes to this one page.

10.1 Reading a TIX clock in five seconds

A TIX clock shows a 24-hour HH:MM time as four colour fields. You do not read the positions of the lit LEDs — you count them. The number of lit cells in each field is one digit. Read the fields left to right.

The five-second rule. Count yellow → that is the tens-of-hours digit. Count red → units-of-hours. Count blue → tens-of-minutes. Count green → units-of-minutes. Write the four counts side by side: Y R : B G. Done. The lit cells can sit anywhere in their field — only the count matters, which is exactly why the clock can re-scramble the pattern every minute and still read the same time (Vol 2).

10.1.1 The reading table

Table 1 — 10.1.1 The reading table

OrderFieldColourCells (24 h)Digit it showsRange
1 (leftmost)tens-of-hoursyellow3tens of the hour0–2
2units-of-hoursred9units of the hour0–9
3tens-of-minutesblue6tens of the minute0–5
4 (rightmost)units-of-minutesgreen9units of the minute0–9

Twenty-seven LEDs total (3 + 9 + 6 + 9). The colour is what keeps the four counts from blurring into one another at a glance (Vol 3).

Figure 1 — 1 — 74HC595 pinout quick-reference, the chip that drives the static shift-register build (Vol 4). An 8-bit serial-in / parallel-out (SIPO) shift register: serial data enters SER, is clock…
Figure 1 — 1 — 74HC595 pinout quick-reference, the chip that drives the static shift-register build (Vol 4). An 8-bit serial-in / parallel-out (SIPO) shift register: serial data enters SER, is clocked along by SRCLK, and is presented on Q0–Q7 when latched by RCLK. OE (active-low) blanks all outputs; SRCLR (active-low) clears the register; Q7' chains to the next device's SER. Diagram: project original.

10.1.2 Worked examples

Every example below is “count of lit cells per field,” written nY nR nB nG, and the time it decodes to. These are the canonical examples threaded through the series.

Table 2 — 10.1.2 Worked examples

Lit cellsYRBGReadsNote
0Y0R0B0G000000:00midnight — face is blank (Vol 5)
0Y1R1B2G011201:12
1Y1R3B9G113911:39
1Y6R2B4G162416:24the series’ hero example (Vol 1)
2Y3R4B7G234723:47
2Y3R5B9G235923:59the maximum — every field at its cap

To read 1Y6R2B4G: one yellow, six red → hour 16; two blue, four green → minute 2416:24. The same time can be drawn with the six red cells in any six of the nine red positions; the count is what carries the information.

Figure 2 — 2 — A one-card "reading a TIX clock" reference: the four colour fields left to right (yellow / red / blue / green), their cell counts (3 / 9 / 6 / 9), the digit each carries, and the work…
Figure 2 — 2 — A one-card "reading a TIX clock" reference: the four colour fields left to right (yellow / red / blue / green), their cell counts (3 / 9 / 6 / 9), the digit each carries, and the worked example 16:24 shown as 1 yellow + 6 red + 2 blue + 4 green cells lit. Diagram: project original.

10.2 Field-size reference

Each field is sized to hold the largest digit it will ever show, so the fields are unequal. The conventional 24-hour layout is 3 / 9 / 6 / 9; a 12-hour face needs only 1 / 9 / 6 / 9 because the tens-of-hours is only ever 0 or 1.

Table 3 — 10.2 Field-size reference

FieldColourMax digit24 h cells12 h cells
tens-of-hoursyellow2 (24 h) / 1 (12 h)31
units-of-hoursred999
tens-of-minutesblue566
units-of-minutesgreen999
Total LEDs2725

Maximum displayable time. 23:59 lights 2 / 3 / 5 / 9 cells — the only minute at which the tens-of-hours field reaches 2, the units-of-hours reaches 3, the tens-of-minutes reaches 5, and the units-of-minutes reaches 9 all at once. No field ever exceeds its cell count, which is why the field sizes are what they are.

10.3 The randomiser, in one box

The per-minute scramble is the one piece of logic unique to this technology (Vol 5).

Randomiser. Once a minute: (1) recompute the four digit counts k from the current time; (2) for each field of n cells, light a random subset of exactly k of the n cells; (3) leave the rest dark. Re-roll fresh every minute so the arrangement never repeats. At 00:00 every field’s k = 0, so the whole face goes blank. Position carries no meaning — only the count k does — so any of the C(n, k) arrangements is equally valid.

How to pick the random subset: Fisher–Yates shuffle the field’s n cell indices, then light the first k. (Equivalently, partial-shuffle just the first k draws.) This gives a uniform, unbiased choice with no duplicates and no rejection-retry loop.

10.4 Driving the LEDs — the arithmetic

Two driver architectures appear in the collected builds (Vol 4): the gweeds build scans a transistor-multiplexed matrix; the ujjaldey build clocks a static 74HC595 shift-register chain. Both need the same two pieces of arithmetic below.

10.4.1 Current-limiting resistor

Every LED needs a series resistor to set its current. With a supply Vsupply, an LED forward voltage Vf, and a target current I:

R = (Vsupply − Vf) / I

Worked, at 5 V into a red LED (Vf ≈ 2.0 V) at I = 10 mA: R = (5 − 2.0) / 0.010 = 300 Ω (use the nearest standard value).

10.4.2 Forward-voltage quick table and the equal-resistor gotcha

Table 4 — 10.4.2 Forward-voltage quick table and the equal-resistor gotcha

LED colourTypical VfAt 5 V, R for ~10 mA
red≈ 2.0 V≈ 300 Ω
yellow≈ 2.0 V≈ 300 Ω
green≈ 3.0–3.2 V≈ 180–200 Ω
blue≈ 3.0–3.2 V≈ 180–200 Ω

Equal-resistor brightness gotcha. Use one resistor value for all four colours and the colours will not match in brightness: the same R drops the same volts, but red/yellow (Vf ≈ 2.0 V) then get more current than green/blue (Vf ≈ 3.0–3.2 V), so the low-Vf reds and yellows look brighter and the blues/greens look dim. Fix: size the resistor per colour group from R = (Vsupply − Vf) / I for a common target I, or trim by eye. (The ujjaldey build uses 33 Ω ×3 on its driven lines plus a 10 kΩ — small per-line values because the LEDs are scanned at low duty, not driven DC; Vol 4.)

10.4.3 74HC595 pinout — quick reference

The 74HC595 is an 8-bit serial-in / parallel-out (SIPO) shift register: you clock 8 bits in one at a time on SER, then latch them to the outputs all at once. Two of them daisy-chained drive the 27 LEDs in the ujjaldey build from three Nano pins (Vol 4).

Table 5 — 10.4.3 74HC595 pinout — quick reference

PinNameFunction
1–7, 15Q1–Q7, Q08 parallel outputs (Q0 is pin 15; Q1–Q7 are pins 1–7)
8GNDground
9Q7′serial chain-out (to next chip’s SER)
10SRCLRshift-register clear, active-low (tie high in normal use)
11SRCLKshift clock — rising edge shifts one bit in
12RCLKlatch / storage-register clock — rising edge presents the shifted byte on Q0–Q7
13OEoutput enable, active-low (tie low to enable; PWM it to dim all outputs)
14SERserial data in
16VCC+5 V

Daisy-chain note. Wire Q7′ (pin 9) → SER (pin 14) of the next 595, and share SRCLK and RCLK across all chips: now you clock 16, 24, … bits through the chain and latch them together. Three microcontroller pins (SER, SRCLK, RCLK) drive an arbitrarily long chain.

10.4.4 Multiplex / refresh rules of thumb

Table 6 — 10.4.4 Multiplex / refresh rules of thumb

RuleValue / formulaWhy
Flicker-free refresh> ~100 Hz full-framebelow this the scan is visible as flicker
Peak vs average currentI_peak ≈ I_avg / dutya 1-of-N scan lights each LED only 1/N of the time
Duty in an N-row scanduty = 1/Ndrives the peak-current budget
Per-colour brightnesssize R per colour group (§10.4.2)equal R ≠ equal brightness
DimmingPWM the OE pin (595) or the scan, or an LDRambient auto-dim (Vol 4)

Because a scanned LED is on only 1/N of the time, its peak current is its average — keep the peak within the LED’s and driver’s ratings while still hitting a bright average.

10.5 Timebase quick notes

Table 7 — 10.5 Timebase quick notes

PartWhat it isAccuracyHoldover on power-off
Bare MCU crystal (gweeds AVR)the microcontroller’s own oscillator keeps time~crystal-grade; drifts with temperaturenone — time is lost on power-off
DS1302 (ujjaldey)trickle-charge real-time-clock chip, battery-backedmodestyes — backup cell holds the time
DS3231 (upgrade)TCXO real-time-clock±2 ppm (temperature-compensated)yes (battery-backed)

Bare-crystal vs RTC holdover. A bare-MCU timebase is the cheapest path but forgets the time at every power interruption and must be re-set; an RTC with a backup cell keeps running through a power cut. Upgrade line: swap a DS1302 → DS3231 for a large accuracy gain (±2 ppm TCXO vs the DS1302’s modest free-running drift) at a similar pin count and a similar price (Vol 5).

10.6 BOM quick-reference — both collected builds

Compact bills of materials for the two worked builds (full walk-through in Vols 6, 9).

10.6.1 Build A — gweeds “DIY TiX Clock”

Table 8 — 10.6.1 Build A — gweeds "DIY TiX Clock"

BlockParts
MCUATmega16 (AVR), programmed in BASCOM-AVR
TimebaseAVR crystal (no RTC — no power-off holdover)
Driverdiscrete-transistor row drivers + transistor-array column drivers, multiplexed matrix
Display27 LEDs, Y3 / R9 / B6 / G9
PCBsingle-sided Eagle PCB (LEDs mounted first; ICs on the copper side)
Diffusersmoked-perspex window + tracing-paper + office louvre (square reflector grid)
Casemilled Rimu (NZ timber); lathe-turned set buttons
Set UIhardware set buttons
Filestixclock.zip (source + schematic + PCB)
Power5 V

10.6.2 Build B — ujjaldey “uTixClock”

Table 9 — 10.6.2 Build B — ujjaldey "uTixClock"

BlockParts
MCUArduino Nano
TimebaseDS1302 RTC (battery-backed — survives power-off)
Driver2× 74HC595 shift registers scanning 27 LEDs
Resistors33 Ω ×3 + 10 kΩ ×1
SensorLDR auto-dim to ambient
Display27 LEDs, Y3 / R9 / B6 / G9
FirmwareC++ / PlatformIO, RtcDS1302 library
Case3D-printed PLA+, neodymium magnets, transparent-paper diffuser, black-acrylic window
Set UInone in the shipped build (set via RTC/code)
PowerUSB (5 V)

10.7 First-light troubleshooting triage

The quick table for “I powered it up and…”. Work the symptom column (Vols 4, 6).

Table 10 — 10.7 First-light troubleshooting triage

SymptomLikely causeFix
Whole display dimseries resistors too large; scan duty too low; OE not fully enabledrecompute R = (Vsupply − Vf)/I; raise drive duty; tie OE low / increase its PWM
One colour field darkthat field’s driver line / column not switching; wrong shift-register bit; open resistortrace that field’s drive line and its resistor; check the 595 output bit / matrix column for it
One colour looks dim vs othersequal resistors across unequal Vf (§10.4.2)size R per colour group, or trim that group’s R
Visible flickerrefresh below ~100 Hz; scan loop too slow / blockingspeed the scan; remove blocking delays; raise frame rate above ~100 Hz
One cell stuck on/offshorted/open LED; solder bridge; stuck shift-register bitreflow/replace that LED; clear the bridge; verify that Q-output toggles
Time resets on power-offno RTC (bare-crystal build), or dead RTC backup celladd/refit an RTC backup cell; or accept re-set on a bare-crystal build; consider DS3231
RTC won’t hold / driftsflat DS1302 backup cell; loose RTC module; DS1302’s modest accuracyreplace the backup cell; reseat the module; upgrade DS1302 → DS3231 (§10.5)
Garbled / shifted pattern595 SER/SRCLK/RCLK miswired or chain order reversedverify Q7′ → SER; check shared SRCLK/RCLK; confirm bit/byte order (§10.4.3)

10.8 Sources

The two collected builds (full references in Vol 1):

Misfiled input. The third PDF in this subproject’s inputs, Lantern-Clock.pdf, is not a TIX clock — it is a steampunk nixie “lantern” clock (high-voltage nixie tubes, not count-the-cells LEDs). It is excluded from this deep dive and should be relocated to the Steampunk (or Nixie) subproject (Vol 1).

10.9 Glossary (A–Z)

Table 11 — 10.9 Glossary (A–Z)

TermDefinition
BCDBinary-coded decimal — each decimal digit stored as its own 4-bit binary group. A display convention, distinct from how TIX encodes a digit (as a plain count, not a weighted binary group).
Binary clockA clock that encodes each digit in base 2 and is read by the positions of lit LEDs (weights 8-4-2-1). The opposite of TIX: move a binary LED and you change the number, so a binary clock can never randomise its arrangement (Vol 1, §1.7).
CharlieplexingA drive trick using a microcontroller’s tri-state pins to control n×(n−1) LEDs from n pins. An alternative to shift-register/matrix drive; not used in the collected builds but in the LED driver design space (Vol 4).
Current-limiting resistorThe series resistor that sets an LED’s current: R = (Vsupply − Vf)/I. Without it the LED draws unbounded current and burns out (§10.4.1).
Daisy-chainWiring shift registers in series — each chip’s Q7′ chain-out feeds the next chip’s SER in, sharing the clocks — so a long output bus is driven from three controller pins (§10.4.3).
DS1302A trickle-charge real-time-clock chip of modest accuracy, battery-backed so the time survives power-off. The ujjaldey build’s timebase (Vol 5).
DS3231A ±2 ppm temperature-compensated (TCXO) real-time-clock — a drop-in accuracy upgrade over the DS1302 (Vol 5, §10.5).
Duty cycleThe fraction of each scan period a multiplexed LED is actually lit (1/N in an N-row scan). It sets the relationship between peak and average current: I_peak ≈ I_avg / duty (§10.4.4).
FieldOne of the four colour groups of LEDs on a TIX face, each holding one digit of HH:MM. The four fields, left to right, are tens-hr (yellow), units-hr (red), tens-min (blue), units-min (green) (§10.1).
Fisher–YatesAn unbiased shuffle algorithm. The randomiser shuffles a field’s cell indices and lights the first k to pick a uniform random k-of-n subset with no duplicates (§10.3).
Forward voltage (Vf)The voltage dropped across a lit LED — ≈ 2.0 V for red/yellow, ≈ 3.0–3.2 V for green/blue. Why equal resistors give unequal brightness (§10.4.2).
LDRLight-dependent resistor — a photocell whose resistance falls in bright light. Used to auto-dim the display to ambient brightness (the ujjaldey build; Vol 4).
MultiplexingDriving an LED matrix one row (or column) at a time, fast enough that persistence of vision fuses the scan into a steady image — so N LEDs need far fewer than N driver lines (Vol 4).
Persistence of visionThe eye’s retention of an image for a fraction of a second, which makes a fast-enough multiplexed scan (> ~100 Hz) look continuous rather than flickering (§10.4.4).
PRNGPseudo-random number generator — the deterministic source of “randomness” the firmware uses to pick which cells to light each minute (Vol 5).
RTCReal-time clock — a dedicated timekeeping chip (DS1302, DS3231) with its own oscillator and backup cell, so the time keeps running through a power cut (§10.5).
Shift registerA clocked chip that shifts serial bits along a row of stages and presents them in parallel — the 74HC595 here. Lets a few controller pins drive many outputs (§10.4.3).
SIPOSerial-In / Parallel-Out — the 74HC595’s mode: bits enter one at a time on SER, then appear together on Q0–Q7 when latched (§10.4.3).
TIXA clock that shows HH:MM as four colour fields, each digit encoded as the count of lit cells in its field (not their positions), re-randomised every minute. The subject of this series; the name is a play on NIXie (Vol 1).
Unary / base-1Encoding a number as a plain count of marks — k lit cells means the digit k. The TIX encoding; contrast base-2 (binary), which is positional/weighted (Vol 1, §1.7).
VeroboardStripboard — a prototyping board of parallel copper strips. Both collected builds were first wired on Veroboard before (gweeds) moving to a custom PCB (Vol 6).

10.10 References (Vol 10)

All facts in this volume are condensed from Vols 1–9 and the two collected Instructables builds cited in §10.8; no new sources are introduced here. Engineering quick-references (the resistor formula, the 74HC595 pinout, the multiplex rules of thumb, the DS1302 → DS3231 upgrade) are standard part-and-circuit knowledge presented for bench use, grounded in the build details given in Vols 4–6. The Lantern-Clock.pdf misfiling is flagged in Vol 1 and repeated in §10.8 for the laminate.