How to set PWM frequency to 1 Hz on an UNO

However, setting ICR1 and OCR1A doesn't make the output pin 9 get started. My test using dig.write( high, low) made it start. AnalogWrite also works. There is something I don't know fully.

The code I provided works on my Arduino Uno with update version 1.6.23, (I tested and checked the sketch on my scope before posting). It shouldn't be necessary to use either digitalWrite() or analogWrite().

Does analogWrite(9, x ) put the value of x into OCR1A?

Yes it does, but on the AVR boards analogWrite() is set-up for 8-bit phase correct PWM, where as we're using 16-bit fast PWM mode.

The range of x is 0..255 according to Arduino ref.. In that case setting OCR1A gives a higher precision in case that would be needed in the future

Using fast PWM mode with 16-bit timer 1, in this instance provides 15-bits of resolution (log(62499 + 1)/log(2)).