Path: Home => AVR-EN => Applications => Ticker 16-8 => Hardware schematics Logo
Ticker 16x8 logo

Text ticker with 16*8 LEDs and an ATtiny- or an ATmega-Controller

1 Hardware schematics

Those who are not familiar with 4094 CMOS shift registers can find more on those in the application here. There you'll also find more on the currents that the 4094 delivers if operated with 5V in Source and in Sink mode. Please uses the CMOS type only, never use 74HC4094 or even 74HCT4094 instead if you love your LEDs and you want to preserve them from heat death.

These schematics here work with 2mA-LED types only. Other LEDs do not provide enough light at those currents (see the booster version for those LEDs).

All four schematics are equipped with an ISP6 plug, the controller can be programmed via this interface. The 5V power supply can also be connected via this plug.

1.1 ATtiny24 from right to left

Right to left ticker with ATtiny24 This here is the first and most simple schematic. The ATtiny24 shifts eight single bits into the most right shift register (pin DATA of 4094-1).

With each shifting the highest bit in the shift register is shifted into the next 4094 (pin QS of 4094-1 to pin DATA of 4094-2). As all 4094 are connected like this, each clock pulse on the CLK pin shifts the highest bit to the next 4094. All CLK pins are driven by the I/O port pin PB1, so eight pulses on those inputs shift the whole column by one position to the left. The 16 shift registers so extend the storage space by 128 bits.

After all eight bits of the first column are shifted in, the STROBE or STB input pin of all 4094s is driven high for at least 1µs long. This latches the state of the shift registers within the 4094s.

On the ADC0 input pin of the ATtiny24 the potentiometer provides a voltage between 0 and 5V. The result of the AD conversion influences the pulse width on TC0's output pin OC0A, which switches all ENABLE pins of the 4094s and provides a brightness regulation for the LEDs.

The potentiometer on the ADC1 input pin of the ATtiny24 selects the text to be displayed on the LEDs. The text is stored in the flash memory of the ATtiny24 as a sequence of bytes to be displayed. The potentiometer switches between the up to 256 different texts (if those fit into the flash). If you run out of space space, use an ATtiny44 or 84 instead.

The potentiometer which is connected with input pin ADC2 of the ATtiny24 determines the speed of the display by increasing the frequency of the shift and by decreasing the time delay between those shift events.

When programming please consider that after eight shifts the content of all 4094s has been shifted one column to the left. And you'll have to detect the end of the text, so shifting has to restart from the beginning. And: if the text to be displayed has changed via potentiometer, an immediate stop and a restart of the display with the new text should go on.

All in all a nice task for a beginner in assembler. See the assembler software section for more hints.

1.2 ATtiny24 in any direction

Second version with ATtiny24 This is version 2 with the ATtiny24. In this version each CLK pulse transfers eight bits to the shift registers 1, 3, 5, 7, 9, 11, 13 and 15. The content of the odd shift registers is shifted into the even shift registers, so 16 shifts change the complete content of the shift registers. This version is fit for displaying any combination of displays, not only as a right-to-left ticker.

As all AD converter pins are occupied, no potentiometers can be attached. Only the brightness can be programmed in a fixed mode, because the ENABLE pins can be attached to pin OC0A. Text and speed adjustment finds not enough pins on the ATtiny24.

1.3 ATmega48 in all directions with regulators

Schematic of the ATmega48 version This version increases the text display speed, because the ATmega48 can transfer 16 bits per clock pulse into all 4094s.

The three regulating potentiometers are also available in this version.

Only the brightness admustment is not as simple, because no PWM output pin is available. So the ENABLE pin has to be pulsed by two interrupt service routines (Overflow and Compare match), that set and clear the PC5 output pin.

1.4 ATmega324 with regulators and PWM brightness control

Schematic of the ATmega324 version The second version with the ATtiny24 and the third version with the ATmega48 both lack a PWM output pin for brightness control. The ATmega324 used here has all this in a 40-pin package, with OC0A controlling the ENABLE pins of the 4094s.

And this version provides additional opportunities. On the two pins XTAL1 and XTAL2 a crystal can be attached to drive the controller with an exact clock frequency. This can be useful, if you want to build a clock application with ticker design. I that case the line "Tu, 15.02.22, 13:29:00" can be displayed in right-to-left and left-to-right shift mode. Pin INT2 on PB2 and PCINT on PB0 or/and PB1 can be used to attach two or three switches for manual adjustment of date and time.

Because the serial output to the 4094s is very fast here, the crystal can be a 32.768kHz, if your programmer can clock the ISP with 4kHz and below.

Which of the four version is best for your needs is up to your decision. The PCB supports all four versions, if you use some solderable enamed copper wire to connect the controller and the 4094s.
Main page Top of page Parts list PCBs Power supply Booster Assembler Designer


©2022 by http://www.avr-asm-tutorial.net