Scrolling with Raio 8835 (320x240 graphical)


New member
I am wanting to learn more about my LCD and controller and I have come across a problem where I think scrolling would best solve it.

I am trying to get a certain section of my LCD to scroll while have the rest stay stationary.

Towards the bottom of the figure there is a graph which will represent the amount of force read in my my microcontroller (right now that is just a bitmap). I would like this graph to represent a small amount of history which shows how you have been interacting with my device. I first though about doing this in software, where I had some large array of values and I redraw the 'graph' section every time I refreshed the display. Thinking that this will not give the best results (cause the lcd to flash) I thought that I might be able to do this with scrolling.

Looking through the manual....

Section 6-3-2 talks about setting up the screen block for the 'Character display' and 'Graphics display' where you set the address in memory that correspond to the beginning of each screen block.
Section 7-13 Scrolling, the manual says...
"The controlling microprocessor can set the RA8835 series scrolling modes by overwriting the scroll address registers SAD1 to SAD4, and by directly setting the scrolling mode and scrolling rate."
there is also a note at the end of this section...
"Note that in a divided screen, each block cannot be independently scrolled horizontally in pixel units."

Using the SCROLL options how do I set the hardware to scroll horizontally/set the scrolling rate? Can I even do this for one block of the screen (i.e. the section that will hold my 'graph')?

Also what do I send to the hardware to insert the new data and scroll out the old? I dont really understand if I would tell it to scroll and then add the data or the opposite.

Sorry if the question are hard to understand/poorly worded... I had a hard time figuring out what to ask, I am still a noob with LCD's.

Thanks for your help,
Looking for additional LCD resources? Check out our LCD blog for the latest developments in LCD technology.


I'll start by saying I have no experience with this display or controller chip. A look at the data sheet shows that you can have multiple graphics pages. To eliminate the flashing by doing software updates to do scrolling, you might try using alternating pages. Draw the image on one page, then draw the update on another page that is not currently visible, then change the visibility of the pages to swap them. Then do the next scroll update to the page just hidden, and swap them again, etc.