|Number of pixels||58|
|Grayscales / Colors||2|
|Contact person||Arne Rossius|
The SimpleClock is a 4-digit digital clock using an absolute minimum of components. The display consists of 58 red LEDs (2 per segment), connected to an 8-pin ATtiny13 microcontroller. The mains frequency is used as a time base, hence an AC-AC adapter (transformer) is required to power the clock. If a DC source is used, the time will stand still and the colon won't flash.
The LEDs are driven using a technique called "CharliePlexing Plus", explained in Tim's Blog. For the LEDs connected between an I/O pin and GND or Vcc, two LEDs must be connected in series for this technique to work. For the LEDs between I/Os, two LEDs are connected in parallel (and another two anti-parallel) to get 2 LEDs for every segment.
The internal resistance of the microcontroller's output pins is used for current limiting. As the ATtiny13 has some "weak" and some "strong" pins, the strong pins use external resistors to increase their resistance to match the weak pins.
The series and parallel connections result in different currents per LED. This is compensated for in software by turning on the LEDs with lower currents for a longer time.
The reset pin on the ATtiny13 has been reconfigured as an input for the timebase signal. The AC input voltage is fed to this pin through a low-pass filter. As the AC input voltage is unregulated, a diode clips it so it can't rise above Vcc (which would put the controller into high-voltage programming mode).