No announcement yet.

Double Buffering

  • Filter
  • Time
  • Show
Clear All
new posts

  • Double Buffering


    I just read through a couple of posts from 2007-2008 regarding double buffering. The replies were that double buffering was not available on the microOLED-128-G1 at that time.

    Is double buffering available on the microOLED-128-G1 now?

    I have been told that this is the only way to really eliminate flickering.

    I am using a PIC24F and writing code in C.

    I am sending some data to a microOLED-128-G1. I have a WHITE background. In order to minimize flicker, I have written my code such that:

    [list type=decimal][*]Tx old value in white[*]Tx new value in red immediately
    after Tx in whitedo new calculations...and continue to loop through this algorithm[/list type=decimal]

    I still get some flicker, but minimal.

    I also increased the baud rate to 250k on the PIC24F, and I have also increased the oscillator frequency from 8MHz to 32MHz using the 4X PLL on the microcontroller. So I am pretty much maxed out on speed.

    Any other suggestions? TIA.


  • #2

    No there is no double buffering.

    You should NEVER have a bright backgound that is 'static' when using OLEDs. This will be contributing to your problem.

    How long do 3+4 take? You may need to stick a delay in there, make it fairly large, say 200ms and cut down until you reach a cutover point between speed and 'flickering'.


    • #3

      Dear Moderator,

      Will the bright WHITE background burn out the OLED?

      Will a GREEN background consume less power than a WHITE background? (I have not measured the current draw yet...)

      It is hard to measure the time for 3+4 with the MPLAB SIM tool. I cannot figure out how to get this tool to work with all of the peripherals involved in my circuit. But probably not more than a few milliseconds.




      • #4

        Well, since the color is made up of R+G+B then white is going to use, roughly, 3 times more power than green. There are two issues screen 'burn in' and 'life expectancy'. Any static images should be as 'dim' as possible, backgrounds should be avoided. Of course, I have no real idea of your needs.

        Err, so it takes many milliseconds to update your screen, then a few milliseconds to calculate the next set of values?

        You want to make it the other way around, try to leave the screen stable for as long as possible, so the eye can 'get' an image rather than a moving 'mess'. Put a 200ms delay after you have finished updating the screen and see what it looks like.