What are some suggested displays (LCD) with Spark Core

peekay got it right. But be careful they allow you to order the spi option and parallel option but you can not have both. so don’t order the parallel option if you want spi.

I was just on the Adafruit forum and one member is having issues with their R8875 driver board. His is a speed issue but he also mentions:

“BTW - I was disappointed to see that a lot of the RA8875 functionality is available only through its parallel MCU interface, and not through SPI.”

This could be a show stopper for this chipset. I suspect, though, that it may be Adafruit’s library creating the constraint. I will investigate and post an update.

UPDATE: The member incorrectly interpreted the SPI functionality and assumed that since Adafruit did not have a FULL set of functions in its library, SPI was the limiting factor. As for performance concerns, I found that Adafruit had conservatively used DIV128 on their SPI clock, even though the RA8875 could most likely handle an SPI clock of 10 - 18MHz. :smile:

TimB has a buydisplay that is based on RA8875 and is working on a spi library for it.

Doug

UPDATE to my update. I missed a big one. One of the great features of the RA8875 is its Bit Transfer Engine (BTE) that allows you to do direct bulk transfer of data to and from the display. Unfortunately, it does not work with SPI! It only works with the parallel MCU interface. So caveat emptor if this a feature you expected.

dougleppard, Adafruit’s library is pretty generic and looks easy to port, if you don’t know that already :stuck_out_tongue:

bostonkiwi on the Adafruit forum did not have any luck making the RA8875 board get better performance. Here is what he had to say:

Well.... after spending a night twiddling with the library I've decided to move on  :( 

Here's what I found:
1) There's a moderate (not huge) improvement by taking the line color out of the call to drawLine().
2) Setting the CS line permanently low - I couldn't get it to work.
3) Deleting the call to waitPoll() in drawLine() is not a good idea - you end up with random lines missing.
I timed the polling wait time - it's 25 usec, which is not huge.
4) If you look at the library initialization, you will see that about 10 lines down from where the SPI clock
divider is set to SPI_CLOCK_DIV128, it is set again to SPI_CLOCK_DIV4 - so there's not much to be
gained there. I tried SPI_CLOCK_DIV2 but it seemed to make no difference.

I can double the refresh rate by using a filled rectangle to overwrite the previous line, but that makes the display flash - especially on the right hand side of the screen.

Having written a few complete graphics packages, I feel the primitives in the RA8875 leave quite a bit to be desired. For example, given the communication bottleneck it would be great if it had the concept of its current x-y position so that there could be function drawTo(x,y) with much reduced SPI transfers, and even better drawDelta(deltaX, deltaY) for single byte incremental coordinate transfers. And how about multi-segment lines, polygons, splines, Beziers etc?

On to bigger and better things,
Thanks,
Derek

Not encouraging. Unfortunately, he does not mention testing BTE over SPI. Perhaps when timb gets to his library we will know more.

:smile:

This is easy to fix! Just hook the 8-Bit interface up to a shift register and connect that to hardware SPI, problem fixed!

I moved 3 posts to an existing topic: I2C/LCD Hello World needed

2 Likes

Has anyone managed to get Adafruits SDD1351 library ported over to the core ? i wouldn’t know where to start. I’m wanting to use the 1.27" OLED display with the core

@johnwlawrence88, the code looks fairly straightforward and probably just some fixes to get it working on the spark core.

@peekay123 has done a great job porting the GFX library so that’s not a worry.

I’ll give it a shot first since no one has responded yet but gonna call in more resources when i’m stuck.

@ping me if you don’t hear from me. :wink:

Sorry for revive an old topic but I have to correct some wrong informations!
The RA8875 in SPI mode has ALL the functionalities of the parallel mode.
The max speed in SPI mode it’s clearly specified in datasheet. if a Xtal of 20Mhz it’s used (most common on any display) the max speed is: Write:6.67Mhz, Read:3.34Mhz (System clock/3(only write cycle), System clock/6(with read cycle)), driving at higher speed will result in a non working at all situation.
The RA8875 it’s very uncommon chip, it’s absolutely not capable of act as frame buffer so forget send video or send images, it’s incredible fast to drive geometric stuff thanks to his accellerated hardware engine and with displays 480x272 it can use layers with OR,NAND,etc. functions that allow magical stuff and all without using CPU resources!
But this come at a price, no frame buffer capabilities, relative slow SPI interface, timings are strictly (because the hardware engine, the CPU have to polling RA chip to understand when it has finished!) and a couple of bugs in MISO (and probably SCLK) that is not tristate so you will need an external circuit to use with other SPI devices.
But it has other uncommon stuff like a second very fast SPI bus that allow chip to use a Flash SPI chip and Font chip (but they need to be programmed in advance before connect to RA chip).
There’s another library out there apart the very basic adafruit one https://github.com/sumotoy/RA8875, it uses almost all functionalities and works with a lot of MCU’s

1 Like

Another note on the Adafruit library, it uses GFXlibrary for absolutely no reason! All the graphic capabilities of RA8875 are hardware as well the font rendering so using GFXlibrary it will only consume resources for nothing, also it has a weird initialization method (SPI speed < 1Mhz during initialization? Why?) and various errors, it also lack of a lot of important and unique features like layers (that is related to the RA8875 internal memory so it will not work with displays like 800x600).

1 Like

Hello @timb,

I’m trying to get this awesome 4" TFT SPI LCD working on the Photon. It also has a touchscreen, but the best part is that it is only $40 on Amazon and even cheaper at SpotPear.com.

The library the manufacturer recommends is FBTFT. Where you able to port it over?

Cheers!


http://spotpear.com/index.php/spotpear-raspberry-pi-lcd/spotpear-raspberry-pi-4-inch-lcd

Unfortunately I don’t believe that display will work with the Photon (although I may be wrong). That display looks like it’s designed for a full linux system (and the driver you linked to is a linux driver) like Raspberry Pi, and can probably not be driven by a microcontroller like the one in the Photon.

Oh man. That is (most probably) a bummer. :pensive:

Below is the schematic for the screen. I thought it was weird that it didn’t have a micro controller for the LCD (U2 is the controller for the touchscreen). Instead it has several level snifters and inverters.

@zack, looking at the schematic, you still think it won’t work with the Photon?

Thanks for the input!!

@sazp96, that display is really meant for the RPi and will not work with the Particle devices. I have projects that require an intelligent display with a touch screen so I pledged for this:

It is like a 4D Systems display but at a fraction of the cost. :smile:

1 Like

Got it. Thanks for the feedback guys!

@peekay123, Nextion’s 4.3" screen is pretty sweet and very affordable. Right now adding a 3" screen or bigger makes the BOM very expensive for IoT products. So, I just pledge for one myself :smile:

@sazp96, one reason I chose this display is that the creator indicated that they can supply volume quantities. :smiley:

High quality + Cheap + Scalable =

2 Likes

@peekay123 have you seen anyone here that ported the Arduino library for the Nextion 4.3 ? Or, even a Spark/Photon tutorial?
I got mine in the mail last week (sadly no time to plug it in) and the libary even 3D-printed the cover ‘case’ .
Might find some time to play with it soon.
t

1 Like

Yep the weather sample has been ported.
http://support.iteadstudio.com/support/discussions/topics/1000061186

2 Likes