Thanks Richard,

Apart from that shortcoming, it works brilliantly with a PIC16.

My main aim was to maximise capabilities of the screen and secondly to gain attention to the observer as an alarm condition. I achieved the attention part by flashing the whole screen using:

if UVflag = 1 then ' Undervoltage.
gosub glcd_init ' Located in ssd1306_I2C.INC
pause 200
endif

and it works well whenever the flag is set, you've done a good job.

Thanks and regards,
Bill