I am currently troubleshooting the CRT monitor of an Olivetti typewriter that produces composite video at 70 Hz refresh rate. Weird? Indeed. Strange design choice, but I need to fix it to have a history-correct setup.
Since the ETV 2700 typewriter is quite bulky and takes up all my desk space I would like to have a small source of PAL composite video at 70 Hz to feed the CRT circuitry. I checked Arduino TVout library, which supports both NTSC (60 Hz) and PAL (50 Hz), but I see no way to fiddle with timings and even at 60 Hz it is already a stretch with very reduced resolution (I don't care).
Dead end? No, read on.
The clock on many Arduino-alike boards is set at 16 MHz, whereas the ATmega328 chip can be clocked up to 20 MHz. A program whose timers have been computed for 16 MHz at compile time, at 20 MHz it will run faster, therefore I will obtain a faster video signal.
So, this is the plan.
- Write an ATmega328 with a demo program of TVout library, as in a normal Arduino-alike board
- Test it against a known working screen that accepts composite video signal (probably your smartTV does)
- Change the fuses of ATmega328 to use an external clock
- Feed a variable frequency clock signal to get a linearly controllable composite video signal!
For a 70 Hz PAL I need a clock of 22.4 MHz, that the ATmega328P is likely to withstand peacefully (check online discussions about overclocking those Atmels). I will decide whether use a fixed clock source or some DDS with TTL output. In the latter case I will get a PAL signal with variable refresh rate from 1 Hz up to the maximum overclocking frequency of the microcontroller.
I need this tool because I also have a bare green phosphor CRT with control circuit that doesn't sync on the standard PAL. Who gave it to me mentioned some "trick" used by the manufacturer of that industrial system to do a form of vendor lock-in on spare parts or avoid clones, and a non-standard refresh rate now makes sense.